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

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



drm-misc-next for v5.9:

Cross-subsystem Changes:
- Improve dma-buf docs.

Core Changes:
- Add NV15, Q410, Q401 yuv formats.
- Add uncompressed AFBC modifier.
- Add DP helepr for reading Ignore MSA from DPCD.
- Add missing panel type for some panels
- Optimize drm/mm hole handling.
- Constify connector to infoframe functions.
- Add debugfs for VRR monitor range.

Driver Changes:
- Assorted small bugfixes in panfrost, malidp, panel/otm8009a.
- Convert tfp410 dt bindings to yaml, and rework time calculations.
- Add support for a few more simple panels.
- Cleanups and optimizations for ast.
- Allow adv7511 and simple-bridge to be used without connector creation.
- Cleanups to dw-hdmi function prototypes.
- Remove enabled bool from tiny/repaper and mipi-dbi, atomic handles it.
- Remove unused header file from dw-mipi-dsi
- Begin removing ttm_bo->offset.

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

From: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/b1e53620-7937-895c-bfcf-ed208be59c7c@linux.intel.com
parents 0a19b068 41752663
Loading
Loading
Loading
Loading
+0 −66
Original line number Diff line number Diff line
TFP410 DPI to DVI encoder
=========================

Required properties:
- compatible: "ti,tfp410"

Optional properties:
- powerdown-gpios: power-down gpio
- reg: I2C address. If and only if present the device node should be placed
  into the I2C controller node where the TFP410 I2C is connected to.
- ti,deskew: data de-skew in 350ps increments, from -4 to +3, as configured
  through th DK[3:1] pins. This property shall be present only if the TFP410
  is not connected through I2C.

Required nodes:

This device has two video ports. Their connections are modeled using the OF
graph bindings specified in [1]. Each port node shall have a single endpoint.

- Port 0 is the DPI input port. Its endpoint subnode shall contain a
  pclk-sample and bus-width property and a remote-endpoint property as specified
  in [1].
  - If pclk-sample is not defined, pclk-sample = 0 should be assumed for
    backward compatibility.
  - If bus-width is not defined then bus-width = 24 should be assumed for
    backward compatibility.
    bus-width = 24: 24 data lines are connected and single-edge mode
    bus-width = 12: 12 data lines are connected and dual-edge mode

- Port 1 is the DVI output port. Its endpoint subnode shall contain a
  remote-endpoint property is specified in [1].

[1] Documentation/devicetree/bindings/media/video-interfaces.txt


Example
-------

tfp410: encoder@0 {
	compatible = "ti,tfp410";
	powerdown-gpios = <&twl_gpio 2 GPIO_ACTIVE_LOW>;
	ti,deskew = <4>;

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

		port@0 {
			reg = <0>;

			tfp410_in: endpoint@0 {
				pclk-sample = <1>;
				bus-width = <24>;
				remote-endpoint = <&dpi_out>;
			};
		};

		port@1 {
			reg = <1>;

			tfp410_out: endpoint@0 {
				remote-endpoint = <&dvi_connector_in>;
			};
		};
	};
};
+131 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0-only
%YAML 1.2
---
$id: http://devicetree.org/schemas/display/bridge/ti,tfp410.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: TFP410 DPI to DVI encoder

maintainers:
  - Tomi Valkeinen <tomi.valkeinen@ti.com>
  - Jyri Sarha <jsarha@ti.com>

properties:
  compatible:
    const: ti,tfp410

  reg:
    description: I2C address of the device.
    maxItems: 1

  powerdown-gpios:
    maxItems: 1

  ti,deskew:
    description:
      Data de-skew value in 350ps increments, from 0 to 7, as configured
      through the DK[3:1] pins. The de-skew multiplier is computed as
      (DK[3:1] - 4), so it ranges from -4 to 3.
    $ref: /schemas/types.yaml#/definitions/uint32
    minimum: 0
    maximum: 7

  ports:
    description:
      A node containing input and output port nodes with endpoint
      definitions as documented in
      Documentation/devicetree/bindings/media/video-interfaces.txt
    type: object

    properties:
      port@0:
        description: DPI input port.
        type: object

        properties:
          reg:
            const: 0

          endpoint:
            type: object

            properties:
              pclk-sample:
                description:
                  Endpoint sampling edge.
                enum:
                  - 0  # Falling edge
                  - 1  # Rising edge
                default: 0

              bus-width:
                description:
                  Endpoint bus width.
                enum:
                  - 12  # 12 data lines connected and dual-edge mode
                  - 24  # 24 data lines connected and single-edge mode
                default: 24

      port@1:
        description: DVI output port.
        type: object

        properties:
          reg:
            const: 1

          endpoint:
            type: object

    required:
      - port@0
      - port@1

