[PATCH 1/2] drm/i915/display: Avoid reading as sdp caps during each atomic commit
Jani Nikula
jani.nikula at linux.intel.com
Tue Jul 2 08:15:03 UTC 2024
On Tue, 02 Jul 2024, Mitul Golani <mitulkumar.ajitkumar.golani at intel.com> wrote:
> Add new member to struct intel_dp to cache support of Adaptive Sync
> SDP capabilities and use it whenever required to avoid HW access
> to read capability during each atomic commit.
Every commit must work. This breaks adaptive sync. Nothing sets
intel_dp->as_sdp_supported.
Just squash the two patches together.
BR,
Jani.
>
> Signed-off-by: Mitul Golani <mitulkumar.ajitkumar.golani at intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_alpm.c | 2 +-
> drivers/gpu/drm/i915/display/intel_display_types.h | 1 +
> drivers/gpu/drm/i915/display/intel_dp.c | 3 +--
> drivers/gpu/drm/i915/display/intel_vrr.c | 3 +--
> 4 files changed, 4 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_alpm.c b/drivers/gpu/drm/i915/display/intel_alpm.c
> index 866b3b409c4d..f4f05a859379 100644
> --- a/drivers/gpu/drm/i915/display/intel_alpm.c
> +++ b/drivers/gpu/drm/i915/display/intel_alpm.c
> @@ -280,7 +280,7 @@ void intel_alpm_lobf_compute_config(struct intel_dp *intel_dp,
> if (DISPLAY_VER(i915) < 20)
> return;
>
> - if (!intel_dp_as_sdp_supported(intel_dp))
> + if (!intel_dp->as_sdp_supported)
> return;
>
> if (crtc_state->has_psr)
> diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h
> index 8713835e2307..a9d2acdc51a4 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_types.h
> +++ b/drivers/gpu/drm/i915/display/intel_display_types.h
> @@ -1806,6 +1806,7 @@ struct intel_dp {
>
> /* connector directly attached - won't be use for modeset in mst world */
> struct intel_connector *attached_connector;
> + bool as_sdp_supported;
>
> struct drm_dp_tunnel *tunnel;
> bool tunnel_suspended:1;
> diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
> index 3903f6ead6e6..c6f0a46a0388 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp.c
> @@ -2625,8 +2625,7 @@ static void intel_dp_compute_as_sdp(struct intel_dp *intel_dp,
> const struct drm_display_mode *adjusted_mode =
> &crtc_state->hw.adjusted_mode;
>
> - if (!crtc_state->vrr.enable ||
> - !intel_dp_as_sdp_supported(intel_dp))
> + if (!crtc_state->vrr.enable || intel_dp->as_sdp_supported)
> return;
>
> crtc_state->infoframes.enable |= intel_hdmi_infoframe_enable(DP_SDP_ADAPTIVE_SYNC);
> diff --git a/drivers/gpu/drm/i915/display/intel_vrr.c b/drivers/gpu/drm/i915/display/intel_vrr.c
> index 5a0da64c7db3..7e1d9c718214 100644
> --- a/drivers/gpu/drm/i915/display/intel_vrr.c
> +++ b/drivers/gpu/drm/i915/display/intel_vrr.c
> @@ -233,8 +233,7 @@ intel_vrr_compute_config(struct intel_crtc_state *crtc_state,
> crtc_state->mode_flags |= I915_MODE_FLAG_VRR;
> }
>
> - if (intel_dp_as_sdp_supported(intel_dp) &&
> - crtc_state->vrr.enable) {
> + if (intel_dp->as_sdp_supported && crtc_state->vrr.enable) {
> crtc_state->vrr.vsync_start =
> (crtc_state->hw.adjusted_mode.crtc_vtotal -
> crtc_state->hw.adjusted_mode.vsync_start);
--
Jani Nikula, Intel
More information about the Intel-gfx
mailing list