Commit 1b722407 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge tag 'drm-next-2023-06-29' of git://anongit.freedesktop.org/drm/drm

Pull drm updates from Dave Airlie:
 "There is one set of patches to misc for a i915 gsc/mei proxy driver.

  Otherwise it's mostly amdgpu/i915/msm, lots of hw enablement and lots
  of refactoring.

  core:
   - replace strlcpy with strscpy
   - EDID changes to support further conversion to struct drm_edid
   - Move i915 DSC parameter code to common DRM helpers
   - Add Colorspace functionality

  aperture:
   - ignore framebuffers with non-primary devices

  fbdev:
   - use fbdev i/o helpers
   - add Kconfig options for fb_ops helpers
   - use new fb io helpers directly in drivers

  sysfs:
   - export DRM connector ID

  scheduler:
   - Avoid an infinite loop

  ttm:
   - store function table in .rodata
   - Add query for TTM mem limit
   - Add NUMA awareness to pools
   - Export ttm_pool_fini()

  bridge:
   - fsl-ldb: support i.MX6SX
   - lt9211, lt9611: remove blanking packets
   - tc358768: implement input bus formats, devm cleanups
   - ti-snd65dsi86: implement wait_hpd_asserted
   - analogix: fix endless probe loop
   - samsung-dsim: support swapped clock, fix enabling, support var
     clock
   - display-connector: Add support for external power supply
   - imx: Fix module linking
   - tc358762: Support reset GPIO

  panel:
   - nt36523: Support Lenovo J606F
   - st7703: Support Anbernic RG353V-V2
   - InnoLux G070ACE-L01 support
   - boe-tv101wum-nl6: Improve initialization
   - sharp-ls043t1le001: Mode fixes
   - simple: BOE EV121WXM-N10-1850, S6D7AA0
   - Ampire AM-800480L1TMQW-T00H
   - Rocktech RK043FN48H
   - Starry himax83102-j02
   - Starry ili9882t

  amdgpu:
   - add new ctx query flag to handle reset better
   - add new query/set shadow buffer for rdna3
   - DCN 3.2/3.1.x/3.0.x updates
   - Enable DC_FP on loongarch
   - PCIe fix for RDNA2
   - improve DC FAMS/SubVP support for better power management
   - partition support for lots of engines
   - Take NUMA into account when allocating memory
   - Add new DRM_AMDGPU_WERROR config parameter to help with CI
   - Initial SMU13 overdrive support
   - Add support for new colorspace KMS API
   - W=1 fixes

  amdkfd:
   - Query TTM mem limit rather than hardcoding it
   - GC 9.4.3 partition support
   - Handle NUMA for partitions
   - Add debugger interface for enabling gdb
   - Add KFD event age tracking

  radeon:
   - Fix possible UAF

  i915:
   - new getparam for PXP support
   - GSC/MEI proxy driver
   - Meteorlake display enablement
   - avoid clearing preallocated framebuffers with TTM
   - implement framebuffer mmap support
   - Disable sampler indirect state in bindless heap
   - Enable fdinfo for GuC backends
   - GuC loading and firmware table handling fixes
   - Various refactors for multi-tile enablement
   - Define MOCS and PAT tables for MTL
   - GSC/MEI support for Meteorlake
   - PMU multi-tile support
   - Large driver kernel doc cleanup
   - Allow VRR toggling and arbitrary refresh rates
   - Support async flips on linear buffers on display ver 12+
   - Expose CRTC CTM property on ILK/SNB/VLV
   - New debugfs for display clock frequencies
   - Hotplug refactoring
   - Display refactoring
   - I915_GEM_CREATE_EXT_SET_PAT for Mesa on Meteorlake
   - Use large rings for compute contexts
   - HuC loading for MTL
   - Allow user to set cache at BO creation
   - MTL powermanagement enhancements
   - Switch to dedicated workqueues to stop using flush_scheduled_work()
   - Move display runtime init under display/
   - Remove 10bit gamma on desktop gen3 parts, they don't support it

  habanalabs:
   - uapi: return 0 for user queries if there was a h/w or f/w error
   - Add pci health check when we lose connection with the firmware.
     This can be used to distinguish between pci link down and firmware
     getting stuck.
   - Add more info to the error print when TPC interrupt occur.
   - Firmware fixes

  msm:
   - Adreno A660 bindings
   - SM8350 MDSS bindings fix
   - Added support for DPU on sm6350 and sm6375 platforms
   - Implemented tearcheck support to support vsync on SM150 and newer
     platforms
   - Enabled missing features (DSPP, DSC, split display) on sc8180x,
     sc8280xp, sm8450
   - Added support for DSI and 28nm DSI PHY on MSM8226 platform
   - Added support for DSI on sm6350 and sm6375 platforms
   - Added support for display controller on MSM8226 platform
   - A690 GPU support
   - Move cmdstream dumping out of fence signaling path
   - a610 support
   - Support for a6xx devices without GMU

  nouveau:
   - NULL ptr before deref fixes

  armada:
   - implement fbdev emulation as client

  sun4i:
   - fix mipi-dsi dotclock
   - release clocks

  vc4:
   - rgb range toggle property
   - BT601 / BT2020 HDMI support

  vkms:
   - convert to drmm helpers
   - add reflection and rotation support
   - fix rgb565 conversion

  gma500:
   - fix iomem access

  shmobile:
   - support renesas soc platform
   - enable fbdev

  mxsfb:
   - Add support for i.MX93 LCDIF

  stm:
   - dsi: Use devm_ helper
   - ltdc: Fix potential invalid pointer deref

  renesas:
   - Group drivers in renesas subdirectory to prepare for new platform
   - Drop deprecated R-Car H3 ES1.x support

  meson:
   - Add support for MIPI DSI displays

  virtio:
   - add sync object support

  mediatek:
   - Add display binding document for MT6795"

