This series of patches contains a driver for the JPEG codec integrated peripheral found in the Renesas R-Car SoCs, JPU clocking and associated DT documentation. The driver is implemented within the V4L2 framework as a mem-to-mem device. It presents two video nodes to userspace, one for the encoding part, and one for the decoding part. It was found that the only working mode for encoding is no markers output, so we generate it with software. >From a userspace point of view the encoding process is typical (S_FMT, REQBUF, optionally QUERYBUF, QBUF, STREAMON, DQBUF) for both the source and destination queues. The decoding process requires that the source queue performs S_FMT, REQBUF, (QUERYBUF), QBUF and STREAMON. After STREAMON on the source queue, it is possible to perform G_FMT on the destination queue to find out the processed image width and height in order to be able to allocate an appropriate buffer - it is assumed that the user does not pass the compressed image width and height but instead this information is parsed from the jpeg input. This is done in kernel. Then REQBUF, QBUF and STREAMON on the destination queue complete the decoding and it is possible to DQBUF from both queues and finish the operation. During encoding the available formats are: V4L2_PIX_FMT_NV12 and V4L2_PIX_FMT_NV16 for source and V4L2_PIX_FMT_JPEG for destination. During decoding the available formats are: V4L2_PIX_FMT_JPEG for source and V4L2_PIX_FMT_NV12 and V4L2_PIX_FMT_NV16 for destination. This series of patches is against the 'devel' branch of kernel.googlesource.com/pub/scm/linux/kernel/git/horms/renesas repo. Mikhail Ulyanov (6): V4L2: Add Renesas R-Car JPEG codec driver. ARM: shmobile: r8a7790: Add JPU clock dt and CPG define. ARM: shmobile: r8a7790: Add JPU device node. ARM: shmobile: r8a7791: Add JPU clock dt and CPG define. ARM: shmobile: r8a7791: Add JPU device node. devicetree: bindings: Document Renesas JPEG Processing Unit. .../devicetree/bindings/media/renesas,jpu.txt | 23 + arch/arm/boot/dts/r8a7790.dtsi | 13 +- arch/arm/boot/dts/r8a7791.dtsi | 13 +- drivers/media/platform/Kconfig | 11 + drivers/media/platform/Makefile | 2 + drivers/media/platform/jpu.c | 1630 ++++++++++++++++++++ include/dt-bindings/clock/r8a7790-clock.h | 1 + include/dt-bindings/clock/r8a7791-clock.h | 1 + 8 files changed, 1691 insertions(+), 6 deletions(-) create mode 100644 Documentation/devicetree/bindings/media/renesas,jpu.txt create mode 100644 drivers/media/platform/jpu.c -- 2.1.0.rc1 -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html