drm/i915: probe lmem before the stolen portion
authorMatthew Auld <matthew.auld@intel.com>
Fri, 27 Jan 2023 16:03:21 +0000 (16:03 +0000)
committerMatthew Auld <matthew.auld@intel.com>
Fri, 24 Feb 2023 11:37:57 +0000 (11:37 +0000)
At the very least, we have some tests that force the BAR size for
testing purposes, which would result in different BAR size with
stolen-lmem vs normal lmem, since the BAR is only resized as part of the
normal lmem probing.

Signed-off-by: Matthew Auld <matthew.auld@intel.com>
Cc: Andrzej Hajda <andrzej.hajda@intel.com>
Cc: Nirmoy Das <nirmoy.das@intel.com>
Reviewed-by: Andi Shyti <andi.shyti@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230127160321.374350-1-matthew.auld@intel.com
drivers/gpu/drm/i915/i915_driver.c

index c1e427b..19983b7 100644 (file)
@@ -624,13 +624,17 @@ static int i915_driver_hw_probe(struct drm_i915_private *dev_priv)
        if (ret)
                goto err_ggtt;
 
-       ret = intel_memory_regions_hw_probe(dev_priv);
+       /*
+        * Make sure we probe lmem before we probe stolen-lmem. The BAR size
+        * might be different due to bar resizing.
+        */
+       ret = intel_gt_tiles_init(dev_priv);
        if (ret)
                goto err_ggtt;
 
-       ret = intel_gt_tiles_init(dev_priv);
+       ret = intel_memory_regions_hw_probe(dev_priv);
        if (ret)
-               goto err_mem_regions;
+               goto err_ggtt;
 
        ret = i915_ggtt_enable_hw(dev_priv);
        if (ret) {