Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1463108 > unrolled thread
| Started by | Robert Jarzmik <robert.jarzmik@free.fr> |
|---|---|
| First post | 2016-08-15 21:10 +0200 |
| Last post | 2016-08-15 21:40 +0200 |
| Articles | 3 — 1 participant |
Back to article view | Back to linux.kernel
[PATCH v4 00/13] pxa_camera transition to v4l2 standalone device Robert Jarzmik <robert.jarzmik@free.fr> - 2016-08-15 21:10 +0200
[PATCH v4 08/13] media: platform: pxa_camera: add buffer sequencing Robert Jarzmik <robert.jarzmik@free.fr> - 2016-08-15 21:40 +0200
[PATCH v4 09/13] media: platform: pxa_camera: remove set_crop Robert Jarzmik <robert.jarzmik@free.fr> - 2016-08-15 21:40 +0200
| From | Robert Jarzmik <robert.jarzmik@free.fr> |
|---|---|
| Date | 2016-08-15 21:10 +0200 |
| Subject | [PATCH v4 00/13] pxa_camera transition to v4l2 standalone device |
| Message-ID | <s6vqN-14k-3@gated-at.bofh.it> |
Hi Hans, Now only your comments have been taken between v3 and v4, the buffer sequence number reset, and the rebase on top of v4.8-rc1, which makes the diffstat with the former submission : drivers/media/i2c/mt9m111.c | 14 ++------------ drivers/media/platform/pxa_camera.c | 45 +++++---------------------------------------- drivers/media/platform/soc_camera/Kconfig | 12 ++---------- 3 files changed, 9 insertions(+), 62 deletions(-) I've also put the whole serie here if you want to fetch and review from git directly : - git fetch https://github.com/rjarzmik/linux.git work/v4l2 The result of v4l-compliance -s is in [1]. The result of v4l-compliance -f is in [2]. Happy review. -- Robert Robert Jarzmik (13): media: mt9m111: make a standalone v4l2 subdevice media: mt9m111: use only the SRGB colorspace media: mt9m111: move mt9m111 out of soc_camera media: platform: pxa_camera: convert to vb2 media: platform: pxa_camera: trivial move of functions media: platform: pxa_camera: introduce sensor_call media: platform: pxa_camera: make printk consistent media: platform: pxa_camera: add buffer sequencing media: platform: pxa_camera: remove set_crop media: platform: pxa_camera: make a standalone v4l2 device media: platform: pxa_camera: add debug register access media: platform: pxa_camera: change stop_streaming semantics media: platform: pxa_camera: move pxa_camera out of soc_camera drivers/media/i2c/Kconfig | 7 + drivers/media/i2c/Makefile | 1 + drivers/media/i2c/mt9m111.c | 1033 ++++++++++++ drivers/media/i2c/soc_camera/Kconfig | 7 +- drivers/media/i2c/soc_camera/Makefile | 1 - drivers/media/i2c/soc_camera/mt9m111.c | 1054 ------------ drivers/media/platform/Kconfig | 8 + drivers/media/platform/Makefile | 1 + drivers/media/platform/pxa_camera.c | 2096 ++++++++++++++++++++++++ drivers/media/platform/soc_camera/Kconfig | 8 - drivers/media/platform/soc_camera/Makefile | 1 - drivers/media/platform/soc_camera/pxa_camera.c | 1866 --------------------- include/linux/platform_data/media/camera-pxa.h | 2 + 13 files changed, 3153 insertions(+), 2932 deletions(-) create mode 100644 drivers/media/i2c/mt9m111.c delete mode 100644 drivers/media/i2c/soc_camera/mt9m111.c create mode 100644 drivers/media/platform/pxa_camera.c delete mode 100644 drivers/media/platform/soc_camera/pxa_camera.c -- 2.1.4 [1] v4l-compliance -s v4l2-compliance SHA : f1348b4a819271d4138d62be5cee2e5aed1601d7 Driver Info: Driver name : pxa27x-camera Card type : PXA_Camera Bus info : platform:pxa-camera Driver version: 4.8.0 Capabilities : 0x84200001 Video Capture Streaming Extended Pix Format Device Capabilities Device Caps : 0x04200001 Video Capture Streaming Extended Pix Format Compliance test for device /dev/video0 (not using libv4l2): Required ioctls: test VIDIOC_QUERYCAP: OK Allow for multiple opens: test second video open: OK test VIDIOC_QUERYCAP: OK test VIDIOC_G/S_PRIORITY: OK test for unlimited opens: OK Debug ioctls: test VIDIOC_DBG_G/S_REGISTER: OK test VIDIOC_LOG_STATUS: OK (Not Supported) Input ioctls: test VIDIOC_G/S_TUNER/ENUM_FREQ_BANDS: OK (Not Supported) test VIDIOC_G/S_FREQUENCY: OK (Not Supported) test VIDIOC_S_HW_FREQ_SEEK: OK (Not Supported) test VIDIOC_ENUMAUDIO: OK (Not Supported) test VIDIOC_G/S/ENUMINPUT: OK test VIDIOC_G/S_AUDIO: OK (Not Supported) Inputs: 1 Audio Inputs: 0 Tuners: 0 Output ioctls: test VIDIOC_G/S_MODULATOR: OK (Not Supported) test VIDIOC_G/S_FREQUENCY: OK (Not Supported) test VIDIOC_ENUMAUDOUT: OK (Not Supported) test VIDIOC_G/S/ENUMOUTPUT: OK (Not Supported) test VIDIOC_G/S_AUDOUT: OK (Not Supported) Outputs: 0 Audio Outputs: 0 Modulators: 0 Input/Output configuration ioctls: test VIDIOC_ENUM/G/S/QUERY_STD: OK (Not Supported) test VIDIOC_ENUM/G/S/QUERY_DV_TIMINGS: OK (Not Supported) test VIDIOC_DV_TIMINGS_CAP: OK (Not Supported) test VIDIOC_G/S_EDID: OK (Not Supported) Test input 0: Control ioctls: test VIDIOC_QUERY_EXT_CTRL/QUERYMENU: OK test VIDIOC_QUERYCTRL: OK test VIDIOC_G/S_CTRL: OK test VIDIOC_G/S/TRY_EXT_CTRLS: OK fail: v4l2-test-controls.cpp(782): subscribe event for control 'User Controls' failed test VIDIOC_(UN)SUBSCRIBE_EVENT/DQEVENT: FAIL test VIDIOC_G/S_JPEGCOMP: OK (Not Supported) Standard Controls: 7 Private Controls: 0 Format ioctls: test VIDIOC_ENUM_FMT/FRAMESIZES/FRAMEINTERVALS: OK test VIDIOC_G/S_PARM: OK (Not Supported) test VIDIOC_G_FBUF: OK (Not Supported) test VIDIOC_G_FMT: OK warn: v4l2-test-formats.cpp(717): TRY_FMT cannot handle an invalid pixelformat. warn: v4l2-test-formats.cpp(718): This may or may not be a problem. For more information see: warn: v4l2-test-formats.cpp(719): http://www.mail-archive.com/linux-media@vger.kernel.org/msg56550.html test VIDIOC_TRY_FMT: OK warn: v4l2-test-formats.cpp(977): S_FMT cannot handle an invalid pixelformat. warn: v4l2-test-formats.cpp(978): This may or may not be a problem. For more information see: warn: v4l2-test-formats.cpp(979): http://www.mail-archive.com/linux-media@vger.kernel.org/msg56550.html test VIDIOC_S_FMT: OK test VIDIOC_G_SLICED_VBI_CAP: OK (Not Supported) test Cropping: OK (Not Supported) test Composing: OK (Not Supported) test Scaling: OK Codec ioctls: test VIDIOC_(TRY_)ENCODER_CMD: OK (Not Supported) test VIDIOC_G_ENC_INDEX: OK (Not Supported) test VIDIOC_(TRY_)DECODER_CMD: OK (Not Supported) Buffer ioctls: test VIDIOC_REQBUFS/CREATE_BUFS/QUERYBUF: OK test VIDIOC_EXPBUF: OK Test input 0: Streaming ioctls: test read/write: OK (Not Supported) test MMAP: OK test USERPTR: OK test DMABUF: Cannot test, specify --expbuf-device Total: 46, Succeeded: 45, Failed: 1, Warnings: 6 [2] v4l-compliance -f v4l2-compliance SHA : f1348b4a819271d4138d62be5cee2e5aed1601d7 Driver Info: Driver name : pxa27x-camera Card type : PXA_Camera Bus info : platform:pxa-camera Driver version: 4.8.0 Capabilities : 0x84200001 Video Capture Streaming Extended Pix Format Device Capabilities Device Caps : 0x04200001 Video Capture Streaming Extended Pix Format Compliance test for device /dev/video0 (not using libv4l2): Required ioctls: test VIDIOC_QUERYCAP: OK Allow for multiple opens: test second video open: OK test VIDIOC_QUERYCAP: OK test VIDIOC_G/S_PRIORITY: OK test for unlimited opens: OK Debug ioctls: test VIDIOC_DBG_G/S_REGISTER: OK test VIDIOC_LOG_STATUS: OK (Not Supported) Input ioctls: test VIDIOC_G/S_TUNER/ENUM_FREQ_BANDS: OK (Not Supported) test VIDIOC_G/S_FREQUENCY: OK (Not Supported) test VIDIOC_S_HW_FREQ_SEEK: OK (Not Supported) test VIDIOC_ENUMAUDIO: OK (Not Supported) test VIDIOC_G/S/ENUMINPUT: OK test VIDIOC_G/S_AUDIO: OK (Not Supported) Inputs: 1 Audio Inputs: 0 Tuners: 0 Output ioctls: test VIDIOC_G/S_MODULATOR: OK (Not Supported) test VIDIOC_G/S_FREQUENCY: OK (Not Supported) test VIDIOC_ENUMAUDOUT: OK (Not Supported) test VIDIOC_G/S/ENUMOUTPUT: OK (Not Supported) test VIDIOC_G/S_AUDOUT: OK (Not Supported) Outputs: 0 Audio Outputs: 0 Modulators: 0 Input/Output configuration ioctls: test VIDIOC_ENUM/G/S/QUERY_STD: OK (Not Supported) test VIDIOC_ENUM/G/S/QUERY_DV_TIMINGS: OK (Not Supported) test VIDIOC_DV_TIMINGS_CAP: OK (Not Supported) test VIDIOC_G/S_EDID: OK (Not Supported) Test input 0: Control ioctls: test VIDIOC_QUERY_EXT_CTRL/QUERYMENU: OK test VIDIOC_QUERYCTRL: OK test VIDIOC_G/S_CTRL: OK test VIDIOC_G/S/TRY_EXT_CTRLS: OK fail: v4l2-test-controls.cpp(782): subscribe event for control 'User Controls' failed test VIDIOC_(UN)SUBSCRIBE_EVENT/DQEVENT: FAIL test VIDIOC_G/S_JPEGCOMP: OK (Not Supported) Standard Controls: 7 Private Controls: 0 Format ioctls: test VIDIOC_ENUM_FMT/FRAMESIZES/FRAMEINTERVALS: OK test VIDIOC_G/S_PARM: OK (Not Supported) test VIDIOC_G_FBUF: OK (Not Supported) test VIDIOC_G_FMT: OK warn: v4l2-test-formats.cpp(717): TRY_FMT cannot handle an invalid pixelformat. warn: v4l2-test-formats.cpp(718): This may or may not be a problem. For more information see: warn: v4l2-test-formats.cpp(719): http://www.mail-archive.com/linux-media@vger.kernel.org/msg56550.html test VIDIOC_TRY_FMT: OK warn: v4l2-test-formats.cpp(977): S_FMT cannot handle an invalid pixelformat. warn: v4l2-test-formats.cpp(978): This may or may not be a problem. For more information see: warn: v4l2-test-formats.cpp(979): http://www.mail-archive.com/linux-media@vger.kernel.org/msg56550.html test VIDIOC_S_FMT: OK test VIDIOC_G_SLICED_VBI_CAP: OK (Not Supported) test Cropping: OK (Not Supported) test Composing: OK (Not Supported) test Scaling: OK Codec ioctls: test VIDIOC_(TRY_)ENCODER_CMD: OK (Not Supported) test VIDIOC_G_ENC_INDEX: OK (Not Supported) test VIDIOC_(TRY_)DECODER_CMD: OK (Not Supported) Buffer ioctls: test VIDIOC_REQBUFS/CREATE_BUFS/QUERYBUF: OK test VIDIOC_EXPBUF: OK Test input 0: Stream using all formats: test MMAP for Format YUYV, Frame Size 48x32: Stride 96, Field None: OK Stride 0, Field Top: OK Stride 0, Field Bottom: OK Stride 0, Field Interlaced: OK Stride 0, Field Sequential Top-Bottom: OK Stride 0, Field Sequential Bottom-Top: OK Stride 0, Field Alternating: OK Stride 0, Field Interlaced Top-Bottom: OK Stride 0, Field Interlaced Bottom-Top: OK test MMAP for Format YUYV, Frame Size 1280x1024: Stride 2560, Field None: OK Stride 0, Field Top: OK Stride 0, Field Bottom: OK Stride 0, Field Interlaced: OK Stride 0, Field Sequential Top-Bottom: OK Stride 0, Field Sequential Bottom-Top: OK Stride 0, Field Alternating: OK Stride 0, Field Interlaced Top-Bottom: OK Stride 0, Field Interlaced Bottom-Top: OK test MMAP for Format YUYV, Frame Size 640x480: Stride 1280, Field None: OK Stride 0, Field Top: OK Stride 0, Field Bottom: OK Stride 0, Field Interlaced: OK Stride 0, Field Sequential Top-Bottom: OK Stride 0, Field Sequential Bottom-Top: OK Stride 0, Field Alternating: OK Stride 0, Field Interlaced Top-Bottom: OK Stride 0, Field Interlaced Bottom-Top: OK test MMAP for Format YVYU, Frame Size 48x32: Stride 96, Field None: OK Stride 0, Field Top: OK Stride 0, Field Bottom: OK Stride 0, Field Interlaced: OK Stride 0, Field Sequential Top-Bottom: OK Stride 0, Field Sequential Bottom-Top: OK Stride 0, Field Alternating: OK Stride 0, Field Interlaced Top-Bottom: OK Stride 0, Field Interlaced Bottom-Top: OK test MMAP for Format YVYU, Frame Size 1280x1024: Stride 2560, Field None: OK Stride 0, Field Top: OK Stride 0, Field Bottom: OK Stride 0, Field Interlaced: OK Stride 0, Field Sequential Top-Bottom: OK Stride 0, Field Sequential Bottom-Top: OK Stride 0, Field Alternating: OK Stride 0, Field Interlaced Top-Bottom: OK Stride 0, Field Interlaced Bottom-Top: OK test MMAP for Format YVYU, Frame Size 640x480: Stride 1280, Field None: OK Stride 0, Field Top: OK Stride 0, Field Bottom: OK Stride 0, Field Interlaced: OK Stride 0, Field Sequential Top-Bottom: OK Stride 0, Field Sequential Bottom-Top: OK Stride 0, Field Alternating: OK Stride 0, Field Interlaced Top-Bottom: OK Stride 0, Field Interlaced Bottom-Top: OK test MMAP for Format 422P, Frame Size 48x32: Stride 48, Field None: OK Stride 0, Field Top: OK Stride 0, Field Bottom: OK Stride 0, Field Interlaced: OK Stride 0, Field Sequential Top-Bottom: OK Stride 0, Field Sequential Bottom-Top: OK Stride 0, Field Alternating: OK Stride 0, Field Interlaced Top-Bottom: OK Stride 0, Field Interlaced Bottom-Top: OK test MMAP for Format 422P, Frame Size 1280x1024: Stride 1280, Field None: OK Stride 0, Field Top: OK Stride 0, Field Bottom: OK Stride 0, Field Interlaced: OK Stride 0, Field Sequential Top-Bottom: OK Stride 0, Field Sequential Bottom-Top: OK Stride 0, Field Alternating: OK Stride 0, Field Interlaced Top-Bottom: OK Stride 0, Field Interlaced Bottom-Top: OK test MMAP for Format 422P, Frame Size 640x480: Stride 640, Field None: OK Stride 0, Field Top: OK Stride 0, Field Bottom: OK Stride 0, Field Interlaced: OK Stride 0, Field Sequential Top-Bottom: OK Stride 0, Field Sequential Bottom-Top: OK Stride 0, Field Alternating: OK Stride 0, Field Interlaced Top-Bottom: OK Stride 0, Field Interlaced Bottom-Top: OK test MMAP for Format UYVY, Frame Size 48x32: Stride 96, Field None: OK Stride 0, Field Top: OK Stride 0, Field Bottom: OK Stride 0, Field Interlaced: OK Stride 0, Field Sequential Top-Bottom: OK Stride 0, Field Sequential Bottom-Top: OK Stride 0, Field Alternating: OK Stride 0, Field Interlaced Top-Bottom: OK Stride 0, Field Interlaced Bottom-Top: OK test MMAP for Format UYVY, Frame Size 1280x1024: Stride 2560, Field None: OK Stride 0, Field Top: OK Stride 0, Field Bottom: OK Stride 0, Field Interlaced: OK Stride 0, Field Sequential Top-Bottom: OK Stride 0, Field Sequential Bottom-Top: OK Stride 0, Field Alternating: OK Stride 0, Field Interlaced Top-Bottom: OK Stride 0, Field Interlaced Bottom-Top: OK test MMAP for Format UYVY, Frame Size 640x480: Stride 1280, Field None: OK Stride 0, Field Top: OK Stride 0, Field Bottom: OK Stride 0, Field Interlaced: OK Stride 0, Field Sequential Top-Bottom: OK Stride 0, Field Sequential Bottom-Top: OK Stride 0, Field Alternating: OK Stride 0, Field Interlaced Top-Bottom: OK Stride 0, Field Interlaced Bottom-Top: OK test MMAP for Format VYUY, Frame Size 48x32: Stride 96, Field None: OK Stride 0, Field Top: OK Stride 0, Field Bottom: OK Stride 0, Field Interlaced: OK Stride 0, Field Sequential Top-Bottom: OK Stride 0, Field Sequential Bottom-Top: OK Stride 0, Field Alternating: OK Stride 0, Field Interlaced Top-Bottom: OK Stride 0, Field Interlaced Bottom-Top: OK test MMAP for Format VYUY, Frame Size 1280x1024: Stride 2560, Field None: OK Stride 0, Field Top: OK Stride 0, Field Bottom: OK Stride 0, Field Interlaced: OK Stride 0, Field Sequential Top-Bottom: OK Stride 0, Field Sequential Bottom-Top: OK Stride 0, Field Alternating: OK Stride 0, Field Interlaced Top-Bottom: OK Stride 0, Field Interlaced Bottom-Top: OK test MMAP for Format VYUY, Frame Size 640x480: Stride 1280, Field None: OK Stride 0, Field Top: OK Stride 0, Field Bottom: OK Stride 0, Field Interlaced: OK Stride 0, Field Sequential Top-Bottom: OK Stride 0, Field Sequential Bottom-Top: OK Stride 0, Field Alternating: OK Stride 0, Field Interlaced Top-Bottom: OK Stride 0, Field Interlaced Bottom-Top: OK test MMAP for Format RGBO, Frame Size 48x32: Stride 96, Field None: OK Stride 0, Field Top: OK Stride 0, Field Bottom: OK Stride 0, Field Interlaced: OK Stride 0, Field Sequential Top-Bottom: OK Stride 0, Field Sequential Bottom-Top: OK Stride 0, Field Alternating: OK Stride 0, Field Interlaced Top-Bottom: OK Stride 0, Field Interlaced Bottom-Top: OK test MMAP for Format RGBO, Frame Size 1280x1024: Stride 2560, Field None: OK Stride 0, Field Top: OK Stride 0, Field Bottom: OK Stride 0, Field Interlaced: OK Stride 0, Field Sequential Top-Bottom: OK Stride 0, Field Sequential Bottom-Top: OK Stride 0, Field Alternating: OK Stride 0, Field Interlaced Top-Bottom: OK Stride 0, Field Interlaced Bottom-Top: OK test MMAP for Format RGBO, Frame Size 640x480: Stride 1280, Field None: OK Stride 0, Field Top: OK Stride 0, Field Bottom: OK Stride 0, Field Interlaced: OK Stride 0, Field Sequential Top-Bottom: OK Stride 0, Field Sequential Bottom-Top: OK Stride 0, Field Alternating: OK Stride 0, Field Interlaced Top-Bottom: OK Stride 0, Field Interlaced Bottom-Top: OK test MMAP for Format RGBQ, Frame Size 48x32: Stride 96, Field None: OK Stride 0, Field Top: OK Stride 0, Field Bottom: OK Stride 0, Field Interlaced: OK Stride 0, Field Sequential Top-Bottom: OK Stride 0, Field Sequential Bottom-Top: OK Stride 0, Field Alternating: OK Stride 0, Field Interlaced Top-Bottom: OK Stride 0, Field Interlaced Bottom-Top: OK test MMAP for Format RGBQ, Frame Size 1280x1024: Stride 2560, Field None: OK Stride 0, Field Top: OK Stride 0, Field Bottom: OK Stride 0, Field Interlaced: OK Stride 0, Field Sequential Top-Bottom: OK Stride 0, Field Sequential Bottom-Top: OK Stride 0, Field Alternating: OK Stride 0, Field Interlaced Top-Bottom: OK Stride 0, Field Interlaced Bottom-Top: OK test MMAP for Format RGBQ, Frame Size 640x480: Stride 1280, Field None: OK Stride 0, Field Top: OK Stride 0, Field Bottom: OK Stride 0, Field Interlaced: OK Stride 0, Field Sequential Top-Bottom: OK Stride 0, Field Sequential Bottom-Top: OK Stride 0, Field Alternating: OK Stride 0, Field Interlaced Top-Bottom: OK Stride 0, Field Interlaced Bottom-Top: OK test MMAP for Format RGBP, Frame Size 48x32: Stride 96, Field None: OK Stride 0, Field Top: OK Stride 0, Field Bottom: OK Stride 0, Field Interlaced: OK Stride 0, Field Sequential Top-Bottom: OK Stride 0, Field Sequential Bottom-Top: OK Stride 0, Field Alternating: OK Stride 0, Field Interlaced Top-Bottom: OK Stride 0, Field Interlaced Bottom-Top: OK test MMAP for Format RGBP, Frame Size 1280x1024: Stride 2560, Field None: OK Stride 0, Field Top: OK Stride 0, Field Bottom: OK Stride 0, Field Interlaced: OK Stride 0, Field Sequential Top-Bottom: OK Stride 0, Field Sequential Bottom-Top: OK Stride 0, Field Alternating: OK Stride 0, Field Interlaced Top-Bottom: OK Stride 0, Field Interlaced Bottom-Top: OK test MMAP for Format RGBP, Frame Size 640x480: Stride 1280, Field None: OK Stride 0, Field Top: OK Stride 0, Field Bottom: OK Stride 0, Field Interlaced: OK Stride 0, Field Sequential Top-Bottom: OK Stride 0, Field Sequential Bottom-Top: OK Stride 0, Field Alternating: OK Stride 0, Field Interlaced Top-Bottom: OK Stride 0, Field Interlaced Bottom-Top: OK test MMAP for Format RGBR, Frame Size 48x32: Stride 96, Field None: OK Stride 0, Field Top: OK Stride 0, Field Bottom: OK Stride 0, Field Interlaced: OK Stride 0, Field Sequential Top-Bottom: OK Stride 0, Field Sequential Bottom-Top: OK Stride 0, Field Alternating: OK Stride 0, Field Interlaced Top-Bottom: OK Stride 0, Field Interlaced Bottom-Top: OK test MMAP for Format RGBR, Frame Size 1280x1024: Stride 2560, Field None: OK Stride 0, Field Top: OK Stride 0, Field Bottom: OK Stride 0, Field Interlaced: OK Stride 0, Field Sequential Top-Bottom: OK Stride 0, Field Sequential Bottom-Top: OK Stride 0, Field Alternating: OK Stride 0, Field Interlaced Top-Bottom: OK Stride 0, Field Interlaced Bottom-Top: OK test MMAP for Format RGBR, Frame Size 640x480: Stride 1280, Field None: OK Stride 0, Field Top: OK Stride 0, Field Bottom: OK Stride 0, Field Interlaced: OK Stride 0, Field Sequential Top-Bottom: OK Stride 0, Field Sequential Bottom-Top: OK Stride 0, Field Alternating: OK Stride 0, Field Interlaced Top-Bottom: OK Stride 0, Field Interlaced Bottom-Top: OK test MMAP for Format BA81, Frame Size 48x32: Stride 48, Field None: OK Stride 0, Field Top: OK Stride 0, Field Bottom: OK Stride 0, Field Interlaced: OK Stride 0, Field Sequential Top-Bottom: OK Stride 0, Field Sequential Bottom-Top: OK Stride 0, Field Alternating: OK Stride 0, Field Interlaced Top-Bottom: OK Stride 0, Field Interlaced Bottom-Top: OK test MMAP for Format BA81, Frame Size 1280x1024: Stride 1280, Field None: OK Stride 0, Field Top: OK Stride 0, Field Bottom: OK Stride 0, Field Interlaced: OK Stride 0, Field Sequential Top-Bottom: OK Stride 0, Field Sequential Bottom-Top: OK Stride 0, Field Alternating: OK Stride 0, Field Interlaced Top-Bottom: OK Stride 0, Field Interlaced Bottom-Top: OK test MMAP for Format BA81, Frame Size 640x480: Stride 640, Field None: OK Stride 0, Field Top: OK Stride 0, Field Bottom: OK Stride 0, Field Interlaced: OK Stride 0, Field Sequential Top-Bottom: OK Stride 0, Field Sequential Bottom-Top: OK Stride 0, Field Alternating: OK Stride 0, Field Interlaced Top-Bottom: OK Stride 0, Field Interlaced Bottom-Top: OK test MMAP for Format BG10, Frame Size 1280x1024: Stride 2560, Field None: OK Stride 0, Field Top: OK Stride 0, Field Bottom: OK Stride 0, Field Interlaced: OK Stride 0, Field Sequential Top-Bottom: OK Stride 0, Field Sequential Bottom-Top: OK Stride 0, Field Alternating: OK Stride 0, Field Interlaced Top-Bottom: OK Stride 0, Field Interlaced Bottom-Top: OK test MMAP for Format BG10, Frame Size 1280x1024: Stride 2560, Field None: OK Stride 0, Field Top: OK Stride 0, Field Bottom: OK Stride 0, Field Interlaced: OK Stride 0, Field Sequential Top-Bottom: OK Stride 0, Field Sequential Bottom-Top: OK Stride 0, Field Alternating: OK Stride 0, Field Interlaced Top-Bottom: OK Stride 0, Field Interlaced Bottom-Top: OK test MMAP for Format BG10, Frame Size 1280x1024: Stride 2560, Field None: OK Stride 0, Field Top: OK Stride 0, Field Bottom: OK Stride 0, Field Interlaced: OK Stride 0, Field Sequential Top-Bottom: OK Stride 0, Field Sequential Bottom-Top: OK Stride 0, Field Alternating: OK Stride 0, Field Interlaced Top-Bottom: OK Stride 0, Field Interlaced Bottom-Top: OK Total: 340, Succeeded: 339, Failed: 1, Warnings: 6
[toc] | [next] | [standalone]
| From | Robert Jarzmik <robert.jarzmik@free.fr> |
|---|---|
| Date | 2016-08-15 21:40 +0200 |
| Subject | [PATCH v4 08/13] media: platform: pxa_camera: add buffer sequencing |
| Message-ID | <s6vTP-1iQ-5@gated-at.bofh.it> |
| In reply to | #1463108 |
Add sequence numbers to completed buffers.
Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
---
Since v3: reset buffer sequence number in start_streaming()
---
drivers/media/platform/soc_camera/pxa_camera.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/drivers/media/platform/soc_camera/pxa_camera.c b/drivers/media/platform/soc_camera/pxa_camera.c
index f3922a99405b..2471d036a835 100644
--- a/drivers/media/platform/soc_camera/pxa_camera.c
+++ b/drivers/media/platform/soc_camera/pxa_camera.c
@@ -223,6 +223,7 @@ struct pxa_camera_dev {
struct list_head capture;
spinlock_t lock;
+ unsigned int buf_sequence;
struct pxa_buffer *active;
struct tasklet_struct task_eof;
@@ -423,10 +424,13 @@ static void pxa_camera_wakeup(struct pxa_camera_dev *pcdev,
struct pxa_buffer *buf)
{
struct vb2_buffer *vb = &buf->vbuf.vb2_buf;
+ struct vb2_v4l2_buffer *vbuf = to_vb2_v4l2_buffer(vb);
/* _init is used to debug races, see comment in pxa_camera_reqbufs() */
list_del_init(&buf->queue);
vb->timestamp = ktime_get_ns();
+ vbuf->sequence = pcdev->buf_sequence++;
+ vbuf->field = V4L2_FIELD_NONE;
vb2_buffer_done(vb, VB2_BUF_STATE_DONE);
dev_dbg(pcdev_to_dev(pcdev), "%s dequeud buffer (buf=0x%p)\n",
__func__, buf);
@@ -1022,6 +1026,7 @@ static int pxac_vb2_start_streaming(struct vb2_queue *vq, unsigned int count)
dev_dbg(pcdev_to_dev(pcdev), "%s(count=%d) active=%p\n",
__func__, count, pcdev->active);
+ pcdev->buf_sequence = 0;
if (!pcdev->active)
pxa_camera_start_capture(pcdev);
--
2.1.4
[toc] | [prev] | [next] | [standalone]
| From | Robert Jarzmik <robert.jarzmik@free.fr> |
|---|---|
| Date | 2016-08-15 21:40 +0200 |
| Subject | [PATCH v4 09/13] media: platform: pxa_camera: remove set_crop |
| Message-ID | <s6vTQ-1iQ-25@gated-at.bofh.it> |
| In reply to | #1463108 |
This is to be seen as a regression as the set_crop function is
removed. This is a temporary situation in the v4l2 porting, and will
have to be added later.
Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
---
drivers/media/platform/soc_camera/pxa_camera.c | 76 --------------------------
1 file changed, 76 deletions(-)
diff --git a/drivers/media/platform/soc_camera/pxa_camera.c b/drivers/media/platform/soc_camera/pxa_camera.c
index 2471d036a835..a2fedc9bb71c 100644
--- a/drivers/media/platform/soc_camera/pxa_camera.c
+++ b/drivers/media/platform/soc_camera/pxa_camera.c
@@ -1295,81 +1295,6 @@ static int pxa_camera_check_frame(u32 width, u32 height)
(width & 0x01);
}
-static int pxa_camera_set_crop(struct soc_camera_device *icd,
- const struct v4l2_crop *a)
-{
- const struct v4l2_rect *rect = &a->c;
- struct device *dev = icd->parent;
- struct soc_camera_host *ici = to_soc_camera_host(dev);
- struct pxa_camera_dev *pcdev = ici->priv;
- struct v4l2_subdev *sd = soc_camera_to_subdev(icd);
- struct soc_camera_sense sense = {
- .master_clock = pcdev->mclk,
- .pixel_clock_max = pcdev->ciclk / 4,
- };
- struct v4l2_subdev_format fmt = {
- .which = V4L2_SUBDEV_FORMAT_ACTIVE,
- };
- struct v4l2_mbus_framefmt *mf = &fmt.format;
- struct pxa_cam *cam = icd->host_priv;
- u32 fourcc = icd->current_fmt->host_fmt->fourcc;
- int ret;
-
- /* If PCLK is used to latch data from the sensor, check sense */
- if (pcdev->platform_flags & PXA_CAMERA_PCLK_EN)
- icd->sense = &sense;
-
- ret = sensor_call(pcdev, video, s_crop, a);
-
- icd->sense = NULL;
-
- if (ret < 0) {
- dev_warn(pcdev_to_dev(pcdev), "Failed to crop to %ux%u@%u:%u\n",
- rect->width, rect->height, rect->left, rect->top);
- return ret;
- }
-
- ret = sensor_call(pcdev, pad, get_fmt, NULL, &fmt);
- if (ret < 0)
- return ret;
-
- if (pxa_camera_check_frame(mf->width, mf->height)) {
- /*
- * Camera cropping produced a frame beyond our capabilities.
- * FIXME: just extract a subframe, that we can process.
- */
- v4l_bound_align_image(&mf->width, 48, 2048, 1,
- &mf->height, 32, 2048, 0,
- fourcc == V4L2_PIX_FMT_YUV422P ? 4 : 0);
- ret = sensor_call(pcdev, pad, set_fmt, NULL, &fmt);
- if (ret < 0)
- return ret;
-
- if (pxa_camera_check_frame(mf->width, mf->height)) {
- dev_warn(pcdev_to_dev(pcdev),
- "Inconsistent state. Use S_FMT to repair\n");
- return -EINVAL;
- }
- }
-
- if (sense.flags & SOCAM_SENSE_PCLK_CHANGED) {
- if (sense.pixel_clock > sense.pixel_clock_max) {
- dev_err(pcdev_to_dev(pcdev),
- "pixel clock %lu set by the camera too high!",
- sense.pixel_clock);
- return -EIO;
- }
- recalculate_fifo_timeout(pcdev, sense.pixel_clock);
- }
-
- icd->user_width = mf->width;
- icd->user_height = mf->height;
-
- pxa_camera_setup_cicr(icd, cam->flags, fourcc);
-
- return ret;
-}
-
static int pxa_camera_set_fmt(struct soc_camera_device *icd,
struct v4l2_format *f)
{
@@ -1582,7 +1507,6 @@ static struct soc_camera_host_ops pxa_soc_camera_host_ops = {
.remove = pxa_camera_remove_device,
.clock_start = pxa_camera_clock_start,
.clock_stop = pxa_camera_clock_stop,
- .set_crop = pxa_camera_set_crop,
.get_formats = pxa_camera_get_formats,
.put_formats = pxa_camera_put_formats,
.set_fmt = pxa_camera_set_fmt,
--
2.1.4
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web