[Intel-gfx] [PATCH] drm/i915: Start using plane scale factor for relative data rate
Lisovskiy, Stanislav
stanislav.lisovskiy at intel.com
Thu Jul 20 08:02:16 UTC 2023
On Wed, Jul 19, 2023 at 01:48:33PM +0300, Stanislav Lisovskiy wrote:
> 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 <stanislav.lisovskiy at intel.com>
> ---
> 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);
> }
>
> int intel_plane_calc_min_cdclk(struct intel_atomic_state *state,
> --
> 2.37.3
>
IGT failures are irrelevant here(test is aborted due to some timeout issue).
More information about the Intel-gfx
mailing list