> -----Original Message-----
> From: Lisovskiy, Stanislav <[email protected]>
> Sent: Wednesday, July 19, 2023 4:19 PM
> To: [email protected]
> Cc: Lisovskiy, Stanislav <[email protected]>; Saarinen, Jani
> <[email protected]>; Garg, Nemesa <[email protected]>
> Subject: [PATCH] drm/i915: Start using plane scale factor for relative data
> rate
> 
> BSpec clearly instructs us to use plane scale factor when calculating relative
> data rate to be used when allocating DDB blocks for each plane.
> For some reason we use scale factor for data_rate calculation, which is used
> for BW calculations, however we are not using it for DDB calculations.
> So lets fix it as described in BSpec 68907.
> 
> Signed-off-by: Stanislav Lisovskiy <[email protected]>
> ---
>  drivers/gpu/drm/i915/display/intel_atomic_plane.c | 7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_atomic_plane.c
> b/drivers/gpu/drm/i915/display/intel_atomic_plane.c
> index 7d9578ebae556..60a492e186ab8 100644
> --- a/drivers/gpu/drm/i915/display/intel_atomic_plane.c
> +++ b/drivers/gpu/drm/i915/display/intel_atomic_plane.c
> @@ -212,6 +212,7 @@ intel_plane_relative_data_rate(const struct
> intel_crtc_state *crtc_state,
>       struct intel_plane *plane = to_intel_plane(plane_state->uapi.plane);
>       const struct drm_framebuffer *fb = plane_state->hw.fb;
>       int width, height;
> +     unsigned int rel_data_rate;
> 
>       if (plane->id == PLANE_CURSOR)
>               return 0;
> @@ -241,7 +242,11 @@ intel_plane_relative_data_rate(const struct
> intel_crtc_state *crtc_state,
>               height /= 2;
>       }
> 
> -     return width * height * fb->format->cpp[color_plane];
> +     rel_data_rate = width * height * fb->format->cpp[color_plane];
> +
> +     return intel_adjusted_rate(&plane_state->uapi.src,
> +                                &plane_state->uapi.dst,
> +                                rel_data_rate);
>  }
> 
LGTM
Reviewed-by: Garg, Nemesa <[email protected]>

Thanks and Regards,
Nemesa
>  int intel_plane_calc_min_cdclk(struct intel_atomic_state *state,
> --
> 2.37.3

Reply via email to