devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v4 00/41] drm: renesas: shmobile: Atomic conversion + DT support
@ 2023-09-15  8:53 Geert Uytterhoeven
  2023-09-15  8:53 ` [PATCH v4 02/41] dt-bindings: display: Add Renesas SH-Mobile LCDC bindings Geert Uytterhoeven
  2023-09-19 14:28 ` [GIT PULL] drm: renesas: shmobile: Atomic conversion + DT support (was: Re: [PATCH v4 00/41] drm: renesas: shmobile: Atomic conversion + DT support) Geert Uytterhoeven
  0 siblings, 2 replies; 9+ messages in thread
From: Geert Uytterhoeven @ 2023-09-15  8:53 UTC (permalink / raw)
  To: Laurent Pinchart, Kieran Bingham, David Airlie, Daniel Vetter,
	Thomas Zimmermann, Magnus Damm
  Cc: dri-devel, linux-renesas-soc, linux-kernel, Geert Uytterhoeven,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Mauro Carvalho Chehab, Hans Verkuil, devicetree, linux-media,
	linux-fbdev, linux-sh

	Hi all,

It has been 3 years since the last conversion of a DRM driver to atomic
modesetting, so I guess it's time for another one? ;-)

Currently, there are two drivers for the LCD controller on Renesas
SuperH-based and ARM-based SH-Mobile and R-Mobile SoCs:
  1. sh_mobile_lcdcfb, using the fbdev framework,
  2. shmob_drm, using the DRM framework.
However, only the former driver is used, as all platform support
integrates the former.  None of these drivers support DT-based systems.

This patch series converts the SH-Mobile DRM driver to atomic
modesetting, and adds DT support, complemented by the customary set of
fixes and improvements.

Overview:
  - Patch 1 adds a separate maintainer entry.
  - Patch 2 adds DT bindings for the SH-Mobile LCD controller,
  - Patch 3 adds definitions for RGB666 9:9 media bus formats,
  - Patches 4-35 contains miscellaneous fixes, improvements, and
    cleanups for the SH-Mobile DRM driver,
  - Patches 36-40 convert the SH-Mobile DRM driver to atomic
    modesetting,
  - Patch 41 adds DT support to the SH-Mobile DRM driver.

To reduce strain on the audience, I have CCed the DT and media people
only on the cover letter and the DT resp. media patches.  If interested,
the full series should be available through lore.kernel.org.

Some comments and questions can be found in the individual patches.

Changes compared to v3[1]:
  - Rebase on top of v6.6-rc1 and commit 775b0669e19f2e4a
    ("drm/shmobile: Convert to platform remove callback returning void")
    in drm-misc/for-linux-next.

Changes compared to v2[2]:
  - Add Reviewed-by.

Changes compared to v1[3]:
  - New patches:
      - "[PATCH v2 01/41] MAINTAINER: Create entry for Renesas SH-Mobile
	 DRM drivers",
      - "[PATCH v2 18/41] drm: renesas: shmobile: Remove custom plane
	 destroy callback",
  - Add myself as co-maintainer,
  - Make fck clock required,
  - Drop ports description referring to obsolete graph.txt,
  - Condition ports to compatible strings,
  - Drop label and status from example,
  - Add Reviewed-by,
  - Drop unused MEDIA_BUS_FMT_RGB666_2X9_LE, as requested by Laurent,
  - Move explicit clock handling to Runtime PM callbacks,
  - Move devm_pm_runtime_enable() after shmob_drm_setup_clocks(),
  - Depend on PM,
  - Split off removal of call to drm_plane_force_disable(),
  - Select VIDEOMODE_HELPERS,
  - Keep table instead of replacing it by a switch() statement,
  - Fix shmob_drm_interface_data.bus_fmt comment,
  - Drop superfluous blank lines,
  - Keep initialization of info fields together,
  - Use shmob_drm_bus_fmts[],
  - Keep bus format validation at probe time,
  - Pass plane type to shmob_drm_plane_create() to avoid having to shift
    all overlay plane indices by one,
  - Rename primary_plane_funcs to shmob_drm_primary_plane_funcs,
  - Rename shmob_drm_plane_funcs to shmob_drm_overlay_plane_funcs,
  - Move shmob_drm_crtc_finish_page_flip() further up,
  - Inline shmob_drm_crtc_st{art,op}(),
  - Use devm_drm_of_get_bridge(),
  - Don't print bridge->of_node on failure, as this field depends on
    CONFIG_OF.

This has been tested on the R-Mobile A1-based Atmark Techno
Armadillo-800-EVA development board, using both legacy[4] and
DT-based[5] instantiation, with the fbdev-emulated text console, fbset,
and modetest, a.o.

    modetest -M shmob-drm -s 43:800x480@RG16 -P 33@41:640x320+80+80@RG16
    modetest -M shmob-drm -s 43:800x480@RG16

The output of "modetest -M shmob-drm" can be found below[6].

Not much activity has happened since v2, how can we move this forward?
Thanks!

[1] "[PATCH v3 00/41] drm: renesas: shmobile: Atomic conversion + DT
     support"
    https://lore.kernel.org/r/cover.1692178020.git.geert+renesas@glider.be

[2] "[PATCH v2 00/41] drm: renesas: shmobile: Atomic conversion + DT
     support"
    https://lore.kernel.org/r/cover.1689698048.git.geert+renesas@glider.be

[3] "[PATCH 00/39] drm: renesas: shmobile: Atomic conversion + DT
     support"
    https://lore.kernel.org/r/cover.1687423204.git.geert+renesas@glider.be/

[4] "[PATCH/RFC] staging: board: armadillo800eva: Add DRM support"
    https://lore.kernel.org/r/f7874a9da4bcb20fbc9cd133147b67862ebcf0b9.1687418281.git.geert+renesas@glider.be

[5] "[PATCH 0/2] ARM: dts: r8a7740/armadillo800eva: Add LCD support"
    https://lore.kernel.org/r/cover.1687417585.git.geert+renesas@glider.be