* tag 'drm-next-2023-06-29' of git://anongit.freedesktop.org/drm/drm: (1791 commits)
  drm/i915: Fix a NULL vs IS_ERR() bug
  drm/i915: make i915_drm_client_fdinfo() reference conditional again
  drm/i915/huc: Fix missing error code in intel_huc_init()
  drm/i915/gsc: take a wakeref for the proxy-init-completion check
  drm/msm/a6xx: Add A610 speedbin support
  drm/msm/a6xx: Add A619_holi speedbin support
  drm/msm/a6xx: Use adreno_is_aXYZ macros in speedbin matching
  drm/msm/a6xx: Use "else if" in GPU speedbin rev matching
  drm/msm/a6xx: Fix some A619 tunables
  drm/msm/a6xx: Add A610 support
  drm/msm/a6xx: Add support for A619_holi
  drm/msm/adreno: Disable has_cached_coherent in GMU wrapper configurations
  drm/msm/a6xx: Introduce GMU wrapper support
  drm/msm/a6xx: Move CX GMU power counter enablement to hw_init
  drm/msm/a6xx: Extend and explain UBWC config
  drm/msm/a6xx: Remove both GBIF and RBBM GBIF halt on hw init
  drm/msm/a6xx: Add a helper for software-resetting the GPU
  drm/msm/a6xx: Improve a6xx_bus_clear_pending_transactions()
  drm/msm/a6xx: Move a6xx_bus_clear_pending_transactions to a6xx_gpu
  drm/msm/a6xx: Move force keepalive vote removal to a6xx_gmu_force_off()
  ...
parents f8824e15 5ff2977b
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -332,6 +332,7 @@ Mauro Carvalho Chehab <mchehab@kernel.org> <m.chehab@samsung.com>
Mauro Carvalho Chehab <mchehab@kernel.org> <mchehab@s-opensource.com>
Maxim Mikityanskiy <maxtram95@gmail.com> <maximmi@mellanox.com>
Maxim Mikityanskiy <maxtram95@gmail.com> <maximmi@nvidia.com>
Maxime Ripard <mripard@kernel.org> <maxime@cerno.tech>
Maxime Ripard <mripard@kernel.org> <maxime.ripard@bootlin.com>
Maxime Ripard <mripard@kernel.org> <maxime.ripard@free-electrons.com>
Mayuresh Janorkar <mayur@ti.com>
+118 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
# Copyright 2020 BayLibre, SAS
%YAML 1.2
---
$id: http://devicetree.org/schemas/display/amlogic,meson-g12a-dw-mipi-dsi.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Amlogic specific extensions to the Synopsys Designware MIPI DSI Host Controller

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

description: |
  The Amlogic Meson Synopsys Designware Integration is composed of
  - A Synopsys DesignWare MIPI DSI Host Controller IP
  - A TOP control block controlling the Clocks & Resets of the IP

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

