Commit b8f55f24 authored by Daniel Vetter's avatar Daniel Vetter
Browse files

Merge tag 'drm-misc-next-2023-01-19' of git://anongit.freedesktop.org/drm/drm-misc into drm-next



drm-misc-next for $kernel-version:

UAPI Changes:

Cross-subsystem Changes:

Core Changes:

 * Cleanup unneeded include statements wrt <linux/fb.h>, <drm/drm_fb_helper.h>
   and <drm/drm_crtc_helper.h>

 * Remove unused helper DRM_DEBUG_KMS_RATELIMITED()

 * fbdev: Remove obsolete aperture field from struct fb_device, plus
   driver cleanups; Remove unused flag FBINFO_MISC_FIRMWARE

 * MIPI-DSI: Fix brightness, plus rsp. driver updates

 * scheduler: Deprecate drm_sched_resubmit_jobs()

 * ttm: Fix MIPS build; Remove ttm_bo_wait(); Documentation fixes

Driver Changes:

 * Remove obsolete drivers for userspace modesetting i810, mga, r128,
   savage, sis, tdfx, via

 * bridge: Support CDNS DSI J721E, plus DT bindings; lt9611: Various
   fixes and improvements; sil902x: Various fixes; Fixes

 * nouveau: Removed support for legacy ioctls; Replace zero-size array;
   Cleanups

 * panel: Fixes

 * radeon: Use new DRM logging helpers

Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
From: Thomas Zimmermann <tzimmermann@suse.de>
Link: https://patchwork.freedesktop.org/patch/msgid/Y8kDk5YX7Yz3eRhM@linux-uq9g
parents 045e8d10 bd43a984
Loading
Loading
Loading
Loading
+0 −112
Original line number Diff line number Diff line
Cadence DSI bridge
==================

The Cadence DSI bridge is a DPI to DSI bridge supporting up to 4 DSI lanes.

Required properties:
- compatible: should be set to "cdns,dsi".
- reg: physical base address and length of the controller's registers.
- interrupts: interrupt line connected to the DSI bridge.
- clocks: DSI bridge clocks.
- clock-names: must contain "dsi_p_clk" and "dsi_sys_clk".
- phys: phandle link to the MIPI D-PHY controller.
- phy-names: must contain "dphy".
- #address-cells: must be set to 1.
- #size-cells: must be set to 0.

Optional properties:
- resets: DSI reset lines.
- reset-names: can contain "dsi_p_rst".

Required subnodes:
- ports: Ports as described in Documentation/devicetree/bindings/graph.txt.
  2 ports are available:
  * port 0: this port is only needed if some of your DSI devices are
	    controlled through  an external bus like I2C or SPI. Can have at
	    most 4 endpoints. The endpoint number is directly encoding the
	    DSI virtual channel used by this device.
  * port 1: represents the DPI input.
  Other ports will be added later to support the new kind of inputs.

- one subnode per DSI device connected on the DSI bus. Each DSI device should
  contain a reg property encoding its virtual channel.

Example:
	dsi0: dsi@fd0c0000 {
		compatible = "cdns,dsi";
		reg = <0x0 0xfd0c0000 0x0 0x1000>;
		clocks = <&pclk>, <&sysclk>;
		clock-names = "dsi_p_clk", "dsi_sys_clk";
		interrupts = <1>;
		phys = <&dphy0>;
		phy-names = "dphy";
		#address-cells = <1>;
		#size-cells = <0>;

		ports {
			#address-cells = <1>;
			#size-cells = <0>;

			port@1 {
				reg = <1>;
				dsi0_dpi_input: endpoint {
					remote-endpoint = <&xxx_dpi_output>;
				};
			};
		};

		panel: dsi-dev@0 {
			compatible = "<vendor,panel>";
			reg = <0>;
		};
	};

or

	dsi0: dsi@fd0c0000 {
		compatible = "cdns,dsi";
		reg = <0x0 0xfd0c0000 0x0 0x1000>;
		clocks = <&pclk>, <&sysclk>;
		clock-names = "dsi_p_clk", "dsi_sys_clk";
		interrupts = <1>;
		phys = <&dphy1>;
		phy-names = "dphy";
		#address-cells = <1>;
		#size-cells = <0>;

		ports {
			#address-cells = <1>;
			#size-cells = <0>;

			port@0 {
				reg = <0>;
				#address-cells = <1>;
				#size-cells = <0>;

				dsi0_output: endpoint@0 {
					reg = <0>;
					remote-endpoint = <&dsi_panel_input>;
				};
			};

			port@1 {
				reg = <1>;
				dsi0_dpi_input: endpoint {
					remote-endpoint = <&xxx_dpi_output>;
				};
			};
		};
	};

	i2c@xxx {
		panel: panel@59 {
			compatible = "<vendor,panel>";
			reg = <0x59>;

			port {
				dsi_panel_input: endpoint {
					remote-endpoint = <&dsi0_output>;
				};
			};
		};
	};
