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

Merge tag 'drm-misc-next-2025-05-12' of...

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

 into drm-next

drm-misc-next for v6.16-rc1:

Once more, with async flips.

UAPI Changes:
- Add IN_FORMATS_ASYNC property, use in i915.

Cross-subsystem Changes:
- Remove some unused debug code in dma-buf.

Core Changes:

Driver Changes:
- Add Novatek NT37801 panel.
- Allow submitting empty commands in amdxdna.
- Convert cirrus to use managed request_all_regions.
- Move Sitronix from tiny to their own place.

Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
From: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Link: https://lore.kernel.org/r/23ded62c-6a62-4195-9c08-4dfb81eafd72@linux.intel.com
parents 1faeeb31 9b8f3200
Loading
Loading
Loading
Loading
+69 −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,nt37801.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Novatek NT37801 AMOLED DSI Panel

maintainers:
  - Krzysztof Kozlowski <krzk@kernel.org>

description:
  Naming is inconclusive and different sources claim this is either Novatek
  NT37801 or NT37810 AMOLED DSI Panel.

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

properties:
  compatible:
    const: novatek,nt37801

  reg:
    maxItems: 1
    description: DSI virtual channel

  vci-supply: true
  vdd-supply: true
  vddio-supply: true
  port: true
  reset-gpios: true

required:
  - compatible
  - reg
  - vci-supply
  - vdd-supply
  - vddio-supply
  - port
  - reset-gpios

additionalProperties: false

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

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

        panel@0 {
            compatible = "novatek,nt37801";
            reg = <0>;

            vci-supply = <&vreg_l13b_3p0>;
            vdd-supply = <&vreg_l11b_1p2>;
            vddio-supply = <&vreg_l12b_1p8>;

            reset-gpios = <&tlmm 98 GPIO_ACTIVE_LOW>;

            port {
                endpoint {
                    remote-endpoint = <&dsi0_out>;
                };
            };
        };
    };
...
+97 −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/truly,nt35597-2K-display.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Truly NT35597 DSI 2K display

maintainers:
  - Neil Armstrong <neil.armstrong@linaro.org>

description: |
  Truly NT35597 DSI 2K display is used on the Qualcomm SDM845 MTP board.

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

properties:
  compatible:
    const: truly,nt35597-2K-display

  reg:
    maxItems: 1

  vdda-supply:
    description: regulator that provides the supply voltage Power IC supply

  vdispp-supply:
    description: regulator that provides the supply voltage for positive LCD bias

  vdispn-supply:
    description: regulator that provides the supply voltage for negative LCD bias

  reset-gpios: true

  mode-gpios:
    description:
      Gpio for choosing the mode of the display for single DSI or Dual DSI.
      This should be low for dual DSI and high for single DSI mode.

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

required:
  - compatible
  - reg
  - vdda-supply
  - reset-gpios
  - mode-gpios
  - ports

additionalProperties: false

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

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

        panel@0 {
            compatible = "truly,nt35597-2K-display";
            reg = <0>;

            vdda-supply = <&pm8998_l14>;
            vdispp-supply = <&lab_regulator>;
            vdispn-supply = <&ibb_regulator>;

            reset-gpios = <&tlmm 6 GPIO_ACTIVE_LOW>;
            mode-gpios = <&tlmm 52 GPIO_ACTIVE_HIGH>;

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

                port@0 {
                    reg = <0>;

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

                port@1 {
                    reg = <1>;

                    panel1_in: endpoint {
                        remote-endpoint = <&dsi1_out>;
                    };
                };
            };
        };
    };
...
+0 −59
Original line number Diff line number Diff line
Truly model NT35597 DSI display driver

The Truly NT35597 is a generic display driver, currently only configured
for use in the 2K display on the Qualcomm SDM845 MTP board.

Required properties:
- compatible: should be "truly,nt35597-2K-display"
- vdda-supply: phandle of the regulator that provides the supply voltage
  Power IC supply
- vdispp-supply: phandle of the regulator that provides the supply voltage
  for positive LCD bias
- vdispn-supply: phandle of the regulator that provides the supply voltage
  for negative LCD bias
- reset-gpios: phandle of gpio for reset line
  This should be 8mA, gpio can be configured using mux, pinctrl, pinctrl-names
  (active low)
- mode-gpios: phandle of the gpio for choosing the mode of the display
  for single DSI or Dual DSI
  This should be low for dual DSI and high for single DSI mode
- ports: This device has two video ports driven by two DSIs. Their connections
  are modeled using the OF graph bindings specified in
  Documentation/devicetree/bindings/graph.txt.
  - port@0: DSI input port driven by master DSI
  - port@1: DSI input port driven by secondary DSI

Example:

	dsi@ae94000 {
		panel@0 {
			compatible = "truly,nt35597-2K-display";
			reg = <0>;
			vdda-supply = <&pm8998_l14>;
			vdispp-supply = <&lab_regulator>;
			vdispn-supply = <&ibb_regulator>;
			pinctrl-names = "default", "suspend";
			pinctrl-0 = <&dpu_dsi_active>;
			pinctrl-1 = <&dpu_dsi_suspend>;

			reset-gpios = <&tlmm 6 GPIO_ACTIVE_LOW>;
			mode-gpios = <&tlmm 52 GPIO_ACTIVE_HIGH>;
			ports {
				#address-cells = <1>;
				#size-cells = <0>;
				port@0 {
					reg = <0>;
					panel0_in: endpoint {
						remote-endpoint = <&dsi0_out>;
					};
				};

				port@1 {
					reg = <1>;
					panel1_in: endpoint {
						remote-endpoint = <&dsi1_out>;
					};
				};
			};
		};
	};
+9 −3
Original line number Diff line number Diff line
@@ -7574,6 +7574,12 @@ T: git https://gitlab.freedesktop.org/drm/misc/kernel.git
F:	Documentation/devicetree/bindings/display/panel/novatek,nt36672a.yaml
F:	drivers/gpu/drm/panel/panel-novatek-nt36672a.c
DRM DRIVER FOR NOVATEK NT37801 PANELS
M:	Krzysztof Kozlowski <krzk@kernel.org>
S:	Maintained
F:	Documentation/devicetree/bindings/display/panel/novatek,nt37801.yaml
F:	drivers/gpu/drm/panel/panel-novatek-nt37801.c
DRM DRIVER FOR NVIDIA GEFORCE/QUADRO GPUS
M:	Lyude Paul <lyude@redhat.com>
M:	Danilo Krummrich <dakr@kernel.org>
@@ -7689,13 +7695,13 @@ M: David Lechner <david@lechnology.com>
S:	Maintained
T:	git https://gitlab.freedesktop.org/drm/misc/kernel.git
F:	Documentation/devicetree/bindings/display/sitronix,st7586.txt
F:	drivers/gpu/drm/tiny/st7586.c
F:	drivers/gpu/drm/sitronix/st7586.c
DRM DRIVER FOR SITRONIX ST7571 PANELS
M:	Marcus Folkesson <marcus.folkesson@gmail.com>
S:	Maintained
F:	Documentation/devicetree/bindings/display/sitronix,st7571.yaml
F:	drivers/gpu/drm/tiny/st7571-i2c.c
F:	drivers/gpu/drm/sitronix/st7571-i2c.c
DRM DRIVER FOR SITRONIX ST7701 PANELS
M:	Jagan Teki <jagan@amarulasolutions.com>
@@ -7716,7 +7722,7 @@ M: David Lechner <david@lechnology.com>
S:	Maintained
T:	git https://gitlab.freedesktop.org/drm/misc/kernel.git
F:	Documentation/devicetree/bindings/display/sitronix,st7735r.yaml
F:	drivers/gpu/drm/tiny/st7735r.c
F:	drivers/gpu/drm/sitronix/st7735r.c
DRM DRIVER FOR SOLOMON SSD130X OLED DISPLAYS
M:	Javier Martinez Canillas <javierm@redhat.com>
+12 −10
Original line number Diff line number Diff line
@@ -496,11 +496,11 @@ static int amdxdna_drm_submit_execbuf(struct amdxdna_client *client,
				      struct amdxdna_drm_exec_cmd *args)
{
	struct amdxdna_dev *xdna = client->xdna;
	u32 *arg_bo_hdls;
	u32 *arg_bo_hdls = NULL;
	u32 cmd_bo_hdl;
	int ret;

	if (!args->arg_count || args->arg_count > MAX_ARG_COUNT) {
	if (args->arg_count > MAX_ARG_COUNT) {
		XDNA_ERR(xdna, "Invalid arg bo count %d", args->arg_count);
		return -EINVAL;
	}
@@ -512,6 +512,7 @@ static int amdxdna_drm_submit_execbuf(struct amdxdna_client *client,
	}

	cmd_bo_hdl = (u32)args->cmd_handles;
	if (args->arg_count) {
		arg_bo_hdls = kcalloc(args->arg_count, sizeof(u32), GFP_KERNEL);
		if (!arg_bo_hdls)
			return -ENOMEM;
@@ -521,6 +522,7 @@ static int amdxdna_drm_submit_execbuf(struct amdxdna_client *client,
			ret = -EFAULT;
			goto free_cmd_bo_hdls;
		}
	}

	ret = amdxdna_cmd_submit(client, cmd_bo_hdl, arg_bo_hdls,
				 args->arg_count, args->hwctx, &args->seq);
Loading