[PATCH 1/3] drm/i915/display: Add aux function pointer for fast wake sync pulse count
Jouni Högander
jouni.hogander at intel.com
Wed Feb 21 07:53:20 UTC 2024
ALPM AUX-Wake fast wake sync pulse count is needed by PSR to calculate IO
wake and fast wake lines.
Signed-off-by: Jouni Högander <jouni.hogander at intel.com>
---
drivers/gpu/drm/i915/display/intel_display_types.h | 6 ++++++
drivers/gpu/drm/i915/display/intel_dp_aux.c | 12 +++++++-----
2 files changed, 13 insertions(+), 5 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h
index 0d4012097db1..1231d374aeec 100644
--- a/drivers/gpu/drm/i915/display/intel_display_types.h
+++ b/drivers/gpu/drm/i915/display/intel_display_types.h
@@ -1798,6 +1798,12 @@ struct intel_dp {
u32 (*get_aux_send_ctl)(struct intel_dp *dp, int send_bytes,
u32 aux_clock_divider);
+ /*
+ * This function returns the number of fast wake sync pulses. It is
+ * needed by PSR code to calculate needed fast wake and io wake lines.
+ */
+ u8 (*get_aux_fw_sync_len)(void);
+
i915_reg_t (*aux_ch_ctl_reg)(struct intel_dp *dp);
i915_reg_t (*aux_ch_data_reg)(struct intel_dp *dp, int index);
diff --git a/drivers/gpu/drm/i915/display/intel_dp_aux.c b/drivers/gpu/drm/i915/display/intel_dp_aux.c
index 4f4a0e3b3114..fad39b2e3022 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_aux.c
+++ b/drivers/gpu/drm/i915/display/intel_dp_aux.c
@@ -143,10 +143,10 @@ static int intel_dp_aux_sync_len(void)
return precharge + preamble;
}
-static int intel_dp_aux_fw_sync_len(void)
+static u8 intel_dp_aux_fw_sync_len(void)
{
- int precharge = 10; /* 10-16 */
- int preamble = 8;
+ u8 precharge = 10; /* 10-16 */
+ u8 preamble = 8;
return precharge + preamble;
}
@@ -793,10 +793,12 @@ void intel_dp_aux_init(struct intel_dp *intel_dp)
else
intel_dp->get_aux_clock_divider = g4x_get_aux_clock_divider;
- if (DISPLAY_VER(i915) >= 9)
+ if (DISPLAY_VER(i915) >= 9) {
intel_dp->get_aux_send_ctl = skl_get_aux_send_ctl;
- else
+ intel_dp->get_aux_fw_sync_len = intel_dp_aux_fw_sync_len;
+ } else {
intel_dp->get_aux_send_ctl = g4x_get_aux_send_ctl;
+ }
intel_dp->aux.drm_dev = &i915->drm;
drm_dp_aux_init(&intel_dp->aux);
--
2.34.1
More information about the Intel-gfx
mailing list