Commit 0de62399 authored by Dave Airlie's avatar Dave Airlie
Browse files

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



drm-misc-next for v6.9:

UAPI Changes:

Cross-subsystem Changes:

dma-buf:
- clean up docs

media:
- tc358743: fix v4l device registration

video:
- move all kernel parameters for video behind CONFIG_VIDEO

sound:
- remove <drm/drm_edid.h> include from header

Core Changes:

ci:
- add tests for msm

managed:
- add drmm_release_action() with tests

ttm:
- fix errno codes
- simply busy-placement handling
- fix page decryption

docs:
- add new external references
- clean up

Driver Changes:

amdgpu:
- clean up

bridge:
- imx: add i.MX8MP HDMI PVI plus DT bindings, add i.MX8MP HDMI TX plus DT
  bindings
- samsung-dsim: add bsh-smm-s2/pro boards
- sii902x: fix probing and unregistration
- tc358767: limit pixel PLL input range
- switch to new drm_bridge_read_edid() interface
- clean up

imx:
- use devm_ functions during init
- clean up

lima:
- fix memory leak

loongson:
- fail if no VRAM present

meson:
- switch to new drm_bridge_read_edid() interface

nouveau:
- clean up

panel:
- add BOE TH101MB31IG002-28A plus DT bindings
- add EDT ETML1010G3DRA plus DT bindings
- add Novatek NT36672E LCD DSI plus DT bindings
- nt36523: support 120Hz timings, fix includes
- simple: fix display timings on RK32FN48H
- visionox-vtdr6130: fix initialization

panel-orientation-quirks:
- GPD Win Mini

vmwgfx:
- list command SVGA_3D_CMD_DEFINE_GB_SURFACE_V4 as invalid
- fix null-pointer deref in execbuf
- refactor display-mode probing
- fix fencing for creating cursor MOBs
- fix cursor-memory lifetime
- clean up

xlnx:
- fix live video input for ZynqMP DPSUB

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

From: Thomas Zimmermann <tzimmermann@suse.de>
Link: https://patchwork.freedesktop.org/patch/msgid/20240208164242.GA14321@linux.fritz.box
parents f8e4806e 3ce73840
Loading
Loading
Loading
Loading
+102 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/display/bridge/fsl,imx8mp-hdmi-tx.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Freescale i.MX8MP DWC HDMI TX Encoder

maintainers:
  - Lucas Stach <l.stach@pengutronix.de>

description:
  The i.MX8MP HDMI transmitter is a Synopsys DesignWare
  HDMI 2.0a TX controller IP.

allOf:
  - $ref: /schemas/display/bridge/synopsys,dw-hdmi.yaml#

properties:
  compatible:
    enum:
      - fsl,imx8mp-hdmi-tx

  reg-io-width:
    const: 1

  clocks:
    maxItems: 4

  clock-names:
    items:
      - const: iahb
      - const: isfr
      - const: cec
      - const: pix

  power-domains:
    maxItems: 1

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

    properties:
      port@0:
        $ref: /schemas/graph.yaml#/properties/port
        description: Parallel RGB input port

      port@1:
        $ref: /schemas/graph.yaml#/properties/port
        description: HDMI output port

    required:
      - port@0
      - port@1

required:
  - compatible
  - reg
  - clocks
  - clock-names
  - interrupts
  - power-domains
  - ports

unevaluatedProperties: false

examples:
  - |
    #include <dt-bindings/clock/imx8mp-clock.h>
    #include <dt-bindings/interrupt-controller/irq.h>
    #include <dt-bindings/power/imx8mp-power.h>

    hdmi@32fd8000 {
        compatible = "fsl,imx8mp-hdmi-tx";
        reg = <0x32fd8000 0x7eff>;
        interrupts = <0 IRQ_TYPE_LEVEL_HIGH>;
        clocks = <&clk IMX8MP_CLK_HDMI_APB>,
                 <&clk IMX8MP_CLK_HDMI_REF_266M>,
                 <&clk IMX8MP_CLK_32K>,
                 <&hdmi_tx_phy>;
        clock-names = "iahb", "isfr", "cec", "pix";
        power-domains = <&hdmi_blk_ctrl IMX8MP_HDMIBLK_PD_HDMI_TX>;
        reg-io-width = <1>;
        ports {
           #address-cells = <1>;
           #size-cells = <0>;
           port@0 {
             reg = <0>;

             hdmi_tx_from_pvi: endpoint {
               remote-endpoint = <&pvi_to_hdmi_tx>;
             };
          };

          port@1 {
            reg = <1>;
              hdmi_tx_out: endpoint {
                remote-endpoint = <&hdmi0_con>;
              };
          };
        };
    };
