[PATCH 2/2] drm/amd/display: add cursor pitch check
Kazlauskas, Nicholas
nicholas.kazlauskas at amd.com
Wed Dec 2 21:33:17 UTC 2020
On 2020-12-02 4:09 p.m., Simon Ser wrote:
> Replace the width check with a pitch check, which matches DM internals.
> Add a new check to make sure the pitch (in pixels) matches the width.
>
> Signed-off-by: Simon Ser <contact at emersion.fr>
> Cc: Alex Deucher <alexander.deucher at amd.com>
> Cc: Harry Wentland <hwentlan at amd.com>
> Cc: Nicholas Kazlauskas <nicholas.kazlauskas at amd.com>
Series is:
Reviewed-by: Nicholas Kazlauskas <nicholas.kazlauskas at amd.com>
Regards,
Nicholas Kazlauskas
> ---
> .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 19 +++++++++++++++----
> 1 file changed, 15 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> index 9e328101187e..862a59703060 100644
> --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> @@ -8988,6 +8988,7 @@ static int dm_update_plane_state(struct dc *dc,
> struct amdgpu_crtc *new_acrtc;
> bool needs_reset;
> int ret = 0;
> + unsigned int pitch;
>
>
> new_plane_crtc = new_plane_state->crtc;
> @@ -9021,15 +9022,25 @@ static int dm_update_plane_state(struct dc *dc,
> return -EINVAL;
> }
>
> - switch (new_plane_state->fb->width) {
> + /* Pitch in pixels */
> + pitch = new_plane_state->fb->pitches[0] / new_plane_state->fb->format->cpp[0];
> +
> + if (new_plane_state->fb->width != pitch) {
> + DRM_DEBUG_ATOMIC("Cursor FB width %d doesn't match pitch %d",
> + new_plane_state->fb->width,
> + pitch);
> + return -EINVAL;
> + }
> +
> + switch (pitch) {
> case 64:
> case 128:
> case 256:
> - /* FB width is supported by cursor plane */
> + /* FB pitch is supported by cursor plane */
> break;
> default:
> - DRM_DEBUG_ATOMIC("Bad cursor FB width %d\n",
> - new_plane_state->fb->width);
> + DRM_DEBUG_ATOMIC("Bad cursor FB pitch %d px\n",
> + pitch);
> return -EINVAL;
> }
> }
>
More information about the amd-gfx
mailing list