Commit f5c547ef authored by Dave Airlie's avatar Dave Airlie
Browse files

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



drm-misc-next for v5.6:

UAPI Changes:
- Commandline parser: Add support for panel orientation, and per-mode options.
- Fix IOCTL naming for dma-buf heaps.

Cross-subsystem Changes:
- Rename DMA_HEAP_IOC_ALLOC to DMA_HEAP_IOCTL_ALLOC before it becomes abi.
- Change DMA-BUF system-heap's name to system.
- Fix leak in error handling in dma_heap_ioctl(), and make a symbol static.
- Fix udma-buf cpu access.
- Fix ti devicetree bindings.

Core Changes:
- Add CTA-861-G modes with VIC >= 193.
- Change error handling and remove bug_on in *drm_dev_init.
- Export drm_panel_of_backlight() correctly once more.
- Add support for lvds decoders.
- Convert drm/client and drm/(gem-,)fb-helper to drm-device based logging and update logging todo.

Driver Changes:
- Add support for dsi/px30 to rockchip.
- Add fb damage support to virtio.
- Use dma_resv locking wrappers in vc4, msm, etnaviv.
- Make functions in virtio static, and perform some simplifications.
- Add suspend support to sun4i.
- Add A64 mipi dsi support to sun4i.
- Add runtime pm suspend to komeda.
- Associated driver fixes.

Signed-off-by: default avatarDave Airlie <airlied@redhat.com>

From: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/efc11139-1653-86bc-1b0f-0aefde219850@linux.intel.com
parents 3ae32714 1ce0d516
Loading
Loading
Loading
Loading
+31 −2
Original line number Diff line number Diff line
@@ -15,7 +15,9 @@ properties:
  "#size-cells": true

  compatible:
    const: allwinner,sun6i-a31-mipi-dsi
    enum:
      - allwinner,sun6i-a31-mipi-dsi
      - allwinner,sun50i-a64-mipi-dsi

  reg:
    maxItems: 1
@@ -24,6 +26,8 @@ properties:
    maxItems: 1

  clocks:
    minItems: 1
    maxItems: 2
    items:
      - description: Bus Clock
      - description: Module Clock
@@ -63,13 +67,38 @@ required:
  - reg
  - interrupts
  - clocks
  - clock-names
  - phys
  - phy-names
  - resets
  - vcc-dsi-supply
  - port

allOf:
  - if:
      properties:
         compatible:
           contains:
             const: allwinner,sun6i-a31-mipi-dsi

    then:
        properties:
          clocks:
            minItems: 2

        required:
          - clock-names

  - if:
      properties:
         compatible:
           contains:
             const: allwinner,sun50i-a64-mipi-dsi

    then:
        properties:
          clocks:
            minItems: 1

additionalProperties: false

examples:
+131 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/display/bridge/lvds-codec.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Transparent LVDS encoders and decoders

maintainers:
  - Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>

description: |
  This binding supports transparent LVDS encoders and decoders that don't
  require any configuration.

  LVDS is a physical layer specification defined in ANSI/TIA/EIA-644-A. Multiple
  incompatible data link layers have been used over time to transmit image data
  to LVDS panels. This binding targets devices compatible with the following
  specifications only.

  [JEIDA] "Digital Interface Standards for Monitor", JEIDA-59-1999, February
  1999 (Version 1.0), Japan Electronic Industry Development Association (JEIDA)
  [LDI] "Open LVDS Display Interface", May 1999 (Version 0.95), National
  Semiconductor
  [VESA] "VESA Notebook Panel Standard", October 2007 (Version 1.0), Video
  Electronics Standards Association (VESA)

  Those devices have been marketed under the FPD-Link and FlatLink brand names
  among others.

properties:
  compatible:
    oneOf:
      - items:
        - enum:
          - ti,ds90c185       # For the TI DS90C185 FPD-Link Serializer
          - ti,ds90c187       # For the TI DS90C187 FPD-Link Serializer
          - ti,sn75lvds83     # For the TI SN75LVDS83 FlatLink transmitter
        - const: lvds-encoder # Generic LVDS encoder compatible fallback
      - items:
        - enum:
          - ti,ds90cf384a     # For the DS90CF384A FPD-Link LVDS Receiver
        - const: lvds-decoder # Generic LVDS decoders compatible fallback
      - enum:
        - thine,thc63lvdm83d  # For the THC63LVDM83D LVDS serializer

  ports:
    type: object
    description: |
      This device has two video ports. Their connections are modeled using the
      OF graph bindings specified in Documentation/devicetree/bindings/graph.txt
    properties:
      port@0:
        type: object
        description: |
          For LVDS encoders, port 0 is the parallel input
          For LVDS decoders, port 0 is the LVDS input

      port@1:
        type: object
        description: |
          For LVDS encoders, port 1 is the LVDS output
          For LVDS decoders, port 1 is the parallel output

    required:
      - port@0
      - port@1

  powerdown-gpios:
    description:
      The GPIO used to control the power down line of this device.
    maxItems: 1