properties:
  compatible:
    enum:
      - amlogic,meson-g12a-dw-mipi-dsi

  reg:
    maxItems: 1

  clocks:
    minItems: 3
    maxItems: 4

  clock-names:
    minItems: 3
    items:
      - const: pclk
      - const: bit
      - const: px
      - const: meas

  resets:
    maxItems: 1

  reset-names:
    items:
      - const: top

  phys:
    maxItems: 1

  phy-names:
    items:
      - const: dphy

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

    properties:
      port@0:
        $ref: /schemas/graph.yaml#/properties/port
        description: Input node to receive pixel data.

      port@1:
        $ref: /schemas/graph.yaml#/properties/port
        description: DSI output node to panel.

    required:
      - port@0
      - port@1

required:
  - compatible
  - reg
  - clocks
  - clock-names
  - resets
  - reset-names
  - phys
  - phy-names
  - ports

unevaluatedProperties: false

examples:
  - |
    dsi@6000 {
          compatible = "amlogic,meson-g12a-dw-mipi-dsi";
          reg = <0x6000 0x400>;
          resets = <&reset_top>;
          reset-names = "top";
          clocks = <&clk_pclk>, <&bit_clk>, <&clk_px>;
          clock-names = "pclk", "bit", "px";
          phys = <&mipi_dphy>;
          phy-names = "dphy";

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

              /* VPU VENC Input */
              mipi_dsi_venc_port: port@0 {
                  reg = <0>;

                  mipi_dsi_in: endpoint {
                       remote-endpoint = <&dpi_out>;
                  };
              };

              /* DSI Output */
              mipi_dsi_panel_port: port@1 {
                  reg = <1>;

                  mipi_out_panel: endpoint {
                      remote-endpoint = <&mipi_in_panel>;
                  };
              };
          };
    };
+5 −0
Original line number Diff line number Diff line
@@ -96,6 +96,11 @@ properties:
    description:
      A port node pointing to the HDMI-TX port node.

  port@2:
    $ref: /schemas/graph.yaml#/properties/port
    description:
      A port node pointing to the DPI port node (e.g. DSI or LVDS transceiver).

  "#address-cells":
    const: 1

+4 −1
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@ description: |
properties:
  compatible:
    enum:
      - fsl,imx6sx-ldb
      - fsl,imx8mp-ldb
      - fsl,imx93-ldb

@@ -64,7 +65,9 @@ allOf:
      properties:
        compatible:
          contains:
            const: fsl,imx93-ldb
            enum:
              - fsl,imx6sx-ldb
              - fsl,imx93-ldb
    then:
      properties:
        ports:
+30 −5
Original line number Diff line number Diff line
@@ -70,7 +70,9 @@ properties:
  samsung,burst-clock-frequency:
    $ref: /schemas/types.yaml#/definitions/uint32
    description:
      DSIM high speed burst mode frequency.
      DSIM high speed burst mode frequency.  If absent,
      the pixel clock from the attached device or bridge
      will be used instead.

  samsung,esc-clock-frequency:
    $ref: /schemas/types.yaml#/definitions/uint32
@@ -80,7 +82,8 @@ properties:
  samsung,pll-clock-frequency:
    $ref: /schemas/types.yaml#/definitions/uint32
    description:
      DSIM oscillator clock frequency.
      DSIM oscillator clock frequency. If absent, the clock frequency
      of sclk_mipi will be used instead.

  phys:
    maxItems: 1
@@ -100,20 +103,42 @@ properties:
          specified.

      port@1:
        $ref: /schemas/graph.yaml#/properties/port
        $ref: /schemas/graph.yaml#/$defs/port-base
        unevaluatedProperties: false
        description:
          DSI output port node to the panel or the next bridge
          in the chain.

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

            properties:
              data-lanes:
                minItems: 1
                maxItems: 4
                uniqueItems: true
                items:
                  enum: [ 1, 2, 3, 4 ]

              lane-polarities:
                minItems: 1
                maxItems: 5
                description:
                  The Samsung MIPI DSI IP requires that all the data lanes have
                  the same polarity.

            dependencies:
              lane-polarities: [data-lanes]

required:
  - clock-names
  - clocks
  - compatible
  - interrupts
  - reg
  - samsung,burst-clock-frequency
  - samsung,esc-clock-frequency
  - samsung,pll-clock-frequency

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