+180 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/display/bridge/cdns,dsi.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Cadence DSI bridge

maintainers:
  - Boris Brezillon <boris.brezillon@bootlin.com>

description: |
   CDNS DSI is a bridge device which converts DPI to DSI

properties:
  compatible:
    enum:
      - cdns,dsi
      - ti,j721e-dsi

  reg:
    minItems: 1
    items:
      - description:
          Register block for controller's registers.
      - description:
          Register block for wrapper settings registers in case of TI J7 SoCs.

  clocks:
    items:
      - description: PSM clock, used by the IP
      - description: sys clock, used by the IP

  clock-names:
    items:
      - const: dsi_p_clk
      - const: dsi_sys_clk

  phys:
    maxItems: 1

  phy-names:
    const: dphy

  interrupts:
    maxItems: 1

  resets:
    maxItems: 1

  reset-names:
    const: dsi_p_rst

  ports:
    $ref: /schemas/graph.yaml#/properties/ports

    properties:
      port@0:
        $ref: /schemas/graph.yaml#/properties/port
        description:
          Output port representing the DSI output. It can have
          at most 4 endpoints. The endpoint number is directly encoding
          the DSI virtual channel used by this device.

      port@1:
        $ref: /schemas/graph.yaml#/properties/port
        description:
          Input port representing the DPI input.

    required:
      - port@1

allOf:
  - $ref: ../dsi-controller.yaml#

  - if:
      properties:
        compatible:
          contains:
            const: ti,j721e-dsi
    then:
      properties:
        reg:
          minItems: 2
          maxItems: 2
        power-domains:
          maxItems: 1
    else:
      properties:
        reg:
          maxItems: 1

required:
  - compatible
  - reg
  - interrupts
  - clocks
  - clock-names
  - phys
  - phy-names
  - ports

unevaluatedProperties: false

examples:
  - |
    bus {
        #address-cells = <2>;
        #size-cells = <2>;

        dsi@fd0c0000 {
            compatible = "cdns,dsi";
            reg = <0x0 0xfd0c0000 0x0 0x1000>;
            clocks = <&pclk>, <&sysclk>;
            clock-names = "dsi_p_clk", "dsi_sys_clk";
            interrupts = <1>;
            phys = <&dphy0>;
            phy-names = "dphy";

            #address-cells = <1>;
            #size-cells = <0>;

            ports {
                #address-cells = <1>;
                #size-cells = <0>;

                port@1 {
                    reg = <1>;
                    endpoint {
                        remote-endpoint = <&xxx_dpi_output>;
                    };
                };
            };

            panel@0 {
                compatible = "panasonic,vvx10f034n00";
                reg = <0>;
                power-supply = <&vcc_lcd_reg>;
            };
        };
    };

  - |
    bus {
        #address-cells = <2>;
        #size-cells = <2>;

        dsi@fd0c0000 {
            compatible = "cdns,dsi";
            reg = <0x0 0xfd0c0000 0x0 0x1000>;
            clocks = <&pclk>, <&sysclk>;
            clock-names = "dsi_p_clk", "dsi_sys_clk";
            interrupts = <1>;
            phys = <&dphy1>;
            phy-names = "dphy";

            ports {
                #address-cells = <1>;
                #size-cells = <0>;

                port@0 {
                    reg = <0>;
                    #address-cells = <1>;
                    #size-cells = <0>;

                    endpoint@0 {
                        reg = <0>;
                        remote-endpoint = <&dsi_panel_input>;
                    };
                };

                port@1 {
                    reg = <1>;
                    endpoint {
                        remote-endpoint = <&xxx_dpi_output>;
                    };
                };
            };
        };
    };
+1 −0
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ properties:
    items:
      - enum:
          - renesas,r9a07g044-mipi-dsi # RZ/G2{L,LC}
          - renesas,r9a07g054-mipi-dsi # RZ/V2L
      - const: renesas,rzg2l-mipi-dsi

  reg:
