[PATCH 2/2] media: amd: isp4: return capture buffers with V4L2_FIELD_NONE

From: Seifelden Abdelmonem

Date: Mon Oct 26 2026 - 14:26:51 EST


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