Commit 7e6739b9 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge tag 'drm-next-2022-10-05' of git://anongit.freedesktop.org/drm/drm

Pull drm updates from Dave Airlie:
 "Lots of stuff all over, some new AMD IP support and gang submit
  support. i915 has further DG2 and Meteorlake pieces, and a bunch of
  i915 display refactoring. msm has a shrinker rework. There are also a
  bunch of conversions to use kunit.

  This has two external pieces, some MEI changes needed for future Intel
  discrete GPUs. These should be acked by Greg. There is also a cross
  maintainer shared tree with some backlight rework from Hans in here.

  Core:
   - convert selftests to kunit
   - managed init for more objects
   - move to idr_init_base
   - rename fb and gem cma helpers to dma
   - hide unregistered connectors from getconnector ioctl
   - DSC passthrough aux support
   - backlight handling improvements
   - add dma_resv_assert_held to vmap/vunmap

  edid:
   - move luminance calculation to core

  fbdev:
   - fix aperture helper usage

  fourcc:
   - add more format helpers
   - add DRM_FORMAT_Cxx, DRM_FORMAT_Rxx, DRM_FORMAT_Dxx
   - add packed AYUV8888, XYUV8888
   - add some kunit tests

  ttm:
   - allow bos without backing store
   - rewrite placement to use intersect/compatible functions

  dma-buf:
   - docs update
   - improve signalling when debugging

  udmabuf:
   - fix failure path GPF

  dp:
   - drop dp/mst legacy code
   - atomic mst state support
   - audio infoframe packing

  panel:
   - Samsung LTL101AL01
   - B120XAN01.0
   - R140NWF5 RH
   - DMT028VGHMCMI-1A T
   - AUO B133UAN02.1
   - IVO M133NW4J-R3
   - Innolux N120ACA-EA1

  amdgpu:
   - Gang submit support
   - Mode2 reset for RDNA2
   - New IP support:
        DCN 3.1.4, 3.2
        SMU 13.x
        NBIO 7.7
        GC 11.x
        PSP 13.x
        SDMA 6.x
        GMC 11.x
   - DSC passthrough support
   - PSP fixes for TA support
   - vangogh GFXOFF stats
   - clang fixes
   - gang submit CS cleanup prep work
   - fix VRAM eviction issues

  amdkfd:
   - GC 10.3 IP ISA fixes
   - fix CRIU regression
   - CPU fault on COW mapping fixes

  i915:
   - align fw versioning with kernel practices
   - add display substruct to i915 private
   - add initial runtime info to driver info
   - split out HDCP and backlight registers
   - MEI XeHP SDV GSC support
   - add per-gt sysfs defaults
   - TLB invalidation improvements
   - Disable PCI BAR resize on 32-bit
   - GuC firmware updates and compat changes
   - GuC log timestamp translation
   - DG2 preemption workaround changes
   - DG2 improved HDMI pixel clocks support
   - PCI BAR sanity checks
   - Enable DC5 on DG2
   - DG2 DMC fw bumped
   - ADL-S PCI ID added
   - Meteorlake enablement
   - Rename ggtt_view to gtt_view
   - host RPS fixes
   - release mmaps on rpm suspend on discrete
   - clocking and dpll refactoring
   - VBT definitions and parsing updates
   - SKL watermark code extracted to separate file
   - allow seamless M/N changes on eDP panels
   - BUG_ON removal and cleanups

  msm:
   - DPU:
       simplified VBIF configuration
       cleanup CTL interfaces
   - DSI:
       removed unused msm_display_dsc_config struct
       switch regulator calls to new API
       switched to PANEL_BRIDGE for direct attached panels
   - DSI_PHY: convert drivers to parent_hws
   - DP: cleanup pixel_rate handling
   - HDMI: turned hdmi-phy-8996 into OF clk provider
   - misc dt-bindings fixes
   - choose eDP as primary display if it's available
   - support getting interconnects from either the mdss or the mdp5/dpu
     device nodes
   - gem: Shrinker + LRU re-work:
   - adds a shared GEM LRU+shrinker helper and moves msm over to that
   - reduce lock contention between retire and submit by avoiding the
     need to acquire obj lock in retire path (and instead using resv
     seeing obj's busyness in the shrinker
   - fix reclaim vs submit issues
   - GEM fault injection for triggering userspace error paths
   - Map/unmap optimization
   - Improved robustness for a6xx GPU recovery

  virtio:
   - improve error and edge conditions handling
   - convert to use managed helpers
   - stop exposing LINEAR modifier

  mgag200:
   - split modeset handling per model

  udl:
   - suspend/disconnect handling improvements

  vc4:
   - rework HDMI power up
   - depend on PM
   - better unplugging support

  ast:
   - resolution handling improvements

  ingenic:
   - add JZ4760(B) support
   - avoid a modeset when sharpness property is unchanged
   - use the new PM ops

  it6505:
   - power seq and clock updates

  ssd130x:
   - regmap bulk write
   - use atomic helpers instead of simple helpers

  via:
   - rename via_drv to via_dri1, consolidate all code.

  radeon:
   - drop DP MST experimental support
   - delayed work flush fix
   - use time_after

  ti-sn65dsi86:
   - DP support

  mediatek:
   - MT8195 DP support
   - drop of_gpio header
   - remove unneeded result
   - small DP code improvements

  vkms:
   - RGB565, XRGB64 and ARGB64 support

  sun4i:
   - tv: convert to atomic

  rcar-du:
   - Synopsys DW HDMI bridge DT bindings update

  exynos:
   - use drm_display_info.is_hdmi
   - correct return of mixer_mode_valid and hdmi_mode_valid

  omap:
   - refcounting fix

  rockchip:
   - RK3568 support
   - RK3399 gamma support"

* tag 'drm-next-2022-10-05' of git://anongit.freedesktop.org/drm/drm: (1374 commits)
  drm/amdkfd: Fix UBSAN shift-out-of-bounds warning
  drm/amdkfd: Track unified memory when switching xnack mode
  drm/amdgpu: Enable sram on vcn_4_0_2
  drm/amdgpu: Enable VCN DPG for GC11_0_1
  drm/msm: Fix build break with recent mm tree
  drm/panel: simple: Use dev_err_probe() to simplify code
  drm/panel: panel-edp: Use dev_err_probe() to simplify code
  drm/panel: simple: Add Multi-Inno Technology MI0800FT-9
  dt-bindings: display: simple: Add Multi-Inno Technology MI0800FT-9 panel
  drm/amdgpu: correct the memcpy size for ip discovery firmware
  drm/amdgpu: Skip put_reset_domain if it doesn't exist
  drm/amdgpu: remove switch from amdgpu_gmc_noretry_set
  drm/amdgpu: Fix mc_umc_status used uninitialized warning
  drm/amd/display: Prevent OTG shutdown during PSR SU
  drm/amdgpu: add page retirement handling for CPU RAS
  drm/amdgpu: use RAS error address convert api in mca notifier
  drm/amdgpu: support to convert dedicated umc mca address
  drm/amdgpu: export umc error address convert interface
  drm/amdgpu: fix sdma v4 init microcode error
  drm/amd/display: fix array-bounds error in dc_stream_remove_writeback()
  ...
parents a47e6072 65898687
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -24,6 +24,15 @@ properties:
    maxItems: 1
    description: virtual channel number of a DSI peripheral

  clock-names:
    const: refclk

  clocks:
    maxItems: 1
    description: |
        Optional external clock connected to REF_CLK input.
        The clock rate must be in 10..154 MHz range.

  enable-gpios:
    description: Bridge EN pin, chip is reset when EN is low.

+5 −0
Original line number Diff line number Diff line
@@ -38,6 +38,9 @@ properties:
  clock-names:
    maxItems: 2

  resets:
    maxItems: 1

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

@@ -67,6 +70,7 @@ required:
  - reg
  - clocks
  - clock-names
  - resets
  - interrupts
  - ports

@@ -85,6 +89,7 @@ examples:
        clocks = <&cpg CPG_CORE R8A7795_CLK_S0D4>, <&cpg CPG_MOD 729>;
        clock-names = "iahb", "isfr";
        power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
        resets = <&cpg 729>;

        ports {
            #address-cells = <1>;
+2 −0
Original line number Diff line number Diff line
@@ -17,6 +17,8 @@ properties:
    enum:
      - ingenic,jz4740-lcd
      - ingenic,jz4725b-lcd
      - ingenic,jz4760-lcd
      - ingenic,jz4760b-lcd
      - ingenic,jz4770-lcd
      - ingenic,jz4780-lcd

+116 −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/mediatek/mediatek,dp.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: MediaTek Display Port Controller

maintainers:
  - Chun-Kuang Hu <chunkuang.hu@kernel.org>
  - Jitao shi <jitao.shi@mediatek.com>

description: |
  MediaTek DP and eDP are different hardwares and there are some features
  which are not supported for eDP. For example, audio is not supported for
  eDP. Therefore, we need to use two different compatibles to describe them.
  In addition, We just need to enable the power domain of DP, so the clock
  of DP is generated by itself and we are not using other PLL to generate
  clocks.

properties:
  compatible:
    enum:
      - mediatek,mt8195-dp-tx
      - mediatek,mt8195-edp-tx

  reg:
    maxItems: 1

  nvmem-cells:
    maxItems: 1
    description: efuse data for display port calibration

  nvmem-cell-names:
    const: dp_calibration_data

  power-domains:
    maxItems: 1

  interrupts:
    maxItems: 1

  ports:
    $ref: /schemas/graph.yaml#/properties/ports
    properties:
      port@0:
        $ref: /schemas/graph.yaml#/properties/port
        description: Input endpoint of the controller, usually dp_intf

      port@1:
        $ref: /schemas/graph.yaml#/$defs/port-base
        unevaluatedProperties: false
        description: Output endpoint of the controller
        properties:
          endpoint:
            $ref: /schemas/media/video-interfaces.yaml#
            unevaluatedProperties: false
            properties:
              data-lanes:
                description: |
                  number of lanes supported by the hardware.
                  The possible values:
                  0       - For 1 lane enabled in IP.
                  0 1     - For 2 lanes enabled in IP.
                  0 1 2 3 - For 4 lanes enabled in IP.
                minItems: 1
                maxItems: 4
            required:
              - data-lanes

    required:
      - port@0
      - port@1

  max-linkrate-mhz:
    enum: [ 1620, 2700, 5400, 8100 ]
    description: maximum link rate supported by the hardware.

required:
  - compatible
  - reg
  - interrupts
  - ports
  - max-linkrate-mhz

additionalProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/arm-gic.h>
    #include <dt-bindings/power/mt8195-power.h>
    dptx@1c600000 {
        compatible = "mediatek,mt8195-dp-tx";
        reg = <0x1c600000 0x8000>;
        power-domains = <&spm MT8195_POWER_DOMAIN_DP_TX>;
        interrupts = <GIC_SPI 458 IRQ_TYPE_LEVEL_HIGH 0>;
        max-linkrate-mhz = <8100>;

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

            port@0 {
                reg = <0>;
                dptx_in: endpoint {
                    remote-endpoint = <&dp_intf0_out>;
                };
            };
            port@1 {
                reg = <1>;
                dptx_out: endpoint {
                    data-lanes = <0 1 2 3>;
                };
            };
        };
    };
+41 −6
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ properties:
      - qcom,sm8350-dp

  reg:
    minItems: 4
    items:
      - description: ahb register block
      - description: aux register block
@@ -70,14 +71,28 @@ properties:
  operating-points-v2:
    maxItems: 1

  opp-table: true

  power-domains:
    maxItems: 1

  aux-bus:
    $ref: /schemas/display/dp-aux-bus.yaml#

  data-lanes:
    $ref: /schemas/types.yaml#/definitions/uint32-array
    minItems: 1
    maxItems: 4
    items:
      maximum: 3

  "#sound-dai-cells":
    const: 0

  vdda-0p9-supply: true
  vdda-1p2-supply: true
  vdda-0p9-supply:
    deprecated: true
  vdda-1p2-supply:
    deprecated: true

  ports:
    $ref: /schemas/graph.yaml#/properties/ports
@@ -98,10 +113,33 @@ required:
  - clock-names
  - phys
  - phy-names
  - "#sound-dai-cells"
  - power-domains
  - ports

allOf:
  # AUX BUS does not exist on DP controllers
  # Audio output also is present only on DP output
  # p1 regions is present on DP, but not on eDP
  - if:
      properties:
        compatible:
          contains:
            enum:
              - qcom,sc7280-edp
              - qcom,sc8180x-edp
    then:
      properties:
        "#sound-dai-cells": false
        reg:
          maxItems: 4
    else:
      properties:
        aux-bus: false
        reg:
          minItems: 5
      required:
        - "#sound-dai-cells"

additionalProperties: false

examples:
@@ -140,9 +178,6 @@ examples:

        power-domains = <&rpmhpd SC7180_CX>;

        vdda-0p9-supply = <&vdda_usb_ss_dp_core>;
        vdda-1p2-supply = <&vdda_usb_ss_dp_1p2>;

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