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

Merge tag 'drm-misc-next-2025-08-14' of...

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

 into drm-next

drm-misc-next for v6.18:

UAPI Changes:

- Add DRM_IOCTL_GEM_CHANGE_HANDLE for reassigning GEM handles
- Document DRM_MODE_PAGE_FLIP_EVENT

Cross-subsystem Changes:

fbcon:
- Add missing declarations in fbcon.h

Core Changes:

bridge:
- Fix ref counting

panel:
- Replace and remove mipi_dsi_generic_write_{seq/_chatty}()

sched:
- Fixes

Rust:
- Drop Opaque<> from ioctl arguments

Driver Changes:

amdxdma:
- Support buffers allocated by user space
- Streamline PM interfaces
- Fixes

bridge:
- cdns-dsi: Various improvements to mode setting
- Support Solomon SSD2825 plus DT bindings
- Support Waveshare DSI2DPI plus DT bindings

gud:
- Fixes

ivpu:
- Fixes

nouveau:
- Use GSP firmware by default
- Fixes

panel:
- panel-edp: Support mt8189 Chromebooks; Support BOE NV140WUM-N64;
  Support SHP LQ134Z1; Fixes
- panel-simple: Support Olimex LCD-OLinuXino-5CTS plus DT bindings
- Support Samsung AMS561RA01
- Support Hydis HV101HD1 plus DT bindings

panthor:
- Print task/pid on errors
- Fixes

renesas:
- convert to RUNTIME_PM_OPS

repaper:
- Use shadow-plane helpers

rocket:
- Add driver for Rockchip NPU plus DT bindings

sharp-memory:
- Use shadow-plane helpers

simpledrm:
- Use of_reserved_mem_region_to_resource() helper

tidss:
- Use crtc_ fields for programming display mode
- Remove other drivers from aperture

v3d:
- Support querying nubmer of GPU resets for KHR_robustness

vmwgfx:
- Fixes

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

From: Thomas Zimmermann <tzimmermann@suse.de>
Link: https://lore.kernel.org/r/20250814072454.GA18104@linux.fritz.box
parents c17b750b 00708510
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -164,6 +164,8 @@ Casey Connolly <casey.connolly@linaro.org> <caleb@connolly.tech>
Casey Connolly <casey.connolly@linaro.org> <caleb@postmarketos.org>
Can Guo <quic_cang@quicinc.com> <cang@codeaurora.org>
Carl Huang <quic_cjhuang@quicinc.com> <cjhuang@codeaurora.org>
Carl Vanderlip <carl.vanderlip@oss.qualcomm.com> <carlv@codeaurora.org>
Carl Vanderlip <carl.vanderlip@oss.qualcomm.com> <quic_carlv@quicinc.com>
Carlos Bilbao <carlos.bilbao@kernel.org> <carlos.bilbao@amd.com>
Carlos Bilbao <carlos.bilbao@kernel.org> <carlos.bilbao.osdev@gmail.com>
Carlos Bilbao <carlos.bilbao@kernel.org> <bilbao@vt.edu>
+1 −0
Original line number Diff line number Diff line
@@ -10,6 +10,7 @@ Compute Accelerators
   introduction
   amdxdna/index
   qaic/index
   rocket/index

.. only::  subproject and html

+19 −0
Original line number Diff line number Diff line
.. SPDX-License-Identifier: GPL-2.0-only

=====================================
 accel/rocket Rockchip NPU driver
=====================================

The accel/rocket driver supports the Neural Processing Units (NPUs) inside some
Rockchip SoCs such as the RK3588. Rockchip calls it RKNN and sometimes RKNPU.

The hardware is described in chapter 36 in the RK3588 TRM.

This driver just powers the hardware on and off, allocates and maps buffers to
the device and submits jobs to the frontend unit. Everything else is done in
userspace, as a Gallium driver (also called rocket) that is part of the Mesa3D
project.

Hardware currently supported:

* RK3588
+141 −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/solomon,ssd2825.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Solomon SSD2825 RGB to MIPI-DSI bridge

maintainers:
  - Svyatoslav Ryhel <clamor95@gmail.com>