required:
  - compatible
  - ports

if:
  required:
    - reg
then:
  properties:
    ti,deskew: false
else:
  required:
    - ti,deskew

additionalProperties: false

examples:
  - |
    #include <dt-bindings/gpio/gpio.h>

    tfp410: encoder {
        compatible = "ti,tfp410";
        powerdown-gpios = <&twl_gpio 2 GPIO_ACTIVE_LOW>;
        ti,deskew = <3>;

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

            port@0 {
                reg = <0>;
                tfp410_in: endpoint {
                    pclk-sample = <1>;
                    bus-width = <24>;
                    remote-endpoint = <&dpi_out>;
                };
            };

            port@1 {
                reg = <1>;
                tfp410_out: endpoint {
                    remote-endpoint = <&dvi_connector_in>;
                };
            };
        };
    };

...
+6 −0
Original line number Diff line number Diff line
@@ -81,6 +81,10 @@ properties:
      - boe,nv140fhmn49
        # CDTech(H.K.) Electronics Limited 4.3" 480x272 color TFT-LCD panel
      - cdtech,s043wq26h-ct7
        # CDTech(H.K.) Electronics Limited 7" WSVGA (1024x600) TFT LCD Panel
      - cdtech,s070pws19hp-fc21
        # CDTech(H.K.) Electronics Limited 7" WVGA (800x480) TFT LCD Panel
      - cdtech,s070swv29hg-dc44
        # CDTech(H.K.) Electronics Limited 7" 800x480 color TFT-LCD panel
      - cdtech,s070wv95-ct16
        # Chunghwa Picture Tubes Ltd. 7" WXGA TFT LCD panel
@@ -247,6 +251,8 @@ properties:
      - starry,kr122ea0sra
        # Tianma Micro-electronics TM070JDHG30 7.0" WXGA TFT LCD panel
      - tianma,tm070jdhg30
        # Tianma Micro-electronics TM070JVHG33 7.0" WXGA TFT LCD panel
      - tianma,tm070jvhg33
        # Tianma Micro-electronics TM070RVHG71 7.0" WXGA TFT LCD panel
      - tianma,tm070rvhg71
        # Toshiba 8.9" WXGA (1280x768) TFT LCD panel
+3 −3
Original line number Diff line number Diff line
@@ -100,11 +100,11 @@ CPU Access to DMA Buffer Objects
.. kernel-doc:: drivers/dma-buf/dma-buf.c
   :doc: cpu access

Fence Poll Support
~~~~~~~~~~~~~~~~~~
Implicit Fence Poll Support
~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. kernel-doc:: drivers/dma-buf/dma-buf.c
   :doc: fence polling
   :doc: implicit fence polling

Kernel Functions and Structures Reference
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+3 −3
Original line number Diff line number Diff line
@@ -161,11 +161,11 @@ static loff_t dma_buf_llseek(struct file *file, loff_t offset, int whence)
}

/**
 * DOC: fence polling
 * DOC: implicit fence polling
 *
 * To support cross-device and cross-driver synchronization of buffer access
 * implicit fences (represented internally in the kernel with &struct fence) can
 * be attached to a &dma_buf. The glue for that and a few related things are
 * implicit fences (represented internally in the kernel with &struct dma_fence)
 * can be attached to a &dma_buf. The glue for that and a few related things are
 * provided in the &dma_resv structure.
 *
 * Userspace can query the state of these implicitly tracked fences using poll()
Loading