[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