[PATCH 3/8] drm/i915/sbi: move sbi_lock under struct intel_display

Jani Nikula jani.nikula at intel.com
Tue May 13 12:17:02 UTC 2025


With SBI under display, also move sbi_lock to display->sbi.lock.

Signed-off-by: Jani Nikula <jani.nikula at intel.com>
---
 .../gpu/drm/i915/display/intel_display_core.h  |  5 +++++
 drivers/gpu/drm/i915/display/intel_sbi.c       | 18 +++++-------------
 drivers/gpu/drm/i915/i915_drv.h                |  3 ---
 3 files changed, 10 insertions(+), 16 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_display_core.h b/drivers/gpu/drm/i915/display/intel_display_core.h
index b4937e102360..6c822de055f0 100644
--- a/drivers/gpu/drm/i915/display/intel_display_core.h
+++ b/drivers/gpu/drm/i915/display/intel_display_core.h
@@ -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
diff --git a/drivers/gpu/drm/i915/display/intel_sbi.c b/drivers/gpu/drm/i915/display/intel_sbi.c
index 0666acfd5a10..b5d601ce63f6 100644
--- a/drivers/gpu/drm/i915/display/intel_sbi.c
+++ b/drivers/gpu/drm/i915/display/intel_sbi.c
@@ -18,7 +18,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,
@@ -58,16 +58,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,
@@ -88,14 +84,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);
 }
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 93b4c504b710..6002806d4a3b 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -224,9 +224,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 */
-- 
2.39.5



More information about the Intel-gfx mailing list