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

Merge tag 'drm-misc-next-2025-03-06' of...

Merge tag 'drm-misc-next-2025-03-06' of https://gitlab.freedesktop.org/drm/misc/kernel

 into drm-next

drm-misc-next for v6.15:

Cross-subsystem Changes:

base:
- component: Provide helper to query bound status

fbdev:
- fbtft: Remove access to page->index

Core Changes:

- Fix usage of logging macros in several places

gem:
- Add test function for imported dma-bufs and use it in core and helpers
- Avoid struct drm_gem_object.import_attach

tests:
- Fix lockdep warnings

ttm:
- Add helpers for TTM shrinker

Driver Changes:

adp:
- Add support for Apple Touch Bar displays on M1/M2

amdxdna:
- Fix interrupt handling

appletbdrm:
- Add support for Apple Touch Bar displays on x86

bridge:
- synopsys: Add HDMI audio support
- ti-sn65dsi83: Support negative DE polarity

ipu-v3:
- Remove unused code

nouveau:
- Avoid multiple -Wflex-array-member-not-at-end warnings

panthor:
- Fix CS_STATUS_ defines
- Improve locking

rockchip:
- analogix_dp: Add eDP support
- lvds: Improve logging
- vop2: Improve HDMI mode handling; Add support for RK3576
- Fix shutdown
- Support rk3562-mali

xe:
- Use TTM shrinker

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

From: Thomas Zimmermann <tzimmermann@suse.de>
Link: https://patchwork.freedesktop.org/patch/msgid/20250306130700.GA485504@linux.fritz.box
parents e21cba70 4423e607
Loading
Loading
Loading
Loading
+83 −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/apple,h7-display-pipe-mipi.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Apple pre-DCP display controller MIPI interface

maintainers:
  - Sasha Finkelstein <fnkl.kernel@gmail.com>

description:
  The MIPI controller part of the pre-DCP Apple display controller

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

properties:
  compatible:
    items:
      - enum:
          - apple,t8112-display-pipe-mipi
          - apple,t8103-display-pipe-mipi
      - const: apple,h7-display-pipe-mipi

  reg:
    maxItems: 1

  power-domains:
    maxItems: 1

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

    properties:
      port@0:
        $ref: /schemas/graph.yaml#/properties/port
        description: Input port. Always connected to the primary controller

      port@1:
        $ref: /schemas/graph.yaml#/properties/port
        description: Output MIPI DSI port to the panel

    required:
      - port@0
      - port@1

required:
  - compatible
  - reg
  - ports

unevaluatedProperties: false

examples:
  - |
    dsi@28200000 {
        compatible = "apple,t8103-display-pipe-mipi", "apple,h7-display-pipe-mipi";
        reg = <0x28200000 0xc000>;
        power-domains = <&ps_dispdfr_mipi>;

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

            port@0 {
                reg = <0>;

                dfr_adp_out_mipi: endpoint {
                    remote-endpoint = <&dfr_adp_out_mipi>;
                };
            };

            port@1 {
                reg = <1>;

                dfr_panel_in: endpoint {
                    remote-endpoint = <&dfr_mipi_out_panel>;
                };
            };
        };
    };
...
+88 −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/apple,h7-display-pipe.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Apple pre-DCP display controller

maintainers:
  - Sasha Finkelstein <fnkl.kernel@gmail.com>

description:
  A secondary display controller used to drive the "touchbar" on
  certain Apple laptops.

properties:
  compatible:
    items:
      - enum:
          - apple,t8112-display-pipe
          - apple,t8103-display-pipe
      - const: apple,h7-display-pipe

  reg:
    items:
      - description: Primary register block, controls planes and blending
      - description:
          Contains other configuration registers like interrupt
          and FIFO control

  reg-names:
    items:
      - const: be
      - const: fe

  power-domains:
    description:
      Phandles to pmgr entries that are needed for this controller to turn on.
      Aside from that, their specific functions are unknown
    maxItems: 2

  interrupts:
    items:
      - description: Unknown function
      - description: Primary interrupt. Vsync events are reported via it

  interrupt-names:
    items:
      - const: be
      - const: fe

  iommus:
    maxItems: 1

  port:
    $ref: /schemas/graph.yaml#/properties/port
    description: Output port. Always connected to apple,h7-display-pipe-mipi

required:
  - compatible
  - reg
  - interrupts
  - port

additionalProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/apple-aic.h>
    display-pipe@28200000 {
        compatible = "apple,t8103-display-pipe", "apple,h7-display-pipe";
        reg = <0x28200000 0xc000>,
              <0x28400000 0x4000>;
        reg-names = "be", "fe";
        power-domains = <&ps_dispdfr_fe>, <&ps_dispdfr_be>;
        interrupt-parent = <&aic>;
        interrupts = <AIC_IRQ 502 IRQ_TYPE_LEVEL_HIGH>,
                     <AIC_IRQ 506 IRQ_TYPE_LEVEL_HIGH>;
        interrupt-names = "be", "fe";
        iommus = <&displaydfr_dart 0>;

        port {
            dfr_adp_out_mipi: endpoint {
                remote-endpoint = <&dfr_mipi_in_adp>;
            };
        };
    };