+0 −29
Original line number Diff line number Diff line
@@ -6579,11 +6579,6 @@ T: git git://anongit.freedesktop.org/drm/drm-misc
F:	Documentation/devicetree/bindings/display/ilitek,ili9486.yaml
F:	drivers/gpu/drm/tiny/ili9486.c
DRM DRIVER FOR INTEL I810 VIDEO CARDS
S:	Orphan / Obsolete
F:	drivers/gpu/drm/i810/
F:	include/uapi/drm/i810_drm.h
DRM DRIVER FOR JADARD JD9365DA-H3 MIPI-DSI LCD PANELS
M:	Jagan Teki <jagan@edgeble.ai>
S:	Maintained
@@ -6612,11 +6607,6 @@ S: Maintained
F:	Documentation/devicetree/bindings/display/panel/mantix,mlaf057we51-x.yaml
F:	drivers/gpu/drm/panel/panel-mantix-mlaf057we51.c
DRM DRIVER FOR MATROX G200/G400 GRAPHICS CARDS
S:	Orphan / Obsolete
F:	drivers/gpu/drm/mga/
F:	include/uapi/drm/mga_drm.h
DRM DRIVER FOR MGA G200 GRAPHICS CHIPS
M:	Dave Airlie <airlied@redhat.com>
R:	Thomas Zimmermann <tzimmermann@suse.de>
@@ -6735,11 +6725,6 @@ T: git git://anongit.freedesktop.org/drm/drm-misc
F:	drivers/gpu/drm/qxl/
F:	include/uapi/drm/qxl_drm.h
DRM DRIVER FOR RAGE 128 VIDEO CARDS
S:	Orphan / Obsolete
F:	drivers/gpu/drm/r128/
F:	include/uapi/drm/r128_drm.h
DRM DRIVER FOR RAYDIUM RM67191 PANELS
M:	Robert Chiras <robert.chiras@nxp.com>
S:	Maintained
@@ -6767,11 +6752,6 @@ S: Maintained
F:	Documentation/devicetree/bindings/display/panel/rocktech,jh057n00900.yaml
F:	drivers/gpu/drm/panel/panel-sitronix-st7703.c
DRM DRIVER FOR SAVAGE VIDEO CARDS
S:	Orphan / Obsolete
F:	drivers/gpu/drm/savage/
F:	include/uapi/drm/savage_drm.h
DRM DRIVER FOR FIRMWARE FRAMEBUFFERS
M:	Thomas Zimmermann <tzimmermann@suse.de>
M:	Javier Martinez Canillas <javierm@redhat.com>
@@ -6787,11 +6767,6 @@ F: include/drm/drm_aperture.h
F:	include/linux/aperture.h
F:	include/video/nomodeset.h
DRM DRIVER FOR SIS VIDEO CARDS
S:	Orphan / Obsolete
F:	drivers/gpu/drm/sis/
F:	include/uapi/drm/sis_drm.h
DRM DRIVER FOR SITRONIX ST7586 PANELS
M:	David Lechner <david@lechnology.com>
S:	Maintained
@@ -6819,10 +6794,6 @@ T: git git://anongit.freedesktop.org/drm/drm-misc
F:	Documentation/devicetree/bindings/display/ste,mcde.yaml
F:	drivers/gpu/drm/mcde/
DRM DRIVER FOR TDFX VIDEO CARDS
S:	Orphan / Obsolete
F:	drivers/gpu/drm/tdfx/
DRM DRIVER FOR TI DLPC3433 MIPI DSI TO DMD BRIDGE
M:	Jagan Teki <jagan@amarulasolutions.com>
S:	Maintained
+1 −58
Original line number Diff line number Diff line
@@ -397,64 +397,7 @@ menuconfig DRM_LEGACY
	  Unless you have strong reasons to go rogue, say "N".

if DRM_LEGACY

config DRM_TDFX
	tristate "3dfx Banshee/Voodoo3+"
	depends on DRM && PCI
	help
	  Choose this option if you have a 3dfx Banshee or Voodoo3 (or later),
	  graphics card.  If M is selected, the module will be called tdfx.

config DRM_R128
	tristate "ATI Rage 128"
	depends on DRM && PCI
	select FW_LOADER
	help
	  Choose this option if you have an ATI Rage 128 graphics card.  If M
	  is selected, the module will be called r128.  AGP support for
	  this card is strongly suggested (unless you have a PCI version).

config DRM_I810
	tristate "Intel I810"
	# !PREEMPTION because of missing ioctl locking
	depends on DRM && AGP && AGP_INTEL && (!PREEMPTION || BROKEN)
	help
	  Choose this option if you have an Intel I810 graphics card.  If M is
	  selected, the module will be called i810.  AGP support is required
	  for this driver to work.

config DRM_MGA
	tristate "Matrox g200/g400"
	depends on DRM && PCI
	select FW_LOADER
	help
	  Choose this option if you have a Matrox G200, G400 or G450 graphics
	  card.  If M is selected, the module will be called mga.  AGP
	  support is required for this driver to work.

config DRM_SIS
	tristate "SiS video cards"
	depends on DRM && AGP
	depends on FB_SIS || FB_SIS=n
	help
	  Choose this option if you have a SiS 630 or compatible video
	  chipset. If M is selected the module will be called sis. AGP
	  support is required for this driver to work.

config DRM_VIA
	tristate "Via unichrome video cards"
	depends on DRM && PCI
	help
	  Choose this option if you have a Via unichrome or compatible video
	  chipset. If M is selected the module will be called via.

config DRM_SAVAGE
	tristate "Savage video cards"
	depends on DRM && PCI
	help
	  Choose this option if you have a Savage3D/4/SuperSavage/Pro/Twister
	  chipset. If M is selected the module will be called savage.

# leave here to list legacy drivers
endif # DRM_LEGACY

config DRM_EXPORT_FOR_TESTS
Loading