Merge tag 'drm-next-2022-05-25' of git://anongit.freedesktop.org/drm/drm
authorLinus Torvalds <torvalds@linux-foundation.org>
Wed, 25 May 2022 23:18:27 +0000 (16:18 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 25 May 2022 23:18:27 +0000 (16:18 -0700)
Pull drm updates from Dave Airlie:
 "Intel have enabled DG2 on certain SKUs for laptops, AMD has started
  some new GPU support, msm has user allocated VA controls

  dma-buf:
   - add dma_resv_replace_fences
   - add dma_resv_get_singleton
   - make dma_excl_fence private

  core:
   - EDID parser refactorings
   - switch drivers to drm_mode_copy/duplicate
   - DRM managed mutex initialization

  display-helper:
   - put HDMI, SCDC, HDCP, DSC and DP into new module

  gem:
   - rework fence handling

  ttm:
   - rework bulk move handling
   - add common debugfs for resource managers
   - convert to kvcalloc

  format helpers:
   - support monochrome formats
   - RGB888, RGB565 to XRGB8888 conversions

  fbdev:
   - cfb/sys_imageblit fixes
   - pagelist corruption fix
   - create offb platform device
   - deferred io improvements

  sysfb:
   - Kconfig rework
   - support for VESA mode selection

  bridge:
   - conversions to devm_drm_of_get_bridge
   - conversions to panel_bridge
   - analogix_dp - autosuspend support
   - it66121 - audio support
   - tc358767 - DSI to DPI support
   - icn6211 - PLL/I2C fixes, DT property
   - adv7611 - enable DRM_BRIDGE_OP_HPD
   - anx7625 - fill ELD if no monitor
   - dw_hdmi - add audio support
   - lontium LT9211 support, i.MXMP LDB
   - it6505: Kconfig fix, DPCD set power fix
   - adv7511 - CEC support for ADV7535

  panel:
   - ltk035c5444t, B133UAN01, NV3052C panel support
   - DataImage FG040346DSSWBG04 support
   - st7735r - DT bindings fix
   - ssd130x - fixes

  i915:
   - DG2 laptop PCI-IDs ("motherboard down")
   - Initial RPL-P PCI IDs
   - compute engine ABI
   - DG2 Tile4 support
   - DG2 CCS clear color compression support
   - DG2 render/media compression formats support
   - ATS-M platform info
   - RPL-S PCI IDs added
   - Bump ADL-P DMC version to v2.16
   - Support static DRRS
   - Support multiple eDP/LVDS native mode refresh rates
   - DP HDR support for HSW+
   - Lots of display refactoring + fixes
   - GuC hwconfig support and query
   - sysfs support for multi-tile
   - fdinfo per-client gpu utilisation
   - add geometry subslices query
   - fix prime mmap with LMEM
   - fix vm open count and remove vma refcounts
   - contiguous allocation fixes
   - steered register write support
   - small PCI BAR enablement
   - GuC error capture support
   - sunset igpu legacy mmap support for newer devices
   - GuC version 70.1.1 support

  amdgpu:
   - Initial SoC21 support
   - SMU 13.x enablement
   - SMU 13.0.4 support
   - ttm_eu cleanups
   - USB-C, GPUVM updates
   - TMZ fixes for RV
   - RAS support for VCN
   - PM sysfs code cleanup
   - DC FP rework
   - extend CG/PG flags to 64-bit
   - SI dpm lockdep fix
   - runtime PM fixes

  amdkfd:
   - RAS/SVM fixes
   - TLB flush fixes
   - CRIU GWS support
   - ignore bogus MEC signals more efficiently

  msm:
   - Fourcc modifier for tiled but not compressed layouts
   - Support for userspace allocated IOVA (GPU virtual address)
   - DPU: DSC (Display Stream Compression) support
   - DP: eDP support
   - DP: conversion to use drm_bridge and drm_bridge_connector
   - Merge DPU1 and MDP5 MDSS driver
   - DPU: writeback support

  nouveau:
   - make some structures static
   - make some variables static
   - switch to drm_gem_plane_helper_prepare_fb

  radeon:
   - misc fixes/cleanups

  mxsfb:
   - rework crtc mode setting
   - LCDIF CRC support

  etnaviv:
   - fencing improvements
   - fix address space collisions
   - cleanup MMU reference handling

  gma500:
   - GEM/GTT improvements
   - connector handling fixes

  komeda:
   - switch to plane reset helper

  mediatek:
   - MIPI DSI improvements

  omapdrm:
   - GEM improvements

  qxl:
   - aarch64 support

  vc4:
   - add a CL submission tracepoint
   - HDMI YUV support
   - HDMI/clock improvements
   - drop is_hdmi caching

  virtio:
   - remove restriction of non-zero blob types

  vmwgfx:
   - support for cursormob and cursorbypass 4
   - fence improvements

  tidss:
   - reset DISPC on startup

  solomon:
   - SPI support
   - DT improvements

  sun4i:
   - allwinner D1 support
   - drop is_hdmi caching

  imx:
   - use swap() instead of open-coding
   - use devm_platform_ioremap_resource
   - remove redunant initializations

  ast:
   - Displayport support

  rockchip:
   - Refactor IOMMU initialisation
   - make some structures static
   - replace drm_detect_hdmi_monitor with drm_display_info.is_hdmi
   - support swapped YUV formats,
   - clock improvements
   - rk3568 support
   - VOP2 support

  mediatek:
   - MT8186 support

  tegra:
   - debugabillity improvements"

* tag 'drm-next-2022-05-25' of git://anongit.freedesktop.org/drm/drm: (1740 commits)
  drm/i915/dsi: fix VBT send packet port selection for ICL+
  drm/i915/uc: Fix undefined behavior due to shift overflowing the constant
  drm/i915/reg: fix undefined behavior due to shift overflowing the constant
  drm/i915/gt: Fix use of static in macro mismatch
  drm/i915/audio: fix audio code enable/disable pipe logging
  drm/i915: Fix CFI violation with show_dynamic_id()
  drm/i915: Fix 'mixing different enum types' warnings in intel_display_power.c
  drm/i915/gt: Fix build error without CONFIG_PM
  drm/msm/dpu: handle pm_runtime_get_sync() errors in bind path
  drm/msm/dpu: add DRM_MODE_ROTATE_180 back to supported rotations
  drm/msm: don't free the IRQ if it was not requested
  drm/msm/dpu: limit writeback modes according to max_linewidth
  drm/amd: Don't reset dGPUs if the system is going to s2idle
  drm/amdgpu: Unmap legacy queue when MES is enabled
  drm: msm: fix possible memory leak in mdp5_crtc_cursor_set()
  drm/msm: Fix fb plane offset calculation
  drm/msm/a6xx: Fix refcount leak in a6xx_gpu_init
  drm/msm/dsi: don't powerup at modeset time for parade-ps8640
  drm/rockchip: Change register space names in vop2
  dt-bindings: display: rockchip: make reg-names mandatory for VOP2
  ...

25 files changed:
1  2 
Documentation/devicetree/bindings/vendor-prefixes.yaml
MAINTAINERS
arch/x86/Kconfig
drivers/dma-buf/dma-buf.c
drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c
drivers/gpu/drm/amd/display/dc/inc/dc_link_dp.h
drivers/gpu/drm/bridge/Kconfig
drivers/gpu/drm/display/drm_dp_mst_topology.c
drivers/gpu/drm/i915/display/intel_dmc.c
drivers/gpu/drm/i915/display/intel_dmc_regs.h
drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c
drivers/gpu/drm/i915/gem/i915_gem_shmem.c
drivers/gpu/drm/i915/gt/intel_reset.c
drivers/gpu/drm/i915/gt/uc/intel_guc.h
drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
drivers/gpu/drm/i915/gt/uc/intel_uc.c
drivers/gpu/drm/i915/intel_pm.c
drivers/gpu/drm/msm/dp/dp_display.c
drivers/gpu/drm/msm/dp/dp_panel.c
drivers/gpu/drm/msm/dp/dp_panel.h
drivers/gpu/drm/vc4/vc4_hdmi.c
drivers/iommu/intel/iommu.c
drivers/of/platform.c
drivers/video/fbdev/core/fbsysfs.c
include/linux/efi.h

diff --cc MAINTAINERS
Simple merge
Simple merge
Simple merge
@@@ -77,8 -86,11 +86,12 @@@ config DRM_FSL_LD
  config DRM_ITE_IT6505
          tristate "ITE IT6505 DisplayPort bridge"
          depends on OF
+       select DRM_DISPLAY_DP_HELPER
+       select DRM_DISPLAY_HDCP_HELPER
+       select DRM_DISPLAY_HELPER
+         select DRM_DP_AUX_BUS
          select DRM_KMS_HELPER
 +        select DRM_DP_HELPER
          select EXTCON
          help
            ITE IT6505 DisplayPort bridge chip driver.
index 0000000,d65e698..7853827
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,30 +1,46 @@@
+ /* SPDX-License-Identifier: MIT */
+ /*
+  * Copyright © 2022 Intel Corporation
+  */
+ #ifndef __INTEL_DMC_REGS_H__
+ #define __INTEL_DMC_REGS_H__
+ #include "i915_reg_defs.h"
+ #define DMC_PROGRAM(addr, i)  _MMIO((addr) + (i) * 4)
+ #define DMC_SSP_BASE_ADDR_GEN9        0x00002FC0
+ #define DMC_HTP_ADDR_SKL      0x00500034
+ #define DMC_SSP_BASE          _MMIO(0x8F074)
+ #define DMC_HTP_SKL           _MMIO(0x8F004)
+ #define DMC_LAST_WRITE                _MMIO(0x8F034)
+ #define DMC_LAST_WRITE_VALUE  0xc003b400
+ #define DMC_MMIO_START_RANGE  0x80000
+ #define DMC_MMIO_END_RANGE    0x8FFFF
++#define DMC_V1_MMIO_START_RANGE       0x80000
++#define TGL_MAIN_MMIO_START   0x8F000
++#define TGL_MAIN_MMIO_END     0x8FFFF
++#define _TGL_PIPEA_MMIO_START 0x92000
++#define _TGL_PIPEA_MMIO_END   0x93FFF
++#define _TGL_PIPEB_MMIO_START 0x96000
++#define _TGL_PIPEB_MMIO_END   0x97FFF
++#define ADLP_PIPE_MMIO_START  0x5F000
++#define ADLP_PIPE_MMIO_END    0x5FFFF
++
++#define TGL_PIPE_MMIO_START(dmc_id)   _PICK_EVEN(((dmc_id) - 1), _TGL_PIPEA_MMIO_START,\
++                                              _TGL_PIPEB_MMIO_START)
++
++#define TGL_PIPE_MMIO_END(dmc_id)     _PICK_EVEN(((dmc_id) - 1), _TGL_PIPEA_MMIO_END,\
++                                              _TGL_PIPEB_MMIO_END)
++
+ #define SKL_DMC_DC3_DC5_COUNT _MMIO(0x80030)
+ #define SKL_DMC_DC5_DC6_COUNT _MMIO(0x8002C)
+ #define BXT_DMC_DC3_DC5_COUNT _MMIO(0x80038)
+ #define TGL_DMC_DEBUG_DC5_COUNT       _MMIO(0x101084)
+ #define TGL_DMC_DEBUG_DC6_COUNT       _MMIO(0x101088)
+ #define DG1_DMC_DEBUG_DC5_COUNT       _MMIO(0x134154)
+ #define TGL_DMC_DEBUG3                _MMIO(0x101090)
+ #define DG1_DMC_DEBUG3                _MMIO(0x13415c)
+ #endif /* __INTEL_DMC_REGS_H__ */
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
   * encoder block has CEC support.
   */
  