allOf:
  - $ref: /schemas/spi/spi-peripheral-props.yaml#

properties:
  compatible:
    const: solomon,ssd2825

  reg:
    maxItems: 1

  reset-gpios: true

  dvdd-supply:
    description: Regulator for 1.2V digital power supply.

  avdd-supply:
    description: Regulator for 1.2V analog power supply.

  vddio-supply:
    description: Regulator for 1.8V IO power supply.

  spi-max-frequency:
    maximum: 1000000

  spi-cpha: true
  spi-cpol: true

  clocks:
    maxItems: 1
    description: Reference TX_CLK used before PLL is locked.

  solomon,hs-zero-delay-ns:
    description:
      HS zero delay period
    minimum: 0
    maximum: 1700
    default: 133

  solomon,hs-prep-delay-ns:
    description:
      HS prep delay period
    minimum: 0
    maximum: 1728
    default: 40

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

    properties:
      port@0:
        $ref: /schemas/graph.yaml#/$defs/port-base
        unevaluatedProperties: false
        description:
          Video port for RGB input

        properties:
          endpoint:
            $ref: /schemas/graph.yaml#/$defs/endpoint-base
            unevaluatedProperties: false

            properties:
              bus-width:
                enum: [ 16, 18, 24 ]

      port@1:
        $ref: /schemas/graph.yaml#/properties/port
        description:
          Video port for DSI output (panel or connector)

    required:
      - port@0
      - port@1

required:
  - compatible
  - ports

additionalProperties: false

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

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

        dsi@2 {
            compatible = "solomon,ssd2825";
            reg = <2>;

            spi-max-frequency = <1000000>;

            spi-cpha;
            spi-cpol;

            reset-gpios = <&gpio 114 GPIO_ACTIVE_LOW>;

            dvdd-supply = <&vdd_1v2>;
            avdd-supply = <&vdd_1v2>;
            vddio-supply = <&vdd_1v8_io>;

            solomon,hs-zero-delay-ns = <300>;
            solomon,hs-prep-delay-ns = <65>;

            clocks = <&ssd2825_tx_clk>;

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

                port@0 {
                    reg = <0>;

                    bridge_input: endpoint {
                        remote-endpoint = <&dpi_output>;
                        bus-width = <24>;
                    };
                };

                port@1 {
                    reg = <1>;

                    bridge_output: endpoint {
                        remote-endpoint = <&panel_input>;
                    };
                };
            };
        };
    };
+103 −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/waveshare,dsi2dpi.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Waveshare MIPI-DSI to DPI Converter bridge

maintainers:
  - Joseph Guo <qijian.guo@nxp.com>

description:
  Waveshare bridge board is part of Waveshare panel which converts DSI to DPI.

properties:
  compatible:
    const: waveshare,dsi2dpi

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

  power-supply: true

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

    properties:
      port@0:
        $ref: /schemas/graph.yaml#/$defs/port-base
        unevaluatedProperties: false
        description:
          Video port for MIPI DSI input

        properties:
          endpoint:
            $ref: /schemas/media/video-interfaces.yaml#
            unevaluatedProperties: false

            properties:
              data-lanes:
                description: array of physical DSI data lane indexes.
                items:
                  - const: 1
                  - const: 2

            required:
              - data-lanes

      port@1:
        $ref: /schemas/graph.yaml#/properties/port
        description:
          Video port for MIPI DPI output panel.

    required:
      - port@0
      - port@1

required:
  - compatible
  - reg
  - ports
  - power-supply

additionalProperties: false

examples:
  - |

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

      bridge@45 {
        compatible = "waveshare,dsi2dpi";
        reg = <0x45>;
        power-supply = <&reg_3p3v>;

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

          port@0 {
            reg = <0>;

            waveshare_from_dsim: endpoint {
              data-lanes = <1 2>;
              remote-endpoint = <&dsim_to_waveshare>;
            };
          };

          port@1 {
            reg = <1>;

            waveshare_to_panel: endpoint {
              remote-endpoint = <&panel_to_waveshare>;
            };
          };
        };
      };
    };

...
Loading