[PATCH 3/4] drm/i915/pch: move PCH detection to intel_display_driver_early_probe()

Jani Nikula jani.nikula at intel.com
Fri Apr 11 09:54:13 UTC 2025


Make PCH detection part of display. For now, call it also for
!HAS_DISPLAY() to avoid functional changes here.

Signed-off-by: Jani Nikula <jani.nikula at intel.com>
---
 drivers/gpu/drm/i915/display/intel_display_driver.c | 3 +++
 drivers/gpu/drm/i915/display/intel_pch.c            | 2 +-
 drivers/gpu/drm/i915/display/intel_pch.h            | 2 +-
 drivers/gpu/drm/i915/i915_driver.c                  | 3 ---
 drivers/gpu/drm/xe/display/xe_display.c             | 3 ---
 5 files changed, 5 insertions(+), 8 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_display_driver.c b/drivers/gpu/drm/i915/display/intel_display_driver.c
index efee8925987e..e4192f6cb0c7 100644
--- a/drivers/gpu/drm/i915/display/intel_display_driver.c
+++ b/drivers/gpu/drm/i915/display/intel_display_driver.c
@@ -180,6 +180,9 @@ static void intel_plane_possible_crtcs_init(struct intel_display *display)
 
 void intel_display_driver_early_probe(struct intel_display *display)
 {
+	/* This must be called before any calls to HAS_PCH_* */
+	intel_pch_detect(display);
+
 	if (!HAS_DISPLAY(display))
 		return;
 
diff --git a/drivers/gpu/drm/i915/display/intel_pch.c b/drivers/gpu/drm/i915/display/intel_pch.c
index e63480dd01fe..c5045d2527b4 100644
--- a/drivers/gpu/drm/i915/display/intel_pch.c
+++ b/drivers/gpu/drm/i915/display/intel_pch.c
@@ -250,7 +250,7 @@ intel_virt_detect_pch(const struct intel_display *display,
 	*pch_id = id;
 }
 
-void intel_detect_pch(struct intel_display *display)
+void intel_pch_detect(struct intel_display *display)
 {
 	struct pci_dev *pch = NULL;
 	unsigned short id;
diff --git a/drivers/gpu/drm/i915/display/intel_pch.h b/drivers/gpu/drm/i915/display/intel_pch.h
index b2b309a9fe6b..cf4dab1b98bf 100644
--- a/drivers/gpu/drm/i915/display/intel_pch.h
+++ b/drivers/gpu/drm/i915/display/intel_pch.h
@@ -53,6 +53,6 @@ enum intel_pch {
 #define HAS_PCH_NOP(display)			(INTEL_PCH_TYPE(display) == PCH_NOP)
 #define HAS_PCH_SPLIT(display)			(INTEL_PCH_TYPE(display) != PCH_NONE)
 
-void intel_detect_pch(struct intel_display *display);
+void intel_pch_detect(struct intel_display *display);
 
 #endif /* __INTEL_PCH__ */
diff --git a/drivers/gpu/drm/i915/i915_driver.c b/drivers/gpu/drm/i915/i915_driver.c
index 787a9864c687..97ff9855b5de 100644
--- a/drivers/gpu/drm/i915/i915_driver.c
+++ b/drivers/gpu/drm/i915/i915_driver.c
@@ -263,9 +263,6 @@ static int i915_driver_early_probe(struct drm_i915_private *dev_priv)
 
 	i915_gem_init_early(dev_priv);
 
-	/* This must be called before any calls to HAS_PCH_* */
-	intel_detect_pch(display);
-
 	intel_irq_init(dev_priv);
 	intel_display_driver_early_probe(display);
 	intel_clock_gating_hooks_init(dev_priv);
diff --git a/drivers/gpu/drm/xe/display/xe_display.c b/drivers/gpu/drm/xe/display/xe_display.c
index 45836fca51d8..68f064f33d4b 100644
--- a/drivers/gpu/drm/xe/display/xe_display.c
+++ b/drivers/gpu/drm/xe/display/xe_display.c
@@ -133,9 +133,6 @@ int xe_display_init_early(struct xe_device *xe)
 	/* Fake uncore lock */
 	spin_lock_init(&xe->uncore.lock);
 
-	/* This must be called before any calls to HAS_PCH_* */
-	intel_detect_pch(display);
-
 	intel_display_driver_early_probe(display);
 
 	/* Early display init.. */
-- 
2.39.5



More information about the Intel-gfx mailing list