+ #include <drm/display/drm_hdmi_helper.h>
+ #include <drm/display/drm_scdc_helper.h>
  #include <drm/drm_atomic_helper.h>
- #include <drm/drm_edid.h>
  #include <drm/drm_probe_helper.h>
  #include <drm/drm_simple_kms_helper.h>
- #include <drm/drm_scdc_helper.h>
  #include <linux/clk.h>
  #include <linux/component.h>
 +#include <linux/gpio/consumer.h>
  #include <linux/i2c.h>
  #include <linux/of_address.h>
  #include <linux/of_gpio.h>
Simple merge
@@@ -503,9 -507,7 +503,8 @@@ int of_platform_default_populate(struc
  }
  EXPORT_SYMBOL_GPL(of_platform_default_populate);
  
- #ifndef CONFIG_PPC
  static const struct of_device_id reserved_mem_matches[] = {
 +      { .compatible = "phram" },
        { .compatible = "qcom,rmtfs-mem" },
        { .compatible = "qcom,cmd-db" },
        { .compatible = "qcom,smem" },
Simple merge
@@@ -1349,18 -1329,6 +1349,14 @@@ static inline struct efi_mokvar_table_e
  }
  #endif
  
- #ifdef CONFIG_SYSFB
  extern void efifb_setup_from_dmi(struct screen_info *si, const char *opt);
- #else
- static inline void efifb_setup_from_dmi(struct screen_info *si, const char *opt) { }
- #endif
  
 +struct linux_efi_coco_secret_area {
 +      u64     base_pa;
 +      u64     size;
 +};
 +
 +/* Header of a populated EFI secret area */
 +#define EFI_SECRET_TABLE_HEADER_GUID  EFI_GUID(0x1e74f542, 0x71dd, 0x4d66,  0x96, 0x3e, 0xef, 0x42, 0x87, 0xff, 0x17, 0x3b)
 +
  #endif /* _LINUX_EFI_H */