[6] Encoders:
    id	crtc	type	possible crtcs	possible clones	
    42	41	DPI	0x00000001	0x00000001

    Connectors:
    id	encoder	status		name		size (mm)	modes	encoders
    43	42	connected	DPI-1          	111x67		1	42
      modes:
	    index name refresh (Hz) hdisp hss hse htot vdisp vss vse vtot
      #0 800x480 59.99 800 840 968 1056 480 515 517 525 33260 flags: nhsync, nvsync; type: preferred, driver
      props:
	    1 EDID:
		    flags: immutable blob
		    blobs:

		    value:
	    2 DPMS:
		    flags: enum
		    enums: On=0 Standby=1 Suspend=2 Off=3
		    value: 0
	    5 link-status:
		    flags: enum
		    enums: Good=0 Bad=1
		    value: 0
	    6 non-desktop:
		    flags: immutable range
		    values: 0 1
		    value: 0
	    4 TILE:
		    flags: immutable blob
		    blobs:

		    value:

    CRTCs:
    id	fb	pos	size
    41	44	(0,0)	(800x480)
      #0 800x480 59.99 800 840 968 1056 480 515 517 525 33260 flags: nhsync, nvsync; type: preferred, driver
      props:
	    24 VRR_ENABLED:
		    flags: range
		    values: 0 1
		    value: 0

    Planes:
    id	crtc	fb	CRTC x,y	x,y	gamma size	possible crtcs
    31	41	44	0,0		0,0	0       	0x00000001
      formats: RG16 RG24 AR24 XR24 NV12 NV21 NV16 NV61 NV24 NV42
      props:
	    8 type:
		    flags: immutable enum
		    enums: Overlay=0 Primary=1 Cursor=2
		    value: 1
	    30 IN_FORMATS:
		    flags: immutable blob
		    blobs:

		    value:
			    01000000000000000a00000018000000
			    01000000400000005247313652473234
			    41523234585232344e5631324e563231
			    4e5631364e5636314e5632344e563432
			    ff030000000000000000000000000000
			    0000000000000000
		    in_formats blob decoded:
			     RG16:  LINEAR
			     RG24:  LINEAR
			     AR24:  LINEAR
			     XR24:  LINEAR
			     NV12:  LINEAR
			     NV21:  LINEAR
			     NV16:  LINEAR
			     NV61:  LINEAR
			     NV24:  LINEAR
			     NV42:  LINEAR
    33	0	0	0,0		0,0	0       	0x00000001
      formats: RG16 RG24 AR24 XR24 NV12 NV21 NV16 NV61 NV24 NV42
      props:
	    8 type:
		    flags: immutable enum
		    enums: Overlay=0 Primary=1 Cursor=2
		    value: 0
	    30 IN_FORMATS:
		    flags: immutable blob
		    blobs:

		    value:
			    01000000000000000a00000018000000
			    01000000400000005247313652473234
			    41523234585232344e5631324e563231
			    4e5631364e5636314e5632344e563432
			    ff030000000000000000000000000000
			    0000000000000000
		    in_formats blob decoded:
			     RG16:  LINEAR
			     RG24:  LINEAR
			     AR24:  LINEAR
			     XR24:  LINEAR
			     NV12:  LINEAR
			     NV21:  LINEAR
			     NV16:  LINEAR
			     NV61:  LINEAR
			     NV24:  LINEAR
			     NV42:  LINEAR
    35	0	0	0,0		0,0	0       	0x00000001
      formats: RG16 RG24 AR24 XR24 NV12 NV21 NV16 NV61 NV24 NV42
      props:
	    8 type:
		    flags: immutable enum
		    enums: Overlay=0 Primary=1 Cursor=2
		    value: 0
	    30 IN_FORMATS:
		    flags: immutable blob
		    blobs:

		    value:
			    01000000000000000a00000018000000
			    01000000400000005247313652473234
			    41523234585232344e5631324e563231
			    4e5631364e5636314e5632344e563432
			    ff030000000000000000000000000000
			    0000000000000000
		    in_formats blob decoded:
			     RG16:  LINEAR
			     RG24:  LINEAR
			     AR24:  LINEAR
			     XR24:  LINEAR
			     NV12:  LINEAR
			     NV21:  LINEAR
			     NV16:  LINEAR
			     NV61:  LINEAR
			     NV24:  LINEAR
			     NV42:  LINEAR
    37	0	0	0,0		0,0	0       	0x00000001
      formats: RG16 RG24 AR24 XR24 NV12 NV21 NV16 NV61 NV24 NV42
      props:
	    8 type:
		    flags: immutable enum
		    enums: Overlay=0 Primary=1 Cursor=2
		    value: 0
	    30 IN_FORMATS:
		    flags: immutable blob
		    blobs:

		    value:
			    01000000000000000a00000018000000
			    01000000400000005247313652473234
			    41523234585232344e5631324e563231
			    4e5631364e5636314e5632344e563432
			    ff030000000000000000000000000000
			    0000000000000000
		    in_formats blob decoded:
			     RG16:  LINEAR
			     RG24:  LINEAR
			     AR24:  LINEAR
			     XR24:  LINEAR
			     NV12:  LINEAR
			     NV21:  LINEAR
			     NV16:  LINEAR
			     NV61:  LINEAR
			     NV24:  LINEAR
			     NV42:  LINEAR
    39	0	0	0,0		0,0	0       	0x00000001
      formats: RG16 RG24 AR24 XR24 NV12 NV21 NV16 NV61 NV24 NV42
      props:
	    8 type:
		    flags: immutable enum
		    enums: Overlay=0 Primary=1 Cursor=2
		    value: 0
	    30 IN_FORMATS:
		    flags: immutable blob
		    blobs:

		    value:
			    01000000000000000a00000018000000
			    01000000400000005247313652473234
			    41523234585232344e5631324e563231
			    4e5631364e5636314e5632344e563432
			    ff030000000000000000000000000000
			    0000000000000000
		    in_formats blob decoded:
			     RG16:  LINEAR
			     RG24:  LINEAR
			     AR24:  LINEAR
			     XR24:  LINEAR
			     NV12:  LINEAR
			     NV21:  LINEAR
			     NV16:  LINEAR
			     NV61:  LINEAR
			     NV24:  LINEAR
			     NV42:  LINEAR

    Frame buffers:
    id	size	pitch

Geert Uytterhoeven (36):
  MAINTAINER: Create entry for Renesas SH-Mobile DRM drivers
  dt-bindings: display: Add Renesas SH-Mobile LCDC bindings
  media: uapi: Add MEDIA_BUS_FMT_RGB666_2X9_BE format
  drm: renesas: shmobile: Fix overlay plane disable
  drm: renesas: shmobile: Fix ARGB32 overlay format typo
  drm: renesas: shmobile: Correct encoder/connector types
  drm: renesas: shmobile: Add support for Runtime PM
  drm: renesas: shmobile: Restore indentation of
    shmob_drm_setup_clocks()
  drm: renesas: shmobile: Use %p4cc to print fourcc code
  drm: renesas: shmobile: Add missing YCbCr formats
  drm: renesas: shmobile: Improve shmob_drm_format_info table
  drm: renesas: shmobile: Improve error handling
  drm: renesas: shmobile: Convert to use devm_request_irq()
  drm: renesas: shmobile: Remove custom plane destroy callback
  drm: renesas: shmobile: Use drmm_universal_plane_alloc()
  drm: renesas: shmobile: Embed drm_device in shmob_drm_device
  drm: renesas: shmobile: Convert container helpers to static inline
    functions
  drm: renesas: shmobile: Replace .dev_private with container_of()
  drm: renesas: shmobile: Use media bus formats in platform data
  drm: renesas: shmobile: Move interface handling to connector setup
  drm: renesas: shmobile: Unify plane allocation
  drm: renesas: shmobile: Rename shmob_drm_crtc.crtc
  drm: renesas: shmobile: Rename shmob_drm_connector.connector
  drm: renesas: shmobile: Rename shmob_drm_plane.plane
  drm: renesas: shmobile: Use drm_crtc_handle_vblank()
  drm: renesas: shmobile: Move shmob_drm_crtc_finish_page_flip()
  drm: renesas: shmobile: Wait for page flip when turning CRTC off
  drm: renesas: shmobile: Turn vblank on/off when enabling/disabling
    CRTC
  drm: renesas: shmobile: Shutdown the display on remove
  drm: renesas: shmobile: Cleanup encoder
  drm: renesas: shmobile: Atomic conversion part 1
  drm: renesas: shmobile: Atomic conversion part 2
  drm: renesas: shmobile: Use suspend/resume helpers
  drm: renesas: shmobile: Remove internal CRTC state tracking
  drm: renesas: shmobile: Atomic conversion part 3
  drm: renesas: shmobile: Add DT support

