]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/i915/sbi: move sbi_lock under struct intel_display
authorJani Nikula <jani.nikula@intel.com>
Tue, 27 May 2025 10:59:09 +0000 (13:59 +0300)
committerJani Nikula <jani.nikula@intel.com>
Wed, 4 Jun 2025 13:28:31 +0000 (16:28 +0300)
With SBI under display, also move sbi_lock to display->sbi.lock.

Reviewed-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/838fa712fc8a691a3f9427e5f4ed551bd1c62c49.1748343520.git.jani.nikula@intel.com
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
drivers/gpu/drm/i915/display/intel_display_core.h
drivers/gpu/drm/i915/display/intel_sbi.c
drivers/gpu/drm/i915/i915_drv.h

index 5f5dd2722d99cbfc1aa7a7612fa1616b1f474d3c..32cb0e59c81ea64a8f30adb90a4c9d13c8deb87d 100644 (file)
@@ -538,6 +538,11 @@ struct intel_display {
                u32 block_time_us;
        } sagv;
 
+       struct {
+               /* LPT/WPT IOSF sideband protection */
+               struct mutex lock;
+       } sbi;
+
        struct {
                /*
                 * DG2: Mask of PHYs that were not calibrated by the firmware
index 4b97be7da5c326f5202d0cd68cf9308a4695ba7e..198a1ad280e283e0cb00264954d1172be537035b 100644 (file)
@@ -19,7 +19,7 @@ static int intel_sbi_rw(struct intel_display *display, u16 reg,
        struct intel_uncore *uncore = &i915->uncore;
        u32 cmd;
 
-       lockdep_assert_held(&i915->sbi_lock);
+       lockdep_assert_held(&display->sbi.lock);
 
        if (intel_wait_for_register_fw(uncore,
                                       SBI_CTL_STAT, SBI_BUSY, 0,
@@ -59,16 +59,12 @@ static int intel_sbi_rw(struct intel_display *display, u16 reg,
 
 void intel_sbi_lock(struct intel_display *display)
 {
-       struct drm_i915_private *i915 = to_i915(display->drm);
-
-       mutex_lock(&i915->sbi_lock);
+       mutex_lock(&display->sbi.lock);
 }
 
 void intel_sbi_unlock(struct intel_display *display)
 {
-       struct drm_i915_private *i915 = to_i915(display->drm);
-
-       mutex_unlock(&i915->sbi_lock);
+       mutex_unlock(&display->sbi.lock);
 }
 
 u32 intel_sbi_read(struct intel_display *display, u16 reg,
@@ -89,14 +85,10 @@ void intel_sbi_write(struct intel_display *display, u16 reg, u32 value,
 
 void intel_sbi_init(struct intel_display *display)
 {
-       struct drm_i915_private *i915 = to_i915(display->drm);
-
-       mutex_init(&i915->sbi_lock);
+       mutex_init(&display->sbi.lock);
 }
 
 void intel_sbi_fini(struct intel_display *display)
 {
-       struct drm_i915_private *i915 = to_i915(display->drm);
-
-       mutex_destroy(&i915->sbi_lock);
+       mutex_destroy(&display->sbi.lock);
 }
index b6c632bd522cd2f1c7a62e79034bbe54d23b8414..455548cbd82066d9f008ea00d880bc4f184ceb43 100644 (file)
@@ -223,9 +223,6 @@ struct drm_i915_private {
 
        bool irqs_enabled;
 
-       /* LPT/WPT IOSF sideband protection */
-       struct mutex sbi_lock;
-
        /* VLV/CHV IOSF sideband */
        struct {
                struct mutex lock; /* protect sideband access */