RE: [PATCH 4/4] drm/amdgpu: Fix UVD min buffer sizes

"Liu, Leo" <[email protected]> Wed, 5 Aug 2026 14:57:29 +0000
Newsgroups org.freedesktop.lists.amd-gfx
Message-ID <IA1PR12MB7568C9C1B2A033B92BBADCEDE5D32@IA1PR12MB7568.namprd12.prod.outlook.com>
AMD General

The series is:
Acked-by: Leo Liu <[email protected]>

> -----Original Message-----
> From: amd-gfx <[email protected]> On Behalf Of
> David Rosca
> Sent: July 30, 2026 1:03 PM
> To: [email protected]
> Cc: Rosca, David <[email protected]>
> Subject: [PATCH 4/4] drm/amdgpu: Fix UVD min buffer sizes
>
> Use correct size for message buffer = sizeof(struct ruvd_msg).
> Add ITSCALING_TABLE_BUFFER size.
>
> Signed-off-by: David Rosca <[email protected]>
> ---
>  drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c | 12 +++++++-----
>  1 file changed, 7 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c
> b/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c
> index 947a6cd45881..e2d0f23d48aa 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c
> @@ -918,15 +918,16 @@ static int amdgpu_uvd_cs_pass2(struct
> amdgpu_uvd_cs_ctx *ctx)
>                                 ctx->buf_sizes[cmd]);
>                       return -EINVAL;
>               }
> +     } else if (cmd == 0x204 || cmd == 0x206) {
> +             unsigned int min_size = ctx->buf_sizes[cmd == 0x204 ? 5 : 4];
>
> -     } else if (cmd == 0x206) {
> -             if ((end - start) < ctx->buf_sizes[4]) {
> +             if ((end - start) < min_size) {
>                       DRM_ERROR("buffer (%d) to small (%d / %d)!\n",
> cmd,
>                                         (unsigned int)(end - start),
> -                                       ctx->buf_sizes[4]);
> +                                       min_size);
>                       return -EINVAL;
>               }
> -     } else if ((cmd != 0x100) && (cmd != 0x204)) {
> +     } else if ((cmd != 0x100)) {
>               DRM_ERROR("invalid UVD command %X!\n", cmd);
>               return -EINVAL;
>       }
> @@ -1056,11 +1057,12 @@ int amdgpu_uvd_ring_parse_cs(struct
> amdgpu_cs_parser *parser,
>  {
>       struct amdgpu_uvd_cs_ctx ctx = {};
>       unsigned int buf_sizes[] = {
> -             [0x00000000]    =       2048,
> +             [0x00000000]    =       3556,
>               [0x00000001]    =       0xFFFFFFFF,
>               [0x00000002]    =       0xFFFFFFFF,
>               [0x00000003]    =       2048,
>               [0x00000004]    =       0xFFFFFFFF,
> +             [0x00000005]    =       992,
>       };
>       int r;
>
> --
> 2.43.0