drm/i915/pch: move PCH detection to intel_display_driver_early_probe()
authorJani Nikula <jani.nikula@intel.com>
Fri, 11 Apr 2025 09:54:13 +0000 (12:54 +0300)
committerJani Nikula <jani.nikula@intel.com>
Sat, 12 Apr 2025 08:15:13 +0000 (11:15 +0300)
Make PCH detection part of display. For now, call it also for
!HAS_DISPLAY() to avoid functional changes here.

Reviewed-by: Lucas De Marchi <lucas.demarchi@intel.com>
Link: https://lore.kernel.org/r/de70b35b170c9a74edddb497a209eb10427b77de.1744364975.git.jani.nikula@intel.com
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
drivers/gpu/drm/i915/display/intel_display_driver.c
drivers/gpu/drm/i915/display/intel_pch.c
drivers/gpu/drm/i915/display/intel_pch.h
drivers/gpu/drm/i915/i915_driver.c
drivers/gpu/drm/xe/display/xe_display.c

index efee8925987e56fb2451c88ea3033ca4e9e8da7f..e4192f6cb0c7550404b3d9c7bca9dadf946aae8c 100644 (file)
@@ -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;
 
index e63480dd01fe9010ccffed56cd626dd33201f49c..c5045d2527b449ec4c3150df059ce1706dc45fcf 100644 (file)
@@ -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;
index b2b309a9fe6b841686166b6717a9fafdaf7fa4ff..cf4dab1b98bf0b3f359ea7d561dafcd9286e6e6e 100644 (file)
@@ -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__ */
index 787a9864c687eaef9d0ce631acffd03846332c2f..97ff9855b5de0b3dc0ac1e338acf6fba30930ad9 100644 (file)
@@ -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);
index 5d137356a587559db039a5bc684897fb18f12e69..762f5c423faf2b4dbe83a3ee60a2798fcf37168d 100644 (file)
@@ -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.. */