All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/6] R-Car JPEG Processing Unit
@ 2014-08-19 12:50 ` Mikhail Ulyanov
  0 siblings, 0 replies; 78+ messages in thread
From: Mikhail Ulyanov @ 2014-08-19 12:50 UTC (permalink / raw)
  To: m.chehab-Sze3O3UU22JBDgjK7y7TUQ, horms-/R6kz+dDXgpPR4JQBCEnsQ,
	magnus.damm-Re5JQEeQqe8AvxtiuMwx3w,
	robh+dt-DgEjT+Ai2ygdnm+yROfE0A, pawel.moll-5wv7dgnIgG8,
	mark.rutland-5wv7dgnIgG8
  Cc: laurent.pinchart-ryLnwIuWjnjg/C1BVhZhaw,
	linux-sh-u79uwXL29TY76Z2rM5mHXA,
	linux-media-u79uwXL29TY76Z2rM5mHXA,
	devicetree-u79uwXL29TY76Z2rM5mHXA, Mikhail Ulyanov

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


^ permalink raw reply	[flat|nested] 78+ messages in thread

end of thread, other threads:[~2014-09-26 14:01 UTC | newest]

Thread overview: 78+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-08-19 12:50 [PATCH 0/6] R-Car JPEG Processing Unit Mikhail Ulyanov
2014-08-19 12:50 ` Mikhail Ulyanov
2014-08-19 12:50 ` Mikhail Ulyanov
2014-08-19 12:50 ` [PATCH 1/6] V4L2: Add Renesas R-Car JPEG codec driver Mikhail Ulyanov
2014-08-19 12:50   ` Mikhail Ulyanov
2014-08-19 13:37   ` Hans Verkuil
2014-08-19 13:37     ` Hans Verkuil
2014-08-22 13:39     ` Mikhail Ulianov
2014-08-22 13:39       ` Mikhail Ulianov
2014-08-22 17:03       ` Hans Verkuil
2014-08-25 12:29   ` [PATCH v2 " Mikhail Ulyanov
2014-08-25 12:29     ` Mikhail Ulyanov
2014-08-25 12:39     ` Hans Verkuil
2014-08-25 12:39       ` Hans Verkuil
2014-08-25 12:49       ` Hans Verkuil
2014-08-25 12:49         ` Hans Verkuil
2014-09-21 17:56         ` Sergei Shtylyov
2014-09-21 17:56           ` Sergei Shtylyov
2014-09-21 17:56         ` Sergei Shtylyov
2014-09-21 17:56           ` Sergei Shtylyov
2014-09-23 13:31     ` Kamil Debski
2014-09-23 13:31       ` Kamil Debski
2014-09-25 12:49       ` Sergei Shtylyov
2014-09-25 12:49         ` Sergei Shtylyov
2014-09-26 14:01     ` Laurent Pinchart
2014-09-26 14:01       ` Laurent Pinchart
2014-09-23 14:02   ` [PATCH " Geert Uytterhoeven
2014-09-23 14:02     ` Geert Uytterhoeven
2014-08-19 12:50 ` [PATCH 2/6] ARM: shmobile: r8a7790: Add JPU clock dt and CPG define Mikhail Ulyanov
2014-08-19 12:50   ` Mikhail Ulyanov
2014-08-20 23:07   ` Laurent Pinchart
2014-08-20 23:07     ` Laurent Pinchart
2014-08-22  1:57     ` Simon Horman
2014-08-22  1:57       ` Simon Horman
2014-08-19 12:50 ` [PATCH 3/6] ARM: shmobile: r8a7790: Add JPU device node Mikhail Ulyanov
2014-08-19 12:50   ` Mikhail Ulyanov
2014-08-22  1:54   ` [3/6] " Simon Horman
2014-08-22  1:54     ` Simon Horman
2014-08-19 12:50 ` [PATCH 4/6] ARM: shmobile: r8a7791: Add JPU clock dt and CPG define Mikhail Ulyanov
2014-08-19 12:50   ` Mikhail Ulyanov
2014-08-20 23:07   ` Laurent Pinchart
2014-08-20 23:07     ` Laurent Pinchart
2014-08-22  1:56     ` Simon Horman
2014-08-22  1:56       ` Simon Horman
2014-08-19 12:50 ` [PATCH 5/6] ARM: shmobile: r8a7791: Add JPU device node Mikhail Ulyanov
2014-08-19 12:50   ` Mikhail Ulyanov
2014-08-19 12:50 ` [PATCH 6/6] devicetree: bindings: Document Renesas JPEG Processing Unit Mikhail Ulyanov
2014-08-19 12:50   ` Mikhail Ulyanov
2014-08-20 23:01   ` Laurent Pinchart
2014-08-20 23:01     ` Laurent Pinchart
2014-08-22 14:20     ` Mikhail Ulianov
2014-08-22 14:20       ` Mikhail Ulianov
2014-08-25  9:49       ` Laurent Pinchart
2014-08-25  9:49         ` Laurent Pinchart
2014-08-25 12:35   ` [PATCH v2 " Mikhail Ulyanov
2014-08-25 12:35     ` Mikhail Ulyanov
2014-08-25 12:59     ` Geert Uytterhoeven
2014-08-25 12:59       ` Geert Uytterhoeven
2014-08-25 23:57       ` Simon Horman
2014-08-25 23:57         ` Simon Horman
2014-08-26  0:02         ` Laurent Pinchart
2014-08-26  0:02           ` Laurent Pinchart
2014-08-26  2:42           ` Simon Horman
2014-08-26  2:42             ` Simon Horman
2014-09-24 13:38             ` Mikhail Ulianov
2014-09-24 13:38               ` Mikhail Ulianov
2014-08-26  8:03         ` Geert Uytterhoeven
2014-08-26  8:03           ` Geert Uytterhoeven
2014-08-26  9:01           ` Simon Horman
2014-08-26  9:01             ` Simon Horman
2014-08-26  9:27             ` Geert Uytterhoeven
2014-08-26  9:27               ` Geert Uytterhoeven
2014-08-27  5:15               ` Simon Horman
2014-08-27  5:15                 ` Simon Horman
2014-08-27  6:06                 ` Laurent Pinchart
2014-08-27  6:06                   ` Laurent Pinchart
2014-08-27  6:16                   ` Simon Horman
2014-08-27  6:16                     ` Simon Horman

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.