required:
  - compatible
  - ports

examples:
  - |
    lvds-encoder {
      compatible = "ti,ds90c185", "lvds-encoder";

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

        port@0 {
          reg = <0>;

          lvds_enc_in: endpoint {
            remote-endpoint = <&display_out_rgb>;
          };
        };

        port@1 {
          reg = <1>;

          lvds_enc_out: endpoint {
            remote-endpoint = <&lvds_panel_in>;
          };
        };
      };
    };

  - |
    lvds-decoder {
      compatible = "ti,ds90cf384a", "lvds-decoder";

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

        port@0 {
          reg = <0>;

          lvds_dec_in: endpoint {
            remote-endpoint = <&display_out_lvds>;
          };
        };

        port@1 {
          reg = <1>;

          lvds_dec_out: endpoint {
            remote-endpoint = <&rgb_panel_in>;
          };
        };
      };
    };

...
+0 −66
Original line number Diff line number Diff line
Parallel to LVDS Encoder
------------------------

This binding supports the parallel to LVDS encoders that don't require any
configuration.

LVDS is a physical layer specification defined in ANSI/TIA/EIA-644-A. Multiple
incompatible data link layers have been used over time to transmit image data
to LVDS panels. This binding targets devices compatible with the following
specifications only.

[JEIDA] "Digital Interface Standards for Monitor", JEIDA-59-1999, February
1999 (Version 1.0), Japan Electronic Industry Development Association (JEIDA)
[LDI] "Open LVDS Display Interface", May 1999 (Version 0.95), National
Semiconductor
[VESA] "VESA Notebook Panel Standard", October 2007 (Version 1.0), Video
Electronics Standards Association (VESA)

Those devices have been marketed under the FPD-Link and FlatLink brand names
among others.


Required properties:

- compatible: Must be "lvds-encoder"

  Any encoder compatible with this generic binding, but with additional
  properties not listed here, must list a device specific compatible first
  followed by this generic compatible.

Required nodes:

This device has two video ports. Their connections are modeled using the OF
graph bindings specified in Documentation/devicetree/bindings/graph.txt.

- Video port 0 for parallel input
- Video port 1 for LVDS output


Example
-------

lvds-encoder {
	compatible = "lvds-encoder";

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

		port@0 {
			reg = <0>;

			lvds_enc_in: endpoint {
				remote-endpoint = <&display_out_rgb>;
			};
		};

		port@1 {
			reg = <1>;

			lvds_enc_out: endpoint {
				remote-endpoint = <&lvds_panel_in>;
			};
		};
	};
};
+0 −50
Original line number Diff line number Diff line
THine Electronics THC63LVDM83D LVDS serializer
----------------------------------------------

The THC63LVDM83D is an LVDS serializer designed to support pixel data
transmission between a host and a flat panel.

Required properties:

- compatible: Should be "thine,thc63lvdm83d"

Optional properties:

- powerdown-gpios: Power down control GPIO (the /PWDN pin, active low).

Required nodes:

The THC63LVDM83D has two video ports. Their connections are modeled using the
OFgraph bindings specified in Documentation/devicetree/bindings/graph.txt.

- Video port 0 for CMOS/TTL input
- Video port 1 for LVDS output


Example
-------

	lvds_enc: encoder@0 {
		compatible = "thine,thc63lvdm83d";

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

			port@0 {
				reg = <0>;

				lvds_enc_in: endpoint@0 {
					remote-endpoint = <&rgb_out>;
				};
			};

			port@1 {
				reg = <1>;

				lvds_enc_out: endpoint@0 {
					remote-endpoint = <&panel_in>;
				};
			};
		};
	};
+0 −55
Original line number Diff line number Diff line
Texas Instruments FPD-Link (LVDS) Serializer
--------------------------------------------

The DS90C185 and DS90C187 are low-power serializers for portable
battery-powered applications that reduces the size of the RGB
interface between the host GPU and the display.

Required properties:

- compatible: Should be
  "ti,ds90c185", "lvds-encoder"  for the TI DS90C185 FPD-Link Serializer
  "ti,ds90c187", "lvds-encoder"  for the TI DS90C187 FPD-Link Serializer

Optional properties:

- powerdown-gpios: Power down control GPIO (the PDB pin, active-low)

Required nodes:

The devices have two video ports. Their connections are modeled using the OF
graph bindings specified in Documentation/devicetree/bindings/graph.txt.

- Video port 0 for parallel input
- Video port 1 for LVDS output


Example
-------

lvds-encoder {
	compatible = "ti,ds90c185", "lvds-encoder";

	powerdown-gpios = <&gpio 17 GPIO_ACTIVE_LOW>;

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

		port@0 {
			reg = <0>;

			lvds_enc_in: endpoint {
				remote-endpoint = <&lcdc_out_rgb>;
			};
		};

		port@1 {
			reg = <1>;

			lvds_enc_out: endpoint {
				remote-endpoint = <&lvds_panel_in>;
			};
		};
	};
};
Loading