[PATCH 06/14] drm/i915/dsb: Fix dewake scanline
Manna, Animesh
animesh.manna at intel.com
Wed Jul 3 05:59:55 UTC 2024
> -----Original Message-----
> From: Intel-gfx <intel-gfx-bounces at lists.freedesktop.org> On Behalf Of Ville
> Syrjala
> Sent: Tuesday, June 25, 2024 12:40 AM
> To: intel-gfx at lists.freedesktop.org
> Subject: [PATCH 06/14] drm/i915/dsb: Fix dewake scanline
>
> From: Ville Syrjälä <ville.syrjala at linux.intel.com>
>
> Currently we calculate the DEwake scanline based on the delayed vblank
> start, while in reality it should be computed based on the undelayed vblank
> start (as that is where the DSB actually starts). Currently it doesn't really
> matter as we don't have any vblank delay configured, but that may change in
> the future so let's be accurate in what we do.
>
> We can also remove the max() as intel_crtc_scanline_to_hw() can deal with
> negative numbers, which there really shouldn't be anyway.
>
> Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
Reviewed-by: Animesh Manna <animesh.manna at intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_dsb.c | 10 ++--------
> 1 file changed, 2 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_dsb.c
> b/drivers/gpu/drm/i915/display/intel_dsb.c
> index d3e5e5263603..e871af5517b5 100644
> --- a/drivers/gpu/drm/i915/display/intel_dsb.c
> +++ b/drivers/gpu/drm/i915/display/intel_dsb.c
> @@ -86,16 +86,10 @@ struct intel_dsb {
> static int dsb_dewake_scanline(const struct intel_crtc_state *crtc_state) {
> struct drm_i915_private *i915 = to_i915(crtc_state->uapi.crtc->dev);
> - const struct drm_display_mode *adjusted_mode = &crtc_state-
> >hw.adjusted_mode;
> unsigned int latency = skl_watermark_max_latency(i915, 0);
> - int vblank_start;
>
> - if (crtc_state->vrr.enable)
> - vblank_start = intel_vrr_vmin_vblank_start(crtc_state);
> - else
> - vblank_start = intel_mode_vblank_start(adjusted_mode);
> -
> - return max(0, vblank_start -
> intel_usecs_to_scanlines(adjusted_mode, latency));
> + return intel_mode_vdisplay(&crtc_state->hw.adjusted_mode) -
> + intel_usecs_to_scanlines(&crtc_state->hw.adjusted_mode,
> latency);
> }
>
> static u32 dsb_chicken(struct intel_crtc *crtc)
> --
> 2.44.2
More information about the Intel-gfx
mailing list