+1 −1
Original line number Diff line number Diff line
@@ -7,7 +7,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml#
title: SN65DSI86 DSI to eDP bridge chip

maintainers:
  - Sandeep Panda <spanda@codeaurora.org>
  - Douglas Anderson <dianders@chromium.org>

description: |
  The Texas Instruments SN65DSI86 bridge takes MIPI DSI in and outputs eDP.
+84 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/display/imx/fsl,imx8mp-hdmi-pvi.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Freescale i.MX8MP HDMI Parallel Video Interface

maintainers:
  - Lucas Stach <l.stach@pengutronix.de>

description:
  The HDMI parallel video interface is a timing and sync generator block in the
  i.MX8MP SoC, that sits between the video source and the HDMI TX controller.

properties:
  compatible:
    const: fsl,imx8mp-hdmi-pvi

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  power-domains:
    maxItems: 1

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

    properties:
      port@0:
        $ref: /schemas/graph.yaml#/properties/port
        description: Input from the LCDIF controller.

      port@1:
        $ref: /schemas/graph.yaml#/properties/port
        description: Output to the HDMI TX controller.

    required:
      - port@0
      - port@1

required:
  - compatible
  - reg
  - interrupts
  - power-domains
  - ports

additionalProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/irq.h>
    #include <dt-bindings/power/imx8mp-power.h>

    display-bridge@32fc4000 {
        compatible = "fsl,imx8mp-hdmi-pvi";
        reg = <0x32fc4000 0x44>;
        interrupt-parent = <&irqsteer_hdmi>;
        interrupts = <12 IRQ_TYPE_LEVEL_HIGH>;
        power-domains = <&hdmi_blk_ctrl IMX8MP_HDMIBLK_PD_PVI>;

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

            port@0 {
                reg = <0>;
                pvi_from_lcdif3: endpoint {
                    remote-endpoint = <&lcdif3_to_pvi>;
                };
            };

            port@1 {
                reg = <1>;
                pvi_to_hdmi_tx: endpoint {
                    remote-endpoint = <&hdmi_tx_from_pvi>;
                };
            };
        };
    };
+58 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/display/panel/boe,th101mb31ig002-28a.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: BOE TH101MB31IG002-28A WXGA DSI Display Panel

maintainers:
  - Manuel Traut <manut@mecka.net>

allOf:
  - $ref: panel-common.yaml#

properties:
  compatible:
    enum:
        # BOE TH101MB31IG002-28A 10.1" WXGA TFT LCD panel
      - boe,th101mb31ig002-28a

  reg: true
  backlight: true
  enable-gpios: true
  power-supply: true
  port: true
  rotation: true

required:
  - compatible
  - reg
  - enable-gpios
  - power-supply

additionalProperties: false

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

    dsi {
        #address-cells = <1>;
        #size-cells = <0>;
        panel@0 {
            compatible = "boe,th101mb31ig002-28a";
            reg = <0>;
            backlight = <&backlight_lcd0>;
            enable-gpios = <&gpio 45 GPIO_ACTIVE_HIGH>;
            rotation = <90>;
            power-supply = <&vcc_3v3>;
            port {
                panel_in_dsi: endpoint {
                    remote-endpoint = <&dsi_out_con>;
                };
            };
        };
    };

...
+66 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/display/panel/novatek,nt36672e.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Novatek NT36672E LCD DSI Panel

maintainers:
  - Ritesh Kumar <quic_riteshk@quicinc.com>

allOf:
  - $ref: panel-common.yaml#

properties:
  compatible:
    const: novatek,nt36672e

  reg:
    maxItems: 1
    description: DSI virtual channel

  vddi-supply: true
  avdd-supply: true
  avee-supply: true
  port: true
  reset-gpios: true
  backlight: true

required:
  - compatible
  - reg
  - vddi-supply
  - avdd-supply
  - avee-supply
  - reset-gpios
  - port

additionalProperties: false

examples:
  - |
    #include <dt-bindings/gpio/gpio.h>
    dsi {
        #address-cells = <1>;
        #size-cells = <0>;
        panel@0 {
            compatible = "novatek,nt36672e";
            reg = <0>;

            reset-gpios = <&tlmm 44 GPIO_ACTIVE_HIGH>;

            vddi-supply = <&vreg_l8c_1p8>;
            avdd-supply = <&disp_avdd>;
            avee-supply = <&disp_avee>;

            backlight = <&pwm_backlight>;

            port {
                panel0_in: endpoint {
                    remote-endpoint = <&dsi0_out>;
                };
            };
        };
    };
...
Loading