[PATCH v13 1/3] drm/i915/vrr: Add helper to check if vrr possible
Ville Syrjälä
ville.syrjala at linux.intel.com
Wed Oct 9 07:24:35 UTC 2024
On Tue, Oct 01, 2024 at 07:17:01PM +0530, Mitul Golani wrote:
> Add helper to check if vrr is possible based on flipline
> is computed.
>
> Signed-off-by: Mitul Golani <mitulkumar.ajitkumar.golani at intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_vrr.c | 7 ++++++-
> drivers/gpu/drm/i915/display/intel_vrr.h | 1 +
> 2 files changed, 7 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_vrr.c b/drivers/gpu/drm/i915/display/intel_vrr.c
> index 9a51f5bac307..79db30e31324 100644
> --- a/drivers/gpu/drm/i915/display/intel_vrr.c
> +++ b/drivers/gpu/drm/i915/display/intel_vrr.c
> @@ -56,6 +56,11 @@ bool intel_vrr_is_in_range(struct intel_connector *connector, int vrefresh)
> vrefresh <= info->monitor_range.max_vfreq;
> }
>
> +bool intel_vrr_possible(const struct intel_crtc_state *crtc_state)
> +{
> + return (crtc_state->vrr.flipline) ? true : false;
That can be just 'return crtc_state->vrr.flipline;',
of 'return crtc_state->vrr.flipline != 0;' if you prefer.
> +}
> +
> void
> intel_vrr_check_modeset(struct intel_atomic_state *state)
> {
> @@ -281,7 +286,7 @@ void intel_vrr_set_transcoder_timings(const struct intel_crtc_state *crtc_state)
> intel_de_rmw(display, CHICKEN_TRANS(cpu_transcoder),
> 0, PIPE_VBLANK_WITH_DELAY);
>
> - if (!crtc_state->vrr.flipline) {
> + if (!intel_vrr_possible(crtc_state)) {
Hmm. Looks like we have a fairly big mess with the AS SDP
and CMRR stuff when it comes to programming the hardware
vs. readout. But that's not the fault of this patch obviously.
> intel_de_write(display,
> TRANS_VRR_CTL(display, cpu_transcoder), 0);
> return;
> diff --git a/drivers/gpu/drm/i915/display/intel_vrr.h b/drivers/gpu/drm/i915/display/intel_vrr.h
> index 89937858200d..af921dda4619 100644
> --- a/drivers/gpu/drm/i915/display/intel_vrr.h
> +++ b/drivers/gpu/drm/i915/display/intel_vrr.h
> @@ -15,6 +15,7 @@ struct intel_crtc_state;
>
> bool intel_vrr_is_capable(struct intel_connector *connector);
> bool intel_vrr_is_in_range(struct intel_connector *connector, int vrefresh);
> +bool intel_vrr_possible(const struct intel_crtc_state *crtc_state);
> void intel_vrr_check_modeset(struct intel_atomic_state *state);
> void intel_vrr_compute_config(struct intel_crtc_state *crtc_state,
> struct drm_connector_state *conn_state);
> --
> 2.46.0
--
Ville Syrjälä
Intel
More information about the Intel-gfx
mailing list