From patchwork Thu Oct 3 08:01:14 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [TEST,v3,1/7] drm-tip: 2024y-09m-26d-07h-31m-35s UTC integration manifest From: Luca Coelho X-Patchwork-Id: 617857 Message-Id: <20241003080120.1254334-1-luciano.coelho@intel.com> To: intel-gfx-trybot@lists.freedesktop.org Date: Thu, 3 Oct 2024 11:01:14 +0300 From: Thomas Zimmermann --- integration-manifest | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 integration-manifest diff --git a/integration-manifest b/integration-manifest new file mode 100644 index 000000000000..e1fd74382d57 --- /dev/null +++ b/integration-manifest @@ -0,0 +1,28 @@ +drm drm-fixes 135be1dc46c64c454f2828dbb7f239d035f47180 + Merge tag 'drm-xe-fixes-2024-09-12' of https://gitlab.freedesktop.org/drm/xe/kernel into drm-fixes +drm-misc drm-misc-fixes ad604f0a4c040dcb8faf44dc72db25e457c28076 + firmware/sysfb: Disable sysfb for firmware buffers with unknown parent +drm-intel drm-intel-fixes 98f7e32f20d28ec452afb208f9cffc08448a2652 + Linux 6.11 +drm-xe drm-xe-fixes 98f7e32f20d28ec452afb208f9cffc08448a2652 + Linux 6.11 +drm drm-next d7126c0cfc137a580eba92bd82b6d288bd43961d + Merge tag 'drm-xe-next-fixes-2024-09-19' of https://gitlab.freedesktop.org/drm/xe/kernel into drm-next +drm-misc drm-misc-next-fixes ba2b9de0c1ac2abfbe663414a292c5881e64c361 + drm/tegra: fix potential uninitialized variable use +drm-intel drm-intel-next-fixes e860513f56d8428fcb2bd0282ac8ab691a53fc6c + drm/i915/dp: Fix colorimetry detection +drm-xe drm-xe-next-fixes 6c10ba06bb1b48acce6d4d9c1e33beb9954f1788 + drm/xe/oa: Fix overflow in oa batch buffer +drm-misc drm-misc-next 15499749fbb864cc0737bc8ecaf0e28a6b6d62dd + drm/omapdrm: Run DRM default client setup +drm-intel drm-intel-next e25c84e0abbeb164332d1b030323106979ef6593 + drm/i915: Set clear color block size to 0x0 +drm-intel drm-intel-gt-next aa944281bd00647dbef2f1b5e8a69e9ceebbc263 + drm/i915/gt: Fixed "CPU" -> "GPU" typo +drm-xe drm-xe-next fe4f5d4b661666a45b48fe7f95443f8fefc09c8c + drm/xe: Clean up VM / exec queue file lock usage. +drm-intel topic/core-for-CI 5794eadad18819238a802e44d6dea9882b62e011 + thunderbolt: Add Kconfig option to disable PCIe tunneling +drm-xe topic/xe-for-CI ec78e665e25834158bb45dd6c62452677cd5ceaf + drm/xe/guc: Pre-release GuC firmware v70.29.2 for PVC From patchwork Thu Oct 3 08:01:15 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [TEST,v3,2/7] WIP - fixing i915_driver_hw_remove() From: Luca Coelho X-Patchwork-Id: 617860 Message-Id: <20241003080120.1254334-2-luciano.coelho@intel.com> To: intel-gfx-trybot@lists.freedesktop.org Date: Thu, 3 Oct 2024 11:01:15 +0300 Signed-off-by: Luca Coelho --- drivers/gpu/drm/i915/i915_driver.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/i915/i915_driver.c b/drivers/gpu/drm/i915/i915_driver.c index 6dc0104a3e36..4caf11123d0c 100644 --- a/drivers/gpu/drm/i915/i915_driver.c +++ b/drivers/gpu/drm/i915/i915_driver.c @@ -582,6 +582,11 @@ static void i915_driver_hw_remove(struct drm_i915_private *dev_priv) struct intel_display *display = &dev_priv->display; struct pci_dev *pdev = to_pci_dev(dev_priv->drm.dev); + intel_memory_regions_driver_release(dev_priv); + i915_ggtt_driver_release(dev_priv); + i915_gem_drain_freed_objects(dev_priv); + i915_ggtt_driver_late_release(dev_priv); + i915_perf_fini(dev_priv); intel_opregion_cleanup(display); @@ -834,10 +839,6 @@ int i915_driver_probe(struct pci_dev *pdev, const struct pci_device_id *ent) intel_display_driver_remove_nogem(i915); out_cleanup_hw: i915_driver_hw_remove(i915); - intel_memory_regions_driver_release(i915); - i915_ggtt_driver_release(i915); - i915_gem_drain_freed_objects(i915); - i915_ggtt_driver_late_release(i915); out_cleanup_mmio: i915_driver_mmio_release(i915); out_runtime_pm_put: @@ -893,6 +894,7 @@ static void i915_driver_release(struct drm_device *dev) i915_gem_driver_release(dev_priv); + /* FIXME: This should a call to i915_driver_hw_remove() */ intel_memory_regions_driver_release(dev_priv); i915_ggtt_driver_release(dev_priv); i915_gem_drain_freed_objects(dev_priv); From patchwork Thu Oct 3 08:01:16 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [TEST,v3,3/7] WIP - fix call order in i915_driver_hw_remove() From: Luca Coelho X-Patchwork-Id: 617859 Message-Id: <20241003080120.1254334-3-luciano.coelho@intel.com> To: intel-gfx-trybot@lists.freedesktop.org Date: Thu, 3 Oct 2024 11:01:16 +0300 Signed-off-by: Luca Coelho --- drivers/gpu/drm/i915/i915_driver.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/drivers/gpu/drm/i915/i915_driver.c b/drivers/gpu/drm/i915/i915_driver.c index 4caf11123d0c..eac9fae80344 100644 --- a/drivers/gpu/drm/i915/i915_driver.c +++ b/drivers/gpu/drm/i915/i915_driver.c @@ -582,17 +582,17 @@ static void i915_driver_hw_remove(struct drm_i915_private *dev_priv) struct intel_display *display = &dev_priv->display; struct pci_dev *pdev = to_pci_dev(dev_priv->drm.dev); + intel_opregion_cleanup(display); + + if (pdev->msi_enabled) + pci_disable_msi(pdev); + intel_memory_regions_driver_release(dev_priv); i915_ggtt_driver_release(dev_priv); i915_gem_drain_freed_objects(dev_priv); i915_ggtt_driver_late_release(dev_priv); i915_perf_fini(dev_priv); - - intel_opregion_cleanup(display); - - if (pdev->msi_enabled) - pci_disable_msi(pdev); } /** @@ -878,6 +878,8 @@ void i915_driver_remove(struct drm_i915_private *i915) i915_driver_hw_remove(i915); + /* FIXME: Is i915_driver_mmio_release() needed here? */ + intel_runtime_pm_put(&i915->runtime_pm, wakeref); } From patchwork Thu Oct 3 08:01:17 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [TEST,v3,4/7] WIP - clean up the failpath in i915_driver_probe() part 1 From: Luca Coelho X-Patchwork-Id: 617858 Message-Id: <20241003080120.1254334-4-luciano.coelho@intel.com> To: intel-gfx-trybot@lists.freedesktop.org Date: Thu, 3 Oct 2024 11:01:17 +0300 Signed-off-by: Luca Coelho --- drivers/gpu/drm/i915/i915_driver.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/i915/i915_driver.c b/drivers/gpu/drm/i915/i915_driver.c index eac9fae80344..1ffb3c318c18 100644 --- a/drivers/gpu/drm/i915/i915_driver.c +++ b/drivers/gpu/drm/i915/i915_driver.c @@ -795,7 +795,7 @@ int i915_driver_probe(struct pci_dev *pdev, const struct pci_device_id *ent) ret = intel_irq_install(i915); if (ret) - goto out_cleanup_modeset; + goto out_cleanup_probe_noirq; ret = intel_display_driver_probe_nogem(i915); if (ret) @@ -803,7 +803,7 @@ int i915_driver_probe(struct pci_dev *pdev, const struct pci_device_id *ent) ret = i915_gem_init(i915); if (ret) - goto out_cleanup_modeset2; + goto out_cleanup_probe_nogem; ret = intel_pxp_init(i915); if (ret && ret != -ENODEV) @@ -827,15 +827,18 @@ int i915_driver_probe(struct pci_dev *pdev, const struct pci_device_id *ent) i915_gem_suspend(i915); i915_gem_driver_remove(i915); i915_gem_driver_release(i915); -out_cleanup_modeset2: +/* out_cleanup_modeset2: */ /* FIXME clean up the error path */ intel_display_driver_remove(i915); intel_irq_uninstall(i915); + drm_info(&i915->drm, "LUCA: i915_driver_probe cleanup line %d\n", __LINE__); intel_display_driver_remove_noirq(i915); goto out_cleanup_modeset; out_cleanup_irq: + drm_info(&i915->drm, "LUCA: i915_driver_probe cleanup line %d\n", __LINE__); intel_irq_uninstall(i915); out_cleanup_modeset: + drm_info(&i915->drm, "LUCA: i915_driver_probe cleanup line %d\n", __LINE__); intel_display_driver_remove_nogem(i915); out_cleanup_hw: i915_driver_hw_remove(i915); From patchwork Thu Oct 3 08:01:18 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [TEST,v3,5/7] WIP - sort intel_display_driver_remove_*() calls in i915_driver_remove() From: Luca Coelho X-Patchwork-Id: 617861 Message-Id: <20241003080120.1254334-5-luciano.coelho@intel.com> To: intel-gfx-trybot@lists.freedesktop.org Date: Thu, 3 Oct 2024 11:01:18 +0300 Signed-off-by: Luca Coelho --- drivers/gpu/drm/i915/i915_driver.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/i915/i915_driver.c b/drivers/gpu/drm/i915/i915_driver.c index 1ffb3c318c18..6b795a6f6e0d 100644 --- a/drivers/gpu/drm/i915/i915_driver.c +++ b/drivers/gpu/drm/i915/i915_driver.c @@ -870,15 +870,15 @@ void i915_driver_remove(struct drm_i915_private *i915) intel_display_driver_remove(i915); - intel_irq_uninstall(i915); - - intel_display_driver_remove_noirq(i915); - i915_reset_error_state(i915); i915_gem_driver_remove(i915); intel_display_driver_remove_nogem(i915); + intel_irq_uninstall(i915); + + intel_display_driver_remove_noirq(i915); + i915_driver_hw_remove(i915); /* FIXME: Is i915_driver_mmio_release() needed here? */ From patchwork Thu Oct 3 08:01:19 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [TEST,v3,6/7] WIP - fix small typo in i915_driver_register() From: Luca Coelho X-Patchwork-Id: 617862 Message-Id: <20241003080120.1254334-6-luciano.coelho@intel.com> To: intel-gfx-trybot@lists.freedesktop.org Date: Thu, 3 Oct 2024 11:01:19 +0300 Signed-off-by: Luca Coelho --- drivers/gpu/drm/i915/i915_driver.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/i915/i915_driver.c b/drivers/gpu/drm/i915/i915_driver.c index 6b795a6f6e0d..0935bb4ebd36 100644 --- a/drivers/gpu/drm/i915/i915_driver.c +++ b/drivers/gpu/drm/i915/i915_driver.c @@ -644,7 +644,7 @@ static void i915_driver_register(struct drm_i915_private *dev_priv) } /** - * i915_driver_unregister - cleanup the registration done in i915_driver_regiser() + * i915_driver_unregister - cleanup the registration done in i915_driver_register() * @dev_priv: device private */ static void i915_driver_unregister(struct drm_i915_private *dev_priv) From patchwork Thu Oct 3 08:01:20 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [TEST,v3,7/7] WIP - adding i915_ggtt_early_probe() From: Luca Coelho X-Patchwork-Id: 617863 Message-Id: <20241003080120.1254334-7-luciano.coelho@intel.com> To: intel-gfx-trybot@lists.freedesktop.org Date: Thu, 3 Oct 2024 11:01:20 +0300 Signed-off-by: Luca Coelho --- drivers/gpu/drm/i915/gt/intel_ggtt.c | 24 +++++++++++++++++++++--- drivers/gpu/drm/i915/gt/intel_gtt.h | 1 + drivers/gpu/drm/i915/i915_driver.c | 7 ++++++- 3 files changed, 28 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/i915/gt/intel_ggtt.c b/drivers/gpu/drm/i915/gt/intel_ggtt.c index d60a6ca0cae5..a180ec593c7c 100644 --- a/drivers/gpu/drm/i915/gt/intel_ggtt.c +++ b/drivers/gpu/drm/i915/gt/intel_ggtt.c @@ -1446,7 +1446,7 @@ static int gen6_gmch_probe(struct i915_ggtt *ggtt) return ggtt_probe_common(ggtt, size); } -static int ggtt_probe_hw(struct i915_ggtt *ggtt, struct intel_gt *gt) +static int ggtt_early_probe(struct i915_ggtt *ggtt, struct intel_gt *gt) { struct drm_i915_private *i915 = gt->i915; int ret; @@ -1468,6 +1468,13 @@ static int ggtt_probe_hw(struct i915_ggtt *ggtt, struct intel_gt *gt) return ret; } + return 0; +} + +static int ggtt_probe_hw(struct i915_ggtt *ggtt, struct intel_gt *gt) +{ + struct drm_i915_private *i915 = gt->i915; + if ((ggtt->vm.total - 1) >> 32) { drm_err(&i915->drm, "We never expected a Global GTT with more than 32bits" @@ -1497,10 +1504,10 @@ static int ggtt_probe_hw(struct i915_ggtt *ggtt, struct intel_gt *gt) } /** - * i915_ggtt_probe_hw - Probe GGTT hardware location + * i915_ggtt_early_probe - Set initial probe params * @i915: i915 device */ -int i915_ggtt_probe_hw(struct drm_i915_private *i915) +int i915_ggtt_early_probe(struct drm_i915_private *i915) { struct intel_gt *gt; int ret, i; @@ -1511,6 +1518,17 @@ int i915_ggtt_probe_hw(struct drm_i915_private *i915) return ret; } + return ggtt_early_probe(to_gt(i915)->ggtt, to_gt(i915)); +} + +/** + * i915_ggtt_probe_hw - Probe GGTT hardware location + * @i915: i915 device + */ +int i915_ggtt_probe_hw(struct drm_i915_private *i915) +{ + int ret; + ret = ggtt_probe_hw(to_gt(i915)->ggtt, to_gt(i915)); if (ret) return ret; diff --git a/drivers/gpu/drm/i915/gt/intel_gtt.h b/drivers/gpu/drm/i915/gt/intel_gtt.h index 6b85222ee3ea..ec60edebf497 100644 --- a/drivers/gpu/drm/i915/gt/intel_gtt.h +++ b/drivers/gpu/drm/i915/gt/intel_gtt.h @@ -590,6 +590,7 @@ void intel_ggtt_bind_vma(struct i915_address_space *vm, void intel_ggtt_unbind_vma(struct i915_address_space *vm, struct i915_vma_resource *vma_res); +int i915_ggtt_early_probe(struct drm_i915_private *i915); int i915_ggtt_probe_hw(struct drm_i915_private *i915); int i915_ggtt_init_hw(struct drm_i915_private *i915); int i915_ggtt_enable_hw(struct drm_i915_private *i915); diff --git a/drivers/gpu/drm/i915/i915_driver.c b/drivers/gpu/drm/i915/i915_driver.c index 0935bb4ebd36..0ff9051300a9 100644 --- a/drivers/gpu/drm/i915/i915_driver.c +++ b/drivers/gpu/drm/i915/i915_driver.c @@ -481,10 +481,14 @@ static int i915_driver_hw_probe(struct drm_i915_private *dev_priv) if (ret) return ret; - ret = i915_ggtt_probe_hw(dev_priv); + ret = i915_ggtt_early_probe(dev_priv); if (ret) goto err_perf; + ret = i915_ggtt_probe_hw(dev_priv); + if (ret) + goto err_early_probe; + ret = drm_aperture_remove_conflicting_pci_framebuffers(pdev, dev_priv->drm.driver); if (ret) goto err_ggtt; @@ -567,6 +571,7 @@ static int i915_driver_hw_probe(struct drm_i915_private *dev_priv) err_ggtt: i915_ggtt_driver_release(dev_priv); i915_gem_drain_freed_objects(dev_priv); +err_early_probe: i915_ggtt_driver_late_release(dev_priv); err_perf: i915_perf_fini(dev_priv);