Laurent Pinchart (5):
  drm: renesas: shmobile: Remove backlight support
  drm: renesas: shmobile: Don't set display info width and height twice
  drm: renesas: shmobile: Rename input clocks
  drm: renesas: shmobile: Remove support for SYS panels
  drm: renesas: shmobile: Use struct videomode in platform data

 .../display/renesas,shmobile-lcdc.yaml        | 130 ++++
 .../media/v4l/subdev-formats.rst              |  72 ++
 MAINTAINERS                                   |  13 +-
 drivers/gpu/drm/renesas/shmobile/Kconfig      |   3 +-
 drivers/gpu/drm/renesas/shmobile/Makefile     |   3 +-
 .../renesas/shmobile/shmob_drm_backlight.c    |  82 ---
 .../renesas/shmobile/shmob_drm_backlight.h    |  19 -
 .../gpu/drm/renesas/shmobile/shmob_drm_crtc.c | 650 ++++++++----------
 .../gpu/drm/renesas/shmobile/shmob_drm_crtc.h |  27 +-
 .../gpu/drm/renesas/shmobile/shmob_drm_drv.c  | 179 +++--
 .../gpu/drm/renesas/shmobile/shmob_drm_drv.h  |  18 +-
 .../gpu/drm/renesas/shmobile/shmob_drm_kms.c  |  77 ++-
 .../gpu/drm/renesas/shmobile/shmob_drm_kms.h  |   9 +-
 .../drm/renesas/shmobile/shmob_drm_plane.c    | 326 +++++----
 .../drm/renesas/shmobile/shmob_drm_plane.h    |   5 +-
 include/linux/platform_data/shmob_drm.h       |  57 +-
 include/uapi/linux/media-bus-format.h         |   3 +-
 17 files changed, 860 insertions(+), 813 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/display/renesas,shmobile-lcdc.yaml
 delete mode 100644 drivers/gpu/drm/renesas/shmobile/shmob_drm_backlight.c
 delete mode 100644 drivers/gpu/drm/renesas/shmobile/shmob_drm_backlight.h

Cc: Rob Herring <robh+dt@kernel.org>
Cc: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>
Cc: Conor Dooley <conor+dt@kernel.org>
Cc: Mauro Carvalho Chehab <mchehab@kernel.org>
Cc: Hans Verkuil <hverkuil@xs4all.nl>
Cc: devicetree@vger.kernel.org
Cc: linux-media@vger.kernel.org
Cc: linux-fbdev@vger.kernel.org
Cc: linux-sh@vger.kernel.org
-- 
2.34.1

Gr{oetje,eeting}s,

						Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
							    -- Linus Torvalds

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

* [PATCH v4 02/41] dt-bindings: display: Add Renesas SH-Mobile LCDC bindings
  2023-09-15  8:53 [PATCH v4 00/41] drm: renesas: shmobile: Atomic conversion + DT support Geert Uytterhoeven
@ 2023-09-15  8:53 ` Geert Uytterhoeven
  2023-09-19 14:28 ` [GIT PULL] drm: renesas: shmobile: Atomic conversion + DT support (was: Re: [PATCH v4 00/41] drm: renesas: shmobile: Atomic conversion + DT support) Geert Uytterhoeven
  1 sibling, 0 replies; 9+ messages in thread
From: Geert Uytterhoeven @ 2023-09-15  8:53 UTC (permalink / raw)
  To: Laurent Pinchart, Kieran Bingham, David Airlie, Daniel Vetter,
	Thomas Zimmermann, Magnus Damm
  Cc: dri-devel, linux-renesas-soc, linux-kernel, Geert Uytterhoeven,
	Rob Herring, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	devicetree

Add device tree bindings for the LCD Controller (LCDC) found in Renesas
SuperH SH-Mobile and ARM SH/R-Mobile SOCs.

Based on a plain text prototype by Laurent Pinchart.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Rob Herring <robh@kernel.org>
---
Cc: Rob Herring <robh+dt@kernel.org>
Cc: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>
Cc: Conor Dooley <conor+dt@kernel.org>
Cc: devicetree@vger.kernel.org

v4:
  - No changes,

v3:
  - Add Reviewed-by,

v2:
  - Add myself as co-maintainer,
  - Make fck clock required,
  - Drop ports description referring to obsolete graph.txt,
  - Condition ports to compatible strings,
  - Drop label and status from example.

Changes compared to Laurent's original:
  - Convert to json-schema,
  - Rename compatible values from "renesas,lcdc-<SoC>" to
    "renesas,<SoC>-lcdc",
  - Add power-domains property,
  - Add MIPI-DSI port on SH-Mobile AG5,
  - Update example to reflect reality,
  - Add to MAINTAINERS.
---
 .../display/renesas,shmobile-lcdc.yaml        | 130 ++++++++++++++++++
 MAINTAINERS                                   |   1 +
 2 files changed, 131 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/display/renesas,shmobile-lcdc.yaml

diff --git a/Documentation/devicetree/bindings/display/renesas,shmobile-lcdc.yaml b/Documentation/devicetree/bindings/display/renesas,shmobile-lcdc.yaml
new file mode 100644
index 0000000000000000..9816c4cacc7d9a7f
--- /dev/null
+++ b/Documentation/devicetree/bindings/display/renesas,shmobile-lcdc.yaml
@@ -0,0 +1,130 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/display/renesas,shmobile-lcdc.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Renesas SH-Mobile LCD Controller (LCDC)
+
+maintainers:
+  - Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
+  - Geert Uytterhoeven <geert+renesas@glider.be>
+
+properties:
+  compatible:
+    enum:
+      - renesas,r8a7740-lcdc # R-Mobile A1
+      - renesas,sh73a0-lcdc  # SH-Mobile AG5
+
+  reg:
+    maxItems: 1
+
+  interrupts:
+    maxItems: 1
+
+  clocks:
+    minItems: 1
+    maxItems: 5
+    description:
+      Only the functional clock is mandatory.
+      Some of the optional clocks are model-dependent (e.g. "video" (a.k.a.
+      "vou" or "dv_clk") is available on R-Mobile A1 only).
+
+  clock-names:
+    minItems: 1
+    items:
+      - const: fck
+      - enum: [ media, lclk, hdmi, video ]
+      - enum: [ media, lclk, hdmi, video ]
+      - enum: [ media, lclk, hdmi, video ]
+      - enum: [ media, lclk, hdmi, video ]
+
+  power-domains:
+    maxItems: 1
+
+  ports:
+    $ref: /schemas/graph.yaml#/properties/ports
+
+    properties:
+      port@0:
+        $ref: /schemas/graph.yaml#/properties/port
+        description: LCD port (R-Mobile A1 and SH-Mobile AG5)
+        unevaluatedProperties: false
+
+      port@1:
+        $ref: /schemas/graph.yaml#/properties/port
+        description: HDMI port (R-Mobile A1 LCDC1 and SH-Mobile AG5)
+        unevaluatedProperties: false
+
+      port@2:
+        $ref: /schemas/graph.yaml#/properties/port
+        description: MIPI-DSI port (SH-Mobile AG5)
+        unevaluatedProperties: false
+
+    required:
+      - port@0
+
+    unevaluatedProperties: false
+
+required:
+  - compatible
+  - reg
+  - interrupts
+  - clocks
+  - clock-names
+  - power-domains
+  - ports
+
+additionalProperties: false
+
+allOf:
+  - if:
+      properties:
+        compatible:
+          contains:
+            const: renesas,r8a7740-lcdc
+    then:
+      properties:
+        ports:
+          properties:
+            port@2: false
+
+  - if:
+      properties:
+        compatible:
+          contains:
+            const: renesas,sh73a0-lcdc
+    then:
+      properties:
+        ports:
+          required:
+            - port@1
+            - port@2
+
+examples:
+  - |
+    #include <dt-bindings/clock/r8a7740-clock.h>
+    #include <dt-bindings/interrupt-controller/arm-gic.h>
+
+    lcd-controller@fe940000 {
+        compatible = "renesas,r8a7740-lcdc";
+        reg = <0xfe940000 0x4000>;
+        interrupts = <GIC_SPI 177 IRQ_TYPE_LEVEL_HIGH>;
+        clocks = <&mstp1_clks R8A7740_CLK_LCDC0>,
+                 <&cpg_clocks R8A7740_CLK_M3>, <&lcdlclk0_clk>,
+                 <&vou_clk>;
+        clock-names = "fck", "media", "lclk", "video";
+        power-domains = <&pd_a4lc>;
+
+        ports {
+            #address-cells = <1>;
+            #size-cells = <0>;
+
+            port@0 {
+                reg = <0>;
+
+                lcdc0_rgb: endpoint {
+                };
+            };
+        };
+    };
diff --git a/MAINTAINERS b/MAINTAINERS
index 70535048b6a96d55..c6d4ea533fbc179a 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -7034,6 +7034,7 @@ M:	Geert Uytterhoeven <geert+renesas@glider.be>
 L:	dri-devel@lists.freedesktop.org
 L:	linux-renesas-soc@vger.kernel.org
 S:	Supported
