linux-renesas-soc.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/20] drm: rcar-du: Add Color Management Module (CMM)
@ 2019-06-06 14:22 Jacopo Mondi
  2019-06-06 14:22 ` [PATCH 01/20] dt-bindings: display: renesas,cmm: Add R-Car CMM documentation Jacopo Mondi
                   ` (19 more replies)
  0 siblings, 20 replies; 58+ messages in thread
From: Jacopo Mondi @ 2019-06-06 14:22 UTC (permalink / raw)
  To: laurent.pinchart, kieran.bingham+renesas, airlied, daniel
  Cc: Jacopo Mondi, koji.matsuoka.xm, muroya, VenkataRajesh.Kalakodima,
	Harsha.ManjulaMallikarjun, linux-renesas-soc, dri-devel,
	linux-kernel

Hello,
   this series add support for the Color Management Module (CMM) found on
the R-Car Display Unit output channels. CMM is present in most of the Gen3
SoCs (V3-H and V3-M excluded) and in Gen2 (which is not supported by the
series).

The CMM allows setting 1-D and 3-D gamma tables and generates histograms on
images before they are directed to the DU's output pads.

The current implementation only supports configuration of the 1-D gamma table,
by using the GAMMA_LUT KMS property. On top of this current version, more
advanced features such as 3-D LUT support and histogram generation can be
later implemented.

The series starts by adding the bindings definitions and by registering the
clock providers for the various SoCs that support the CMM. It then registers
CMMs in the SoC device tree sources and finally adds a driver for the CMM
itself and integrates it in the rcar-du driver infrastructure to register,
enable and update the CMM units.

Tested on M3-W Salvator-x on HDMI connector and on E3 Ebisu on VGA connector
by injecting a 'color inversion' gamma table using a patched version of
the KMS++ kmstest utility[1], and observing the CMM applies the correction
matrix properly.

Series based on Laurent's drm/du/next branch at
git://linuxtv.org/pinchartl/media.git

Thanks
   j

[1] https://github.com/tomba/kmsxx/

Jacopo Mondi (20):
  dt-bindings: display: renesas,cmm: Add R-Car CMM documentation
  dt-bindings: display, renesas,du: Document cmms property
  dt-bindings: display, renesas,du: Update 'vsps' in example
  clk: renesas: r8a7796: Add CMM clocks
  clk: renesas: r8a7795: Add CMM clocks
  clk: renesas: r8a77965: Add CMM clocks
  clk: renesas: r8a77990: Add CMM clocks
  clk: renesas: r8a77995: Add CMM clocks
  arm64: dts: renesas: r8a7796: Add CMM units
  arm64: dts: renesas: r8a7795: Add CMM units
  arm64: dts: renesas: r8a77965: Add CMM units
  arm64: dts: renesas: r8a77990: Add CMM units
  arm64: dts: renesas: r8a77995: Add CMM units
  drm: rcar-du: Add support for CMM
  drm: rcar-du: Claim CMM support for Gen3 SoCs
  drm: rcar-du: kms: Collect CMM instances
  drm: rcar-du: crtc: Enable and disable CMMs
  drm: rcar-du: group: Enable DU's CMM extension
  drm: rcar-du: crtc: Register GAMMA_LUT properties
  drm: rcar-du: kms: Update CMM in atomic commit tail

 .../bindings/display/renesas,cmm.txt          |  25 +++
 .../bindings/display/renesas,du.txt           |   7 +-
 arch/arm64/boot/dts/renesas/r8a7795.dtsi      |  36 +++-
 arch/arm64/boot/dts/renesas/r8a7796.dtsi      |  25 +++
 arch/arm64/boot/dts/renesas/r8a77965.dtsi     |  25 +++
 arch/arm64/boot/dts/renesas/r8a77990.dtsi     |  20 +-
 arch/arm64/boot/dts/renesas/r8a77995.dtsi     |  20 +-
 drivers/clk/renesas/r8a7795-cpg-mssr.c        |   4 +
 drivers/clk/renesas/r8a7796-cpg-mssr.c        |   3 +
 drivers/clk/renesas/r8a77965-cpg-mssr.c       |   3 +
 drivers/clk/renesas/r8a77990-cpg-mssr.c       |   2 +
 drivers/clk/renesas/r8a77995-cpg-mssr.c       |   2 +
 drivers/gpu/drm/rcar-du/Kconfig               |   7 +
 drivers/gpu/drm/rcar-du/Makefile              |   1 +
 drivers/gpu/drm/rcar-du/rcar_cmm.c            | 197 ++++++++++++++++++
 drivers/gpu/drm/rcar-du/rcar_cmm.h            |  38 ++++
 drivers/gpu/drm/rcar-du/rcar_du_crtc.c        |  18 ++
 drivers/gpu/drm/rcar-du/rcar_du_crtc.h        |   2 +
 drivers/gpu/drm/rcar-du/rcar_du_drv.c         |  12 +-
 drivers/gpu/drm/rcar-du/rcar_du_drv.h         |   4 +
 drivers/gpu/drm/rcar-du/rcar_du_group.c       |   8 +
 drivers/gpu/drm/rcar-du/rcar_du_group.h       |   2 +
 drivers/gpu/drm/rcar-du/rcar_du_kms.c         |  86 ++++++++
 drivers/gpu/drm/rcar-du/rcar_du_regs.h        |   5 +
 24 files changed, 544 insertions(+), 8 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/display/renesas,cmm.txt
 create mode 100644 drivers/gpu/drm/rcar-du/rcar_cmm.c
 create mode 100644 drivers/gpu/drm/rcar-du/rcar_cmm.h

