[PATCH 2/3] drm/i915: create memory regions before ggtt probe
Robert Beckett
bob.beckett at collabora.com
Tue Feb 22 16:33:39 UTC 2022
To allow scratch page creation from system memory region during ggtt
probe, we need to have the memory regions created before ggtt probe
Signed-off-by: Robert Beckett <bob.beckett at collabora.com>
---
drivers/gpu/drm/i915/i915_driver.c | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_driver.c b/drivers/gpu/drm/i915/i915_driver.c
index 62b3f332bbf5..44ce4ecf375d 100644
--- a/drivers/gpu/drm/i915/i915_driver.c
+++ b/drivers/gpu/drm/i915/i915_driver.c
@@ -577,13 +577,17 @@ static int i915_driver_hw_probe(struct drm_i915_private *dev_priv)
i915_perf_init(dev_priv);
- ret = intel_gt_assign_ggtt(to_gt(dev_priv));
+ ret = intel_memory_regions_hw_probe(dev_priv);
if (ret)
goto err_perf;
+ ret = intel_gt_assign_ggtt(to_gt(dev_priv));
+ if (ret)
+ goto err_mem_regions;
+
ret = i915_ggtt_probe_hw(dev_priv);
if (ret)
- goto err_perf;
+ goto err_mem_regions;
ret = drm_aperture_remove_conflicting_pci_framebuffers(pdev, dev_priv->drm.driver);
if (ret)
@@ -593,10 +597,6 @@ 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);
- if (ret)
- goto err_ggtt;
-
ret = intel_gt_probe_lmem(to_gt(dev_priv));
if (ret)
goto err_mem_regions;
@@ -656,12 +656,12 @@ static int i915_driver_hw_probe(struct drm_i915_private *dev_priv)
err_msi:
if (pdev->msi_enabled)
pci_disable_msi(pdev);
-err_mem_regions:
- intel_memory_regions_driver_release(dev_priv);
err_ggtt:
i915_ggtt_driver_release(dev_priv);
i915_gem_drain_freed_objects(dev_priv);
i915_ggtt_driver_late_release(dev_priv);
+err_mem_regions:
+ intel_memory_regions_driver_release(dev_priv);
err_perf:
i915_perf_fini(dev_priv);
return ret;
--
2.25.1
More information about the Intel-gfx-trybot
mailing list