+F:	Documentation/devicetree/bindings/display/renesas,shmobile-lcdc.yaml
 F:	drivers/gpu/drm/renesas/shmobile/
 F:	include/linux/platform_data/shmob_drm.h
 
-- 
2.34.1


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

* [GIT PULL] drm: renesas: shmobile: Atomic conversion + DT support (was: Re: [PATCH v4 00/41] drm: renesas: shmobile: Atomic conversion + DT support)
  2023-09-15  8:53 [PATCH v4 00/41] drm: renesas: shmobile: Atomic conversion + DT support Geert Uytterhoeven
  2023-09-15  8:53 ` [PATCH v4 02/41] dt-bindings: display: Add Renesas SH-Mobile LCDC bindings Geert Uytterhoeven
@ 2023-09-19 14:28 ` Geert Uytterhoeven
  2023-09-19 15:24   ` Laurent Pinchart
  2023-10-16  9:59   ` [GIT PULL v2] " Geert Uytterhoeven
  1 sibling, 2 replies; 9+ messages in thread
From: Geert Uytterhoeven @ 2023-09-19 14:28 UTC (permalink / raw)
  To: David Airlie, Daniel Vetter
  Cc: Laurent Pinchart, Kieran Bingham, Thomas Zimmermann, Magnus Damm,
	DRI Development, Linux-Renesas, Linux Kernel Mailing List,
	Geert Uytterhoeven, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Mauro Carvalho Chehab, Hans Verkuil,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	Linux Media Mailing List, Linux Fbdev development list,
	Linux-sh list

Hi David, Daniel,

The following changes since commit 0663e1da5ba8e6459e3555ac12c62741668c0d30:

  drm/dp_mst: Tune down error message during payload addition
(2023-09-18 16:38:21 +0300)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers.git
tags/shmob-drm-atomic-dt-tag1

for you to fetch changes up to bfea0fa9052aa8d235b24957eb84d9ff20cb87b7:

  drm: renesas: shmobile: Add DT support (2023-09-19 15:58:04 +0200)

----------------------------------------------------------------
drm: renesas: shmobile: Atomic conversion + DT support

Currently, there are two drivers for the LCD controller on Renesas
SuperH-based and ARM-based SH-Mobile and R-Mobile SoCs:
  1. sh_mobile_lcdcfb, using the fbdev framework,
  2. shmob_drm, using the DRM framework.
However, only the former driver is used, as all platform support
integrates the former.  None of these drivers support DT-based systems.

Convert the SH-Mobile DRM driver to atomic modesetting, and add DT
support, complemented by the customary set of fixes and improvements.

Link: https://lore.kernel.org/r/cover.1694767208.git.geert+renesas@glider.be/