--
2.21.0


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

end of thread, other threads:[~2019-09-12 23:39 UTC | newest]

Thread overview: 58+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-06-06 14:22 [PATCH 00/20] drm: rcar-du: Add Color Management Module (CMM) Jacopo Mondi
2019-06-06 14:22 ` [PATCH 01/20] dt-bindings: display: renesas,cmm: Add R-Car CMM documentation Jacopo Mondi
2019-06-06 16:52   ` Laurent Pinchart
2019-06-06 18:06   ` Geert Uytterhoeven
2019-06-06 20:19   ` Sergei Shtylyov
2019-06-06 14:22 ` [PATCH 02/20] dt-bindings: display, renesas,du: Document cmms property Jacopo Mondi
2019-06-06 16:52   ` Laurent Pinchart
2019-06-06 14:22 ` [PATCH 03/20] dt-bindings: display, renesas,du: Update 'vsps' in example Jacopo Mondi
2019-06-06 16:53   ` Laurent Pinchart
2019-06-06 20:00     ` Geert Uytterhoeven
2019-06-07 11:36       ` Laurent Pinchart
2019-06-06 14:22 ` [PATCH 04/20] clk: renesas: r8a7796: Add CMM clocks Jacopo Mondi
2019-06-06 14:22 ` [PATCH 05/20] clk: renesas: r8a7795: " Jacopo Mondi
2019-06-06 16:58   ` Laurent Pinchart
2019-06-06 18:18     ` Jacopo Mondi
2019-06-12  7:41   ` Geert Uytterhoeven
2019-06-06 14:22 ` [PATCH 06/20] clk: renesas: r8a77965: " Jacopo Mondi
2019-06-06 16:59   ` Laurent Pinchart
2019-06-12  7:43   ` Geert Uytterhoeven
2019-06-06 14:22 ` [PATCH 07/20] clk: renesas: r8a77990: " Jacopo Mondi
2019-06-06 17:00   ` Laurent Pinchart
2019-06-12  7:43   ` Geert Uytterhoeven
2019-06-06 14:22 ` [PATCH 08/20] clk: renesas: r8a77995: " Jacopo Mondi
2019-06-06 17:00   ` Laurent Pinchart
2019-06-12  7:44   ` Geert Uytterhoeven
2019-06-06 14:22 ` [PATCH 09/20] arm64: dts: renesas: r8a7796: Add CMM units Jacopo Mondi
2019-06-06 17:04   ` Laurent Pinchart
2019-06-06 14:22 ` [PATCH 10/20] arm64: dts: renesas: r8a7795: " Jacopo Mondi
2019-06-06 17:06   ` Laurent Pinchart
2019-06-06 14:22 ` [PATCH 11/20] arm64: dts: renesas: r8a77965: " Jacopo Mondi
2019-06-06 17:06   ` Laurent Pinchart
2019-06-06 14:22 ` [PATCH 12/20] arm64: dts: renesas: r8a77990: " Jacopo Mondi
2019-06-06 17:07   ` Laurent Pinchart
2019-06-06 14:22 ` [PATCH 13/20] arm64: dts: renesas: r8a77995: " Jacopo Mondi
2019-06-06 17:08   ` Laurent Pinchart
2019-06-06 14:22 ` [PATCH 14/20] drm: rcar-du: Add support for CMM Jacopo Mondi
2019-06-07 11:35   ` Laurent Pinchart
2019-06-07 11:44     ` Laurent Pinchart
2019-06-07 12:18     ` Laurent Pinchart
2019-06-14  8:54     ` Jacopo Mondi
2019-06-06 14:22 ` [PATCH 15/20] drm: rcar-du: Claim CMM support for Gen3 SoCs Jacopo Mondi
2019-06-07 11:38   ` Laurent Pinchart
2019-06-06 14:22 ` [PATCH 16/20] drm: rcar-du: kms: Collect CMM instances Jacopo Mondi
2019-06-07 11:49   ` Laurent Pinchart
2019-06-06 14:22 ` [PATCH 17/20] drm: rcar-du: crtc: Enable and disable CMMs Jacopo Mondi
2019-06-07 11:51   ` Laurent Pinchart
2019-06-06 14:22 ` [PATCH 18/20] drm: rcar-du: group: Enable DU's CMM extension Jacopo Mondi
2019-06-07 11:55   ` Laurent Pinchart
2019-06-06 14:22 ` [PATCH 19/20] drm: rcar-du: crtc: Register GAMMA_LUT properties Jacopo Mondi
2019-06-07 12:03   ` Laurent Pinchart
2019-06-14  8:15     ` Jacopo Mondi
2019-06-14  8:42       ` Daniel Vetter
2019-06-14  9:27         ` Jacopo Mondi
2019-06-14 14:47           ` Daniel Vetter
2019-06-06 14:22 ` [PATCH 20/20] drm: rcar-du: kms: Update CMM in atomic commit tail Jacopo Mondi
2019-06-07 12:06   ` Laurent Pinchart
2019-06-14  8:19     ` Jacopo Mondi
2019-09-12 23:39       ` Laurent Pinchart

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).