...
+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/apple,summit.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Apple "Summit" display panel

maintainers:
  - Sasha Finkelstein <fnkl.kernel@gmail.com>

description:
  An OLED panel used as a touchbar on certain Apple laptops.
  Contains a backlight device, which controls brightness of the panel itself.
  The backlight common properties are included for this reason

allOf:
  - $ref: panel-common.yaml#
  - $ref: /schemas/leds/backlight/common.yaml#

properties:
  compatible:
    items:
      - enum:
          - apple,j293-summit
          - apple,j493-summit
      - const: apple,summit

  reg:
    maxItems: 1

required:
  - compatible
  - reg
  - max-brightness
  - port

unevaluatedProperties: false

examples:
  - |
    dsi {
        #address-cells = <1>;
        #size-cells = <0>;

        panel@0 {
            compatible = "apple,j293-summit", "apple,summit";
            reg = <0>;
            max-brightness = <255>;

            port {
                endpoint {
                    remote-endpoint = <&dfr_bridge_out>;
                };
            };
        };
    };
...
+85 −14
Original line number Diff line number Diff line
@@ -14,12 +14,14 @@ description:
maintainers:
  - Sandy Huang <hjc@rock-chips.com>
  - Heiko Stuebner <heiko@sntech.de>
  - Andy Yan <andyshrk@163.com>

properties:
  compatible:
    enum:
      - rockchip,rk3566-vop
      - rockchip,rk3568-vop
      - rockchip,rk3576-vop
      - rockchip,rk3588-vop

  reg:
@@ -37,10 +39,21 @@ properties:
      - const: gamma-lut

  interrupts:
    maxItems: 1
    minItems: 1
    maxItems: 4
    description:
      The VOP interrupt is shared by several interrupt sources, such as
      frame start (VSYNC), line flag and other status interrupts.
      For VOP version under rk3576, the interrupt is shared by several interrupt
      sources, such as frame start (VSYNC), line flag and other interrupt status.
      For VOP version from rk3576 there is a system interrupt for bus error, and
      every video port has it's independent interrupts for vsync and other video
      port related error interrupts.

  interrupt-names:
    items:
      - const: sys
      - const: vp0
      - const: vp1
      - const: vp2

  # See compatible-specific constraints below.
  clocks:
@@ -124,43 +137,100 @@ allOf:
      properties:
        compatible:
          contains:
            const: rockchip,rk3588-vop
            enum:
              - rockchip,rk3566-vop
              - rockchip,rk3568-vop
    then:
      properties:
        clocks:
          minItems: 7
          maxItems: 5

        clock-names:
          minItems: 7
          maxItems: 5

        interrupts:
          maxItems: 1

        interrupt-names: false

        ports:
          required:
            - port@0
            - port@1
            - port@2
            - port@3

        rockchip,vo1-grf: false
        rockchip,vop-grf: false
        rockchip,pmu: false

      required:
        - rockchip,grf
        - rockchip,vo1-grf
        - rockchip,vop-grf
        - rockchip,pmu

    else:
  - if:
      properties:
        compatible:
          contains:
            enum:
              - rockchip,rk3576-vop
    then:
      properties:
        clocks:
          maxItems: 5

        clock-names:
          maxItems: 5

        interrupts:
          minItems: 4

        interrupt-names:
          minItems: 4

        ports:
          required:
            - port@0
            - port@1
            - port@2

        rockchip,vo1-grf: false
        rockchip,vop-grf: false
        rockchip,pmu: false

      required:
        - rockchip,grf
        - rockchip,pmu

  - if:
      properties:
        compatible:
          contains:
            const: rockchip,rk3588-vop
    then:
      properties:
        clocks:
          maxItems: 5
          minItems: 7
          maxItems: 9

        clock-names:
          maxItems: 5
          minItems: 7
          maxItems: 9

        interrupts:
          maxItems: 1

        interrupt-names: false

        ports:
          required:
            - port@0
            - port@1
            - port@2
            - port@3

      required:
        - rockchip,grf
        - rockchip,vo1-grf
        - rockchip,vop-grf
        - rockchip,pmu

additionalProperties: false

@@ -188,6 +258,7 @@ examples:
                              "dclk_vp1",
                              "dclk_vp2";
                power-domains = <&power RK3568_PD_VO>;
                rockchip,grf = <&grf>;
                iommus = <&vop_mmu>;
                vop_out: ports {
                    #address-cells = <1>;
+1 −0
Original line number Diff line number Diff line
@@ -25,6 +25,7 @@ properties:
              - renesas,r9a07g044-mali
              - renesas,r9a07g054-mali
              - rockchip,px30-mali
              - rockchip,rk3562-mali
              - rockchip,rk3568-mali
              - rockchip,rk3576-mali
          - const: arm,mali-bifrost # Mali Bifrost GPU model/revision is fully discoverable
Loading