This PR is based on today's drm-misc/for-linux-next, to avoid a
conflict with commit 775b0669e19f2e4a ("drm/shmobile: Convert to
platform remove callback returning void") in drm-misc/for-linux-next
.
Thanks for pulling!
----------------------------------------------------------------
Geert Uytterhoeven (36):
      MAINTAINER: Create entry for Renesas SH-Mobile DRM drivers
      dt-bindings: display: Add Renesas SH-Mobile LCDC bindings
      media: uapi: Add MEDIA_BUS_FMT_RGB666_2X9_BE format
      drm: renesas: shmobile: Fix overlay plane disable
      drm: renesas: shmobile: Fix ARGB32 overlay format typo
      drm: renesas: shmobile: Correct encoder/connector types
      drm: renesas: shmobile: Add support for Runtime PM
      drm: renesas: shmobile: Restore indentation of shmob_drm_setup_clocks()
      drm: renesas: shmobile: Use %p4cc to print fourcc code
      drm: renesas: shmobile: Add missing YCbCr formats
      drm: renesas: shmobile: Improve shmob_drm_format_info table
      drm: renesas: shmobile: Improve error handling
      drm: renesas: shmobile: Convert to use devm_request_irq()
      drm: renesas: shmobile: Remove custom plane destroy callback
      drm: renesas: shmobile: Use drmm_universal_plane_alloc()
      drm: renesas: shmobile: Embed drm_device in shmob_drm_device
      drm: renesas: shmobile: Convert container helpers to static
inline functions
      drm: renesas: shmobile: Replace .dev_private with container_of()
      drm: renesas: shmobile: Use media bus formats in platform data
      drm: renesas: shmobile: Move interface handling to connector setup
      drm: renesas: shmobile: Unify plane allocation
      drm: renesas: shmobile: Rename shmob_drm_crtc.crtc
      drm: renesas: shmobile: Rename shmob_drm_connector.connector
      drm: renesas: shmobile: Rename shmob_drm_plane.plane
      drm: renesas: shmobile: Use drm_crtc_handle_vblank()
      drm: renesas: shmobile: Move shmob_drm_crtc_finish_page_flip()
      drm: renesas: shmobile: Wait for page flip when turning CRTC off
      drm: renesas: shmobile: Turn vblank on/off when enabling/disabling CRTC
      drm: renesas: shmobile: Shutdown the display on remove
      drm: renesas: shmobile: Cleanup encoder
      drm: renesas: shmobile: Atomic conversion part 1
      drm: renesas: shmobile: Atomic conversion part 2
      drm: renesas: shmobile: Use suspend/resume helpers
      drm: renesas: shmobile: Remove internal CRTC state tracking
      drm: renesas: shmobile: Atomic conversion part 3
      drm: renesas: shmobile: Add DT support

Laurent Pinchart (5):
      drm: renesas: shmobile: Remove backlight support
      drm: renesas: shmobile: Don't set display info width and height twice
      drm: renesas: shmobile: Rename input clocks
      drm: renesas: shmobile: Remove support for SYS panels
      drm: renesas: shmobile: Use struct videomode in platform data

 .../bindings/display/renesas,shmobile-lcdc.yaml    | 130 +++++
 .../userspace-api/media/v4l/subdev-formats.rst     |  72 +++
 MAINTAINERS                                        |  13 +-
 drivers/gpu/drm/renesas/shmobile/Kconfig           |   3 +-
 drivers/gpu/drm/renesas/shmobile/Makefile          |   3 +-
 .../gpu/drm/renesas/shmobile/shmob_drm_backlight.c |  82 ---
 .../gpu/drm/renesas/shmobile/shmob_drm_backlight.h |  19 -
 drivers/gpu/drm/renesas/shmobile/shmob_drm_crtc.c  | 650 +++++++++------------
 drivers/gpu/drm/renesas/shmobile/shmob_drm_crtc.h  |  27 +-
 drivers/gpu/drm/renesas/shmobile/shmob_drm_drv.c   | 179 +++---
 drivers/gpu/drm/renesas/shmobile/shmob_drm_drv.h   |  18 +-
 drivers/gpu/drm/renesas/shmobile/shmob_drm_kms.c   |  77 ++-
 drivers/gpu/drm/renesas/shmobile/shmob_drm_kms.h   |   9 +-
 drivers/gpu/drm/renesas/shmobile/shmob_drm_plane.c | 326 ++++++-----
 drivers/gpu/drm/renesas/shmobile/shmob_drm_plane.h |   5 +-
 include/linux/platform_data/shmob_drm.h            |  57 +-
 include/uapi/linux/media-bus-format.h              |   3 +-
 17 files changed, 860 insertions(+), 813 deletions(-)
 create mode 100644
Documentation/devicetree/bindings/display/renesas,shmobile-lcdc.yaml
 delete mode 100644 drivers/gpu/drm/renesas/shmobile/shmob_drm_backlight.c
 delete mode 100644 drivers/gpu/drm/renesas/shmobile/shmob_drm_backlight.h

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

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

* Re: [GIT PULL] drm: renesas: shmobile: Atomic conversion + DT support (was: Re: [PATCH v4 00/41] drm: renesas: shmobile: Atomic conversion + DT support)
  2023-09-19 14:28 ` [GIT PULL] drm: renesas: shmobile: Atomic conversion + DT support (was: Re: [PATCH v4 00/41] drm: renesas: shmobile: Atomic conversion + DT support) Geert Uytterhoeven
@ 2023-09-19 15:24   ` Laurent Pinchart
  2023-09-26 14:51     ` Geert Uytterhoeven
  2023-10-16  9:59   ` [GIT PULL v2] " Geert Uytterhoeven
  1 sibling, 1 reply; 9+ messages in thread
From: Laurent Pinchart @ 2023-09-19 15:24 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: David Airlie, Daniel Vetter, Kieran Bingham, Thomas Zimmermann,
	Magnus Damm, DRI Development, Linux-Renesas,
	Linux Kernel Mailing List, Geert Uytterhoeven, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Mauro Carvalho Chehab,
	Hans Verkuil,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	Linux Media Mailing List, Linux Fbdev development list,
	Linux-sh list

On Tue, Sep 19, 2023 at 04:28:40PM +0200, Geert Uytterhoeven wrote:
> Hi David, Daniel,
> 
> The following changes since commit 0663e1da5ba8e6459e3555ac12c62741668c0d30:
> 
>   drm/dp_mst: Tune down error message during payload addition
> (2023-09-18 16:38:21 +0300)
> 
> are available in the Git repository at:
> 
>   git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers.git
> tags/shmob-drm-atomic-dt-tag1
> 
> for you to fetch changes up to bfea0fa9052aa8d235b24957eb84d9ff20cb87b7:
> 
>   drm: renesas: shmobile: Add DT support (2023-09-19 15:58:04 +0200)
> 
> ----------------------------------------------------------------
> drm: renesas: shmobile: Atomic conversion + DT support
> 
> Currently, there are two drivers for the LCD controller on Renesas
> SuperH-based and ARM-based SH-Mobile and R-Mobile SoCs:
>   1. sh_mobile_lcdcfb, using the fbdev framework,
>   2. shmob_drm, using the DRM framework.
> However, only the former driver is used, as all platform support
> integrates the former.  None of these drivers support DT-based systems.
> 
> Convert the SH-Mobile DRM driver to atomic modesetting, and add DT
> support, complemented by the customary set of fixes and improvements.
> 
> Link: https://lore.kernel.org/r/cover.1694767208.git.geert+renesas@glider.be/
> 
> This PR is based on today's drm-misc/for-linux-next, to avoid a
> conflict with commit 775b0669e19f2e4a ("drm/shmobile: Convert to
> platform remove callback returning void") in drm-misc/for-linux-next
> .
> Thanks for pulling!
> ----------------------------------------------------------------
> Geert Uytterhoeven (36):
>       MAINTAINER: Create entry for Renesas SH-Mobile DRM drivers

I'm technically listed as the maintainer for this driver until Geert
takes over, so for this pull request,

Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

And after that, shmobile won't need my ack to merge further changes :-)

This is very nice work Geert. I'm looking forward to dropping the
sh_mobile_lcdcfb driver.

>       dt-bindings: display: Add Renesas SH-Mobile LCDC bindings
>       media: uapi: Add MEDIA_BUS_FMT_RGB666_2X9_BE format
>       drm: renesas: shmobile: Fix overlay plane disable
>       drm: renesas: shmobile: Fix ARGB32 overlay format typo
>       drm: renesas: shmobile: Correct encoder/connector types
>       drm: renesas: shmobile: Add support for Runtime PM
>       drm: renesas: shmobile: Restore indentation of shmob_drm_setup_clocks()
>       drm: renesas: shmobile: Use %p4cc to print fourcc code
>       drm: renesas: shmobile: Add missing YCbCr formats
>       drm: renesas: shmobile: Improve shmob_drm_format_info table
>       drm: renesas: shmobile: Improve error handling
>       drm: renesas: shmobile: Convert to use devm_request_irq()
>       drm: renesas: shmobile: Remove custom plane destroy callback
>       drm: renesas: shmobile: Use drmm_universal_plane_alloc()
>       drm: renesas: shmobile: Embed drm_device in shmob_drm_device
>       drm: renesas: shmobile: Convert container helpers to static inline functions
>       drm: renesas: shmobile: Replace .dev_private with container_of()
>       drm: renesas: shmobile: Use media bus formats in platform data
>       drm: renesas: shmobile: Move interface handling to connector setup
>       drm: renesas: shmobile: Unify plane allocation
>       drm: renesas: shmobile: Rename shmob_drm_crtc.crtc
>       drm: renesas: shmobile: Rename shmob_drm_connector.connector
>       drm: renesas: shmobile: Rename shmob_drm_plane.plane
>       drm: renesas: shmobile: Use drm_crtc_handle_vblank()
>       drm: renesas: shmobile: Move shmob_drm_crtc_finish_page_flip()
>       drm: renesas: shmobile: Wait for page flip when turning CRTC off
>       drm: renesas: shmobile: Turn vblank on/off when enabling/disabling CRTC
>       drm: renesas: shmobile: Shutdown the display on remove
>       drm: renesas: shmobile: Cleanup encoder
>       drm: renesas: shmobile: Atomic conversion part 1
>       drm: renesas: shmobile: Atomic conversion part 2
>       drm: renesas: shmobile: Use suspend/resume helpers
>       drm: renesas: shmobile: Remove internal CRTC state tracking
>       drm: renesas: shmobile: Atomic conversion part 3
>       drm: renesas: shmobile: Add DT support
> 
> Laurent Pinchart (5):
>       drm: renesas: shmobile: Remove backlight support
>       drm: renesas: shmobile: Don't set display info width and height twice
>       drm: renesas: shmobile: Rename input clocks
>       drm: renesas: shmobile: Remove support for SYS panels
>       drm: renesas: shmobile: Use struct videomode in platform data
> 
>  .../bindings/display/renesas,shmobile-lcdc.yaml    | 130 +++++
>  .../userspace-api/media/v4l/subdev-formats.rst     |  72 +++
>  MAINTAINERS                                        |  13 +-
>  drivers/gpu/drm/renesas/shmobile/Kconfig           |   3 +-
>  drivers/gpu/drm/renesas/shmobile/Makefile          |   3 +-
>  .../gpu/drm/renesas/shmobile/shmob_drm_backlight.c |  82 ---
>  .../gpu/drm/renesas/shmobile/shmob_drm_backlight.h |  19 -
>  drivers/gpu/drm/renesas/shmobile/shmob_drm_crtc.c  | 650 +++++++++------------
>  drivers/gpu/drm/renesas/shmobile/shmob_drm_crtc.h  |  27 +-
>  drivers/gpu/drm/renesas/shmobile/shmob_drm_drv.c   | 179 +++---
>  drivers/gpu/drm/renesas/shmobile/shmob_drm_drv.h   |  18 +-
>  drivers/gpu/drm/renesas/shmobile/shmob_drm_kms.c   |  77 ++-
>  drivers/gpu/drm/renesas/shmobile/shmob_drm_kms.h   |   9 +-
>  drivers/gpu/drm/renesas/shmobile/shmob_drm_plane.c | 326 ++++++-----
>  drivers/gpu/drm/renesas/shmobile/shmob_drm_plane.h |   5 +-
>  include/linux/platform_data/shmob_drm.h            |  57 +-
>  include/uapi/linux/media-bus-format.h              |   3 +-
>  17 files changed, 860 insertions(+), 813 deletions(-)
>  create mode 100644
> Documentation/devicetree/bindings/display/renesas,shmobile-lcdc.yaml
>  delete mode 100644 drivers/gpu/drm/renesas/shmobile/shmob_drm_backlight.c
>  delete mode 100644 drivers/gpu/drm/renesas/shmobile/shmob_drm_backlight.h

-- 
Regards,

Laurent Pinchart

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

* Re: [GIT PULL] drm: renesas: shmobile: Atomic conversion + DT support (was: Re: [PATCH v4 00/41] drm: renesas: shmobile: Atomic conversion + DT support)
  2023-09-19 15:24   ` Laurent Pinchart
@ 2023-09-26 14:51     ` Geert Uytterhoeven
  2023-10-06  6:57       ` Geert Uytterhoeven
  0 siblings, 1 reply; 9+ messages in thread
From: Geert Uytterhoeven @ 2023-09-26 14:51 UTC (permalink / raw)
  To: Laurent Pinchart, David Airlie, Daniel Vetter
  Cc: Kieran Bingham, Thomas Zimmermann, Magnus Damm, DRI Development,
	Linux-Renesas, Linux Kernel Mailing List, Geert Uytterhoeven,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Mauro Carvalho Chehab, Hans Verkuil,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	Linux Media Mailing List, Linux Fbdev development list,
	Linux-sh list

Hi Laurent, David, Daniel,

On Tue, Sep 19, 2023 at 5:24 PM Laurent Pinchart
<laurent.pinchart@ideasonboard.com> wrote:
> On Tue, Sep 19, 2023 at 04:28:40PM +0200, Geert Uytterhoeven wrote:
> > The following changes since commit 0663e1da5ba8e6459e3555ac12c62741668c0d30:
> >
> >   drm/dp_mst: Tune down error message during payload addition
> > (2023-09-18 16:38:21 +0300)
> >
> > are available in the Git repository at:
> >
> >   git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers.git
> > tags/shmob-drm-atomic-dt-tag1
> >
> > for you to fetch changes up to bfea0fa9052aa8d235b24957eb84d9ff20cb87b7:
> >
> >   drm: renesas: shmobile: Add DT support (2023-09-19 15:58:04 +0200)
> >
> > ----------------------------------------------------------------
> > drm: renesas: shmobile: Atomic conversion + DT support
> >
> > Currently, there are two drivers for the LCD controller on Renesas
> > SuperH-based and ARM-based SH-Mobile and R-Mobile SoCs:
> >   1. sh_mobile_lcdcfb, using the fbdev framework,
> >   2. shmob_drm, using the DRM framework.
> > However, only the former driver is used, as all platform support
> > integrates the former.  None of these drivers support DT-based systems.
> >
> > Convert the SH-Mobile DRM driver to atomic modesetting, and add DT
> > support, complemented by the customary set of fixes and improvements.
> >
> > Link: https://lore.kernel.org/r/cover.1694767208.git.geert+renesas@glider.be/
> >
> > This PR is based on today's drm-misc/for-linux-next, to avoid a
> > conflict with commit 775b0669e19f2e4a ("drm/shmobile: Convert to
> > platform remove callback returning void") in drm-misc/for-linux-next

Now drm-misc/for-linux-next (which is still at v6.5-rc2) has been
merged into drm/drm-next (which is at v6.6-rc2), do you want me to
rebase my branch to current drm/drm-next, or any other commit?

Thanks!

> > Thanks for pulling!
> > ----------------------------------------------------------------
> > Geert Uytterhoeven (36):
> >       MAINTAINER: Create entry for Renesas SH-Mobile DRM drivers
>
> I'm technically listed as the maintainer for this driver until Geert
> takes over, so for this pull request,
>
> Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
>
> And after that, shmobile won't need my ack to merge further changes :-)
>
> This is very nice work Geert. I'm looking forward to dropping the
> sh_mobile_lcdcfb driver.

Thank you!

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

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

* Re: [GIT PULL] drm: renesas: shmobile: Atomic conversion + DT support (was: Re: [PATCH v4 00/41] drm: renesas: shmobile: Atomic conversion + DT support)
  2023-09-26 14:51     ` Geert Uytterhoeven
@ 2023-10-06  6:57       ` Geert Uytterhoeven
  0 siblings, 0 replies; 9+ messages in thread
From: Geert Uytterhoeven @ 2023-10-06  6:57 UTC (permalink / raw)
  To: Laurent Pinchart, David Airlie, Daniel Vetter
  Cc: Kieran Bingham, Thomas Zimmermann, Magnus Damm, DRI Development,
	Linux-Renesas, Linux Kernel Mailing List, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Mauro Carvalho Chehab,
	Hans Verkuil,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	Linux Media Mailing List, Linux Fbdev development list,
	Linux-sh list

Hi all,

On Tue, Sep 26, 2023 at 4:51 PM Geert Uytterhoeven <geert@linux-m68k.org> wrote:
> On Tue, Sep 19, 2023 at 5:24 PM Laurent Pinchart
> <laurent.pinchart@ideasonboard.com> wrote:
> > On Tue, Sep 19, 2023 at 04:28:40PM +0200, Geert Uytterhoeven wrote:
> > > The following changes since commit 0663e1da5ba8e6459e3555ac12c62741668c0d30:
> > >
> > >   drm/dp_mst: Tune down error message during payload addition
> > > (2023-09-18 16:38:21 +0300)
> > >
> > > are available in the Git repository at:
> > >
> > >   git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers.git
> > > tags/shmob-drm-atomic-dt-tag1
> > >
> > > for you to fetch changes up to bfea0fa9052aa8d235b24957eb84d9ff20cb87b7:
> > >
> > >   drm: renesas: shmobile: Add DT support (2023-09-19 15:58:04 +0200)
> > >
> > > ----------------------------------------------------------------
> > > drm: renesas: shmobile: Atomic conversion + DT support
> > >
> > > Currently, there are two drivers for the LCD controller on Renesas
> > > SuperH-based and ARM-based SH-Mobile and R-Mobile SoCs:
> > >   1. sh_mobile_lcdcfb, using the fbdev framework,
> > >   2. shmob_drm, using the DRM framework.
> > > However, only the former driver is used, as all platform support
> > > integrates the former.  None of these drivers support DT-based systems.
> > >
> > > Convert the SH-Mobile DRM driver to atomic modesetting, and add DT
> > > support, complemented by the customary set of fixes and improvements.
> > >
> > > Link: https://lore.kernel.org/r/cover.1694767208.git.geert+renesas@glider.be/
> > >
> > > This PR is based on today's drm-misc/for-linux-next, to avoid a
> > > conflict with commit 775b0669e19f2e4a ("drm/shmobile: Convert to
> > > platform remove callback returning void") in drm-misc/for-linux-next
>
> Now drm-misc/for-linux-next (which is still at v6.5-rc2) has been
> merged into drm/drm-next (which is at v6.6-rc2), do you want me to
> rebase my branch to current drm/drm-next, or any other commit?

Please advise me what needs to be done to move this forward.
Thanks!

> > > Thanks for pulling!
> > > ----------------------------------------------------------------
> > > Geert Uytterhoeven (36):
> > >       MAINTAINER: Create entry for Renesas SH-Mobile DRM drivers
> >
> > I'm technically listed as the maintainer for this driver until Geert
> > takes over, so for this pull request,
> >
> > Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> >
> > And after that, shmobile won't need my ack to merge further changes :-)
> >
> > This is very nice work Geert. I'm looking forward to dropping the
> > sh_mobile_lcdcfb driver.

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

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

* [GIT PULL v2] drm: renesas: shmobile: Atomic conversion + DT support (was: Re: [PATCH v4 00/41] drm: renesas: shmobile: Atomic conversion + DT support)
  2023-09-19 14:28 ` [GIT PULL] drm: renesas: shmobile: Atomic conversion + DT support (was: Re: [PATCH v4 00/41] drm: renesas: shmobile: Atomic conversion + DT support) Geert Uytterhoeven
  2023-09-19 15:24   ` Laurent Pinchart
@ 2023-10-16  9:59   ` Geert Uytterhoeven
  2023-10-24 10:08     ` Geert Uytterhoeven
  1 sibling, 1 reply; 9+ messages in thread
From: Geert Uytterhoeven @ 2023-10-16  9:59 UTC (permalink / raw)
  To: David Airlie, Daniel Vetter
  Cc: Laurent Pinchart, Kieran Bingham, Thomas Zimmermann, Magnus Damm,
	DRI Development, Linux-Renesas, Linux Kernel Mailing List,
	Geert Uytterhoeven, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Mauro Carvalho Chehab, Hans Verkuil,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	Linux Media Mailing List, Linux Fbdev development list,
	Linux-sh list

        Hi David, Daniel,

The following changes since commit 389af786f92ecdff35883551d54bf4e507ffcccb:

  Merge tag 'drm-intel-next-2023-09-29' of
git://anongit.freedesktop.org/drm/drm-intel into drm-next (2023-10-04
13:55:19 +1000)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers.git
tags/shmob-drm-atomic-dt-tag2

for you to fetch changes up to 1399ebacbf590dfbac4fbba181dd1595b2fa10ba:

  drm: renesas: shmobile: Add DT support (2023-10-16 11:47:48 +0200)

----------------------------------------------------------------
drm: renesas: shmobile: Atomic conversion + DT support

Currently, there are two drivers for the LCD controller on Renesas
SuperH-based and ARM-based SH-Mobile and R-Mobile SoCs:
  1. sh_mobile_lcdcfb, using the fbdev framework,
  2. shmob_drm, using the DRM framework.
However, only the former driver is used, as all platform support
integrates the former.  None of these drivers support DT-based systems.

Convert the SH-Mobile DRM driver to atomic modesetting, and add DT
support, complemented by the customary set of fixes and improvements.

Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Link: https://lore.kernel.org/r/cover.1694767208.git.geert+renesas@glider.be/

Changes compared to v1:
  - Rebase to drm-next,
  - Add Acked-by.

Thanks for pulling!

----------------------------------------------------------------
Geert Uytterhoeven (36):
      MAINTAINER: Create entry for Renesas SH-Mobile DRM drivers
      dt-bindings: display: Add Renesas SH-Mobile LCDC bindings
      media: uapi: Add MEDIA_BUS_FMT_RGB666_2X9_BE format
      drm: renesas: shmobile: Fix overlay plane disable
      drm: renesas: shmobile: Fix ARGB32 overlay format typo
      drm: renesas: shmobile: Correct encoder/connector types
      drm: renesas: shmobile: Add support for Runtime PM
      drm: renesas: shmobile: Restore indentation of shmob_drm_setup_clocks()
      drm: renesas: shmobile: Use %p4cc to print fourcc code
      drm: renesas: shmobile: Add missing YCbCr formats
      drm: renesas: shmobile: Improve shmob_drm_format_info table
      drm: renesas: shmobile: Improve error handling
      drm: renesas: shmobile: Convert to use devm_request_irq()
      drm: renesas: shmobile: Remove custom plane destroy callback
      drm: renesas: shmobile: Use drmm_universal_plane_alloc()
      drm: renesas: shmobile: Embed drm_device in shmob_drm_device
      drm: renesas: shmobile: Convert container helpers to static
inline functions
      drm: renesas: shmobile: Replace .dev_private with container_of()
      drm: renesas: shmobile: Use media bus formats in platform data
      drm: renesas: shmobile: Move interface handling to connector setup
      drm: renesas: shmobile: Unify plane allocation
      drm: renesas: shmobile: Rename shmob_drm_crtc.crtc
      drm: renesas: shmobile: Rename shmob_drm_connector.connector
      drm: renesas: shmobile: Rename shmob_drm_plane.plane
      drm: renesas: shmobile: Use drm_crtc_handle_vblank()
      drm: renesas: shmobile: Move shmob_drm_crtc_finish_page_flip()
      drm: renesas: shmobile: Wait for page flip when turning CRTC off
      drm: renesas: shmobile: Turn vblank on/off when enabling/disabling CRTC
      drm: renesas: shmobile: Shutdown the display on remove
      drm: renesas: shmobile: Cleanup encoder
      drm: renesas: shmobile: Atomic conversion part 1
      drm: renesas: shmobile: Atomic conversion part 2
      drm: renesas: shmobile: Use suspend/resume helpers
      drm: renesas: shmobile: Remove internal CRTC state tracking
      drm: renesas: shmobile: Atomic conversion part 3
      drm: renesas: shmobile: Add DT support

Laurent Pinchart (5):
      drm: renesas: shmobile: Remove backlight support
      drm: renesas: shmobile: Don't set display info width and height twice
      drm: renesas: shmobile: Rename input clocks
      drm: renesas: shmobile: Remove support for SYS panels
      drm: renesas: shmobile: Use struct videomode in platform data

 .../bindings/display/renesas,shmobile-lcdc.yaml    | 130 +++++
 .../userspace-api/media/v4l/subdev-formats.rst     |  72 +++
 MAINTAINERS                                        |  13 +-
 drivers/gpu/drm/renesas/shmobile/Kconfig           |   3 +-
 drivers/gpu/drm/renesas/shmobile/Makefile          |   3 +-
 .../gpu/drm/renesas/shmobile/shmob_drm_backlight.c |  82 ---
 .../gpu/drm/renesas/shmobile/shmob_drm_backlight.h |  19 -
 drivers/gpu/drm/renesas/shmobile/shmob_drm_crtc.c  | 650 +++++++++------------
 drivers/gpu/drm/renesas/shmobile/shmob_drm_crtc.h  |  27 +-
 drivers/gpu/drm/renesas/shmobile/shmob_drm_drv.c   | 179 +++---
 drivers/gpu/drm/renesas/shmobile/shmob_drm_drv.h   |  18 +-
 drivers/gpu/drm/renesas/shmobile/shmob_drm_kms.c   |  77 ++-
 drivers/gpu/drm/renesas/shmobile/shmob_drm_kms.h   |   9 +-
 drivers/gpu/drm/renesas/shmobile/shmob_drm_plane.c | 326 ++++++-----
 drivers/gpu/drm/renesas/shmobile/shmob_drm_plane.h |   5 +-
 include/linux/platform_data/shmob_drm.h            |  57 +-
 include/uapi/linux/media-bus-format.h              |   3 +-
 17 files changed, 860 insertions(+), 813 deletions(-)
 create mode 100644
Documentation/devicetree/bindings/display/renesas,shmobile-lcdc.yaml
 delete mode 100644 drivers/gpu/drm/renesas/shmobile/shmob_drm_backlight.c
 delete mode 100644 drivers/gpu/drm/renesas/shmobile/shmob_drm_backlight.h

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

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

* Re: [GIT PULL v2] drm: renesas: shmobile: Atomic conversion + DT support (was: Re: [PATCH v4 00/41] drm: renesas: shmobile: Atomic conversion + DT support)
  2023-10-16  9:59   ` [GIT PULL v2] " Geert Uytterhoeven
@ 2023-10-24 10:08     ` Geert Uytterhoeven
  2023-10-27  8:09       ` Geert Uytterhoeven
  0 siblings, 1 reply; 9+ messages in thread
From: Geert Uytterhoeven @ 2023-10-24 10:08 UTC (permalink / raw)
  To: David Airlie, Daniel Vetter
  Cc: Laurent Pinchart, Kieran Bingham, Thomas Zimmermann, Magnus Damm,
	DRI Development, Linux-Renesas, Linux Kernel Mailing List,
	Geert Uytterhoeven, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Mauro Carvalho Chehab, Hans Verkuil,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	Linux Media Mailing List, Linux Fbdev development list,
	Linux-sh list

On Mon, Oct 16, 2023 at 11:59 AM Geert Uytterhoeven
<geert@linux-m68k.org> wrote:
>
>         Hi David, Daniel,
>
> The following changes since commit 389af786f92ecdff35883551d54bf4e507ffcccb:
>
>   Merge tag 'drm-intel-next-2023-09-29' of
> git://anongit.freedesktop.org/drm/drm-intel into drm-next (2023-10-04
> 13:55:19 +1000)
>
> are available in the Git repository at:
>
>   git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers.git
> tags/shmob-drm-atomic-dt-tag2
>
> for you to fetch changes up to 1399ebacbf590dfbac4fbba181dd1595b2fa10ba:
>
>   drm: renesas: shmobile: Add DT support (2023-10-16 11:47:48 +0200)
>
> ----------------------------------------------------------------
> drm: renesas: shmobile: Atomic conversion + DT support
>
> Currently, there are two drivers for the LCD controller on Renesas
> SuperH-based and ARM-based SH-Mobile and R-Mobile SoCs:
>   1. sh_mobile_lcdcfb, using the fbdev framework,
>   2. shmob_drm, using the DRM framework.
> However, only the former driver is used, as all platform support
> integrates the former.  None of these drivers support DT-based systems.
>
> Convert the SH-Mobile DRM driver to atomic modesetting, and add DT
> support, complemented by the customary set of fixes and improvements.
>
> Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> Link: https://lore.kernel.org/r/cover.1694767208.git.geert+renesas@glider.be/
>
> Changes compared to v1:
>   - Rebase to drm-next,
>   - Add Acked-by.
>
> Thanks for pulling!

Ping?
Thanks!

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

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

* Re: [GIT PULL v2] drm: renesas: shmobile: Atomic conversion + DT support (was: Re: [PATCH v4 00/41] drm: renesas: shmobile: Atomic conversion + DT support)
  2023-10-24 10:08     ` Geert Uytterhoeven
@ 2023-10-27  8:09       ` Geert Uytterhoeven
  0 siblings, 0 replies; 9+ messages in thread
From: Geert Uytterhoeven @ 2023-10-27  8:09 UTC (permalink / raw)
  To: David Airlie, Daniel Vetter
  Cc: Laurent Pinchart, Kieran Bingham, Thomas Zimmermann, Magnus Damm,
	DRI Development, Linux-Renesas, Linux Kernel Mailing List,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Mauro Carvalho Chehab, Hans Verkuil,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	Linux Media Mailing List, Linux Fbdev development list,
	Linux-sh list

Hi David, Daniel,

On Tue, Oct 24, 2023 at 12:08 PM Geert Uytterhoeven
<geert@linux-m68k.org> wrote:
> On Mon, Oct 16, 2023 at 11:59 AM Geert Uytterhoeven
> <geert@linux-m68k.org> wrote:
> > The following changes since commit 389af786f92ecdff35883551d54bf4e507ffcccb:
> >
> >   Merge tag 'drm-intel-next-2023-09-29' of
> > git://anongit.freedesktop.org/drm/drm-intel into drm-next (2023-10-04
> > 13:55:19 +1000)
> >
> > are available in the Git repository at:
> >
> >   git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers.git
> > tags/shmob-drm-atomic-dt-tag2
> >
> > for you to fetch changes up to 1399ebacbf590dfbac4fbba181dd1595b2fa10ba:
> >
> >   drm: renesas: shmobile: Add DT support (2023-10-16 11:47:48 +0200)
> >
> > ----------------------------------------------------------------
> > drm: renesas: shmobile: Atomic conversion + DT support
> >
> > Currently, there are two drivers for the LCD controller on Renesas
> > SuperH-based and ARM-based SH-Mobile and R-Mobile SoCs:
> >   1. sh_mobile_lcdcfb, using the fbdev framework,
> >   2. shmob_drm, using the DRM framework.
> > However, only the former driver is used, as all platform support
> > integrates the former.  None of these drivers support DT-based systems.
> >
> > Convert the SH-Mobile DRM driver to atomic modesetting, and add DT
> > support, complemented by the customary set of fixes and improvements.
> >
> > Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> > Link: https://lore.kernel.org/r/cover.1694767208.git.geert+renesas@glider.be/
> >
> > Changes compared to v1:
> >   - Rebase to drm-next,
> >   - Add Acked-by.
> >
> > Thanks for pulling!
>
> Ping?
> Thanks!

Please note that this is a hard dependency for adding shmobile-lcdc
device nodes to DTS files, which is in turn a hard dependency for
removing drivers/staging/board/, and for removing legacy clkdev
registration from various clock drivers.

Thanks for pulling!

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

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

end of thread, other threads:[~2023-10-27  8:09 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-09-15  8:53 [PATCH v4 00/41] drm: renesas: shmobile: Atomic conversion + DT support Geert Uytterhoeven
2023-09-15  8:53 ` [PATCH v4 02/41] dt-bindings: display: Add Renesas SH-Mobile LCDC bindings Geert Uytterhoeven
2023-09-19 14:28 ` [GIT PULL] drm: renesas: shmobile: Atomic conversion + DT support (was: Re: [PATCH v4 00/41] drm: renesas: shmobile: Atomic conversion + DT support) Geert Uytterhoeven
2023-09-19 15:24   ` Laurent Pinchart
2023-09-26 14:51     ` Geert Uytterhoeven
2023-10-06  6:57       ` Geert Uytterhoeven
2023-10-16  9:59   ` [GIT PULL v2] " Geert Uytterhoeven
2023-10-24 10:08     ` Geert Uytterhoeven
2023-10-27  8:09       ` Geert Uytterhoeven

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).