Re: [PATCH 2/2] media: amd: isp4: return capture buffers with V4L2_FIELD_NONE
From: Bin Du
Date: Tue Oct 27 2026 - 04:53:30 EST
Reviewed-by: Bin Du <bin.du@xxxxxxx>
On 10/27/2026 2:24 AM, Seifelden Abdelmonem wrote:
>
> isp4vid_handle_frame_done() marks every completed buffer as
> V4L2_FIELD_ANY. V4L2_FIELD_ANY is only valid as a request from the
> application; a dequeued buffer must report the field order of the
> image it contains. v4l2-compliance therefore fails the first MMAP
> streaming test:
>
> fail: v4l2-test-buffers.cpp(419): g_field() == V4L2_FIELD_ANY
> fail: v4l2-test-buffers.cpp(1280): buf.check(q, last_seq)
> fail: v4l2-test-buffers.cpp(1735): captureBufs(...)
> test MMAP (no poll, REQBUFS): FAIL
>
> The ISP only produces progressive frames, and the format ioctls already
> report V4L2_FIELD_NONE (isp4vid_fmt_default). Use V4L2_FIELD_NONE for
> the returned buffers as well. With this change that test passes.
>
> Fixes: 2ccf48af2270 ("media: platform: amd: isp4 video node and buffers handling added")
> Signed-off-by: Seifelden Abdelmonem <saif.elden.hatim@xxxxxxxxx>
> ---
> Testing and AI use: see the cover letter.
>
> drivers/media/platform/amd/isp4/isp4_video.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/media/platform/amd/isp4/isp4_video.c b/drivers/media/platform/amd/isp4/isp4_video.c
> index 58ea8d6ac..b8af3c766 100644
> --- a/drivers/media/platform/amd/isp4/isp4_video.c
> +++ b/drivers/media/platform/amd/isp4/isp4_video.c
> @@ -72,7 +72,7 @@ void isp4vid_handle_frame_done(struct isp4vid_dev *isp_vdev,
> /* Fill the buffer */
> isp4vid_buf->vb2.vb2_buf.timestamp = ktime_get_ns();
> isp4vid_buf->vb2.sequence = isp_vdev->sequence++;
> - isp4vid_buf->vb2.field = V4L2_FIELD_ANY;
> + isp4vid_buf->vb2.field = V4L2_FIELD_NONE;
>
> vb2_set_plane_payload(&isp4vid_buf->vb2.vb2_buf,
> 0, isp_vdev->format.sizeimage);
> --
> 2.56.0