[RESEND 3/8] drm/i915/sbi: move sbi_lock under struct intel_display
Jani Nikula
jani.nikula at intel.com
Tue May 27 10:59:09 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 5f5dd2722d99..32cb0e59c81e 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 4b97be7da5c3..198a1ad280e2 100644
--- a/drivers/gpu/drm/i915/display/intel_sbi.c
+++ b/drivers/gpu/drm/i915/display/intel_sbi.c
@@ -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);
}
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index b6c632bd522c..455548cbd820 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -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 */
--
2.39.5
More information about the Intel-xe
mailing list