mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-11 00:42:56 -04:00
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 <stanislav.lisovskiy@intel.com> Reviewed-by: Garg, Nemesa <nemesa.garg@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20230719104833.25366-1-stanislav.lisovskiy@intel.com
This commit is contained in:
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user