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

Merge tag 'drm-misc-next-2023-09-11-1' of git://anongit.freedesktop.org/drm/drm-misc into drm-next



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

UAPI Changes:
- Nouveau changed to not set NO_PREFETCH flag explicitly.

Cross-subsystem Changes:
- Update documentation of dma-buf intro and uapi.
- fbdev/sbus fixes.
- Use initializer macros in a lot of fbdev drivers.
- Add Boris Brezillon as Panfrost driver maintainer.
- Add Jessica Zhang as drm/panel reviewer.
- Make more fbdev drivers use fb_ops helpers for deferred io.
- Small hid trailing whitespace fix.
- Use fb_ops in hid/picolcd

Core Changes:
- Assorted small fixes to ttm tests, drm/mst.
- Documentation updates to bridge.
- Add kunit tests for some drm_fb functions.
- Rework drm_debugfs implementation.
- Update xe documentation to mark todos as completed.

Driver Changes:
- Add support to rockchip for rv1126 mipi-dsi and vop.
- Assorted small fixes to nouveau, bridge/samsung-dsim,
  bridge/lvds-codec, loongson, rockchip, panfrost, gma500, repaper,
  komeda, virtio, ssd130x.
- Add support for simple panels Mitsubishi AA084XE01,
  JDI LPM102A188A,
- Documentation updates to accel/ivpu.
- Some nouveau scheduling/fence fixes.
- Power management related fixes and other fixes to ivpu.
- Assorted bridge/it66121 fixes.
- Make platform drivers return void in remove() callback.

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

From: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/3da6554b-3b47-fe7d-c4ea-21f4f819dbb6@linux.intel.com
parents ce9ecca0 15d30b46
Loading
Loading
Loading
Loading
+94 −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/jdi,lpm102a188a.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: JDI LPM102A188A 2560x1800 10.2" DSI Panel

maintainers:
  - Diogo Ivo <diogo.ivo@tecnico.ulisboa.pt>

description: |
  This panel requires a dual-channel DSI host to operate. It supports two modes:
  - left-right: each channel drives the left or right half of the screen
  - even-odd: each channel drives the even or odd lines of the screen

  Each of the DSI channels controls a separate DSI peripheral. The peripheral
  driven by the first link (DSI-LINK1) is considered the primary peripheral
  and controls the device. The 'link2' property contains a phandle to the
  peripheral driven by the second link (DSI-LINK2).

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

properties:
  compatible:
    const: jdi,lpm102a188a

  reg: true
  enable-gpios: true
  reset-gpios: true
  power-supply: true
  backlight: true

  ddi-supply:
    description: The regulator that provides IOVCC (1.8V).

  link2:
    $ref: /schemas/types.yaml#/definitions/phandle
    description: |
      phandle to the DSI peripheral on the secondary link. Note that the
      presence of this property marks the containing node as DSI-LINK1.

required:
  - compatible
  - reg

if:
  required:
    - link2
then:
  required:
    - power-supply
    - ddi-supply
    - enable-gpios
    - reset-gpios

additionalProperties: false

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

    dsia: dsi@54300000 {
        #address-cells = <1>;
        #size-cells = <0>;
        reg = <0x0 0x54300000 0x0 0x00040000>;

        link2: panel@0 {
            compatible = "jdi,lpm102a188a";
            reg = <0>;
        };
    };

    dsib: dsi@54400000{
        #address-cells = <1>;
        #size-cells = <0>;
        reg = <0x0 0x54400000 0x0 0x00040000>;
        nvidia,ganged-mode = <&dsia>;

        link1: panel@0 {
            compatible = "jdi,lpm102a188a";
            reg = <0>;
            power-supply = <&pplcd_vdd>;
            ddi-supply = <&pp1800_lcdio>;
            enable-gpios = <&gpio TEGRA_GPIO(V, 1) GPIO_ACTIVE_HIGH>;
            reset-gpios = <&gpio TEGRA_GPIO(V, 2) GPIO_ACTIVE_LOW>;
            link2 = <&link2>;
            backlight = <&backlight>;
        };
    };

...
+2 −0
Original line number Diff line number Diff line
@@ -238,6 +238,8 @@ properties:
      - logictechno,lttd800480070-l6wh-rt
        # Mitsubishi "AA070MC01 7.0" WVGA TFT LCD panel
      - mitsubishi,aa070mc01-ca1
        # Mitsubishi AA084XE01 8.4" XGA TFT LCD panel
      - mitsubishi,aa084xe01
        # Multi-Inno Technology Co.,Ltd MI0700S4T-6 7" 800x480 TFT Resistive Touch Module
      - multi-inno,mi0700s4t-6
        # Multi-Inno Technology Co.,Ltd MI0800FT-9 8" 800x600 TFT Resistive Touch Module
+2 −0
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ properties:
          - rockchip,rk3288-mipi-dsi
          - rockchip,rk3399-mipi-dsi
          - rockchip,rk3568-mipi-dsi
          - rockchip,rv1126-mipi-dsi
      - const: snps,dw-mipi-dsi

  interrupts:
@@ -77,6 +78,7 @@ allOf:
            enum:
              - rockchip,px30-mipi-dsi
              - rockchip,rk3568-mipi-dsi
              - rockchip,rv1126-mipi-dsi

    then:
      properties:
+1 −0
Original line number Diff line number Diff line
@@ -31,6 +31,7 @@ properties:
      - rockchip,rk3368-vop
      - rockchip,rk3399-vop-big
      - rockchip,rk3399-vop-lit
      - rockchip,rv1126-vop

  reg:
    minItems: 1
+24 −8
Original line number Diff line number Diff line
@@ -5,14 +5,30 @@ The dma-buf subsystem provides the framework for sharing buffers for
hardware (DMA) access across multiple device drivers and subsystems, and
for synchronizing asynchronous hardware access.

This is used, for example, by drm "prime" multi-GPU support, but is of
course not limited to GPU use cases.

The three main components of this are: (1) dma-buf, representing a
sg_table and exposed to userspace as a file descriptor to allow passing
between devices, (2) fence, which provides a mechanism to signal when
one device has finished access, and (3) reservation, which manages the
shared or exclusive fence(s) associated with the buffer.
As an example, it is used extensively by the DRM subsystem to exchange
buffers between processes, contexts, library APIs within the same
process, and also to exchange buffers with other subsystems such as
V4L2.

This document describes the way in which kernel subsystems can use and
interact with the three main primitives offered by dma-buf:

 - dma-buf, representing a sg_table and exposed to userspace as a file
   descriptor to allow passing between processes, subsystems, devices,
   etc;
 - dma-fence, providing a mechanism to signal when an asynchronous
   hardware operation has completed; and
 - dma-resv, which manages a set of dma-fences for a particular dma-buf
   allowing implicit (kernel-ordered) synchronization of work to
   preserve the illusion of coherent access


Userspace API principles and use
--------------------------------

For more details on how to design your subsystem's API for dma-buf use, please
see Documentation/userspace-api/dma-buf-alloc-exchange.rst.


Shared DMA Buffers
------------------
Loading