]> git.baikalelectronics.ru Git - kernel.git/commitdiff
Merge tag 'drm-next-2021-04-28' of git://anongit.freedesktop.org/drm/drm
authorLinus Torvalds <torvalds@linux-foundation.org>
Wed, 28 Apr 2021 17:01:40 +0000 (10:01 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 28 Apr 2021 17:01:40 +0000 (10:01 -0700)
Pull drm updates from Dave Airlie:
 "The usual lots of work all over the place.

  i915 has gotten some Alderlake work and prelim DG1 code, along with a
  major locking rework over the GEM code, and brings back the property
  of timing out long running jobs using a watchdog. amdgpu has some
  Alderbran support (new GPU), freesync HDMI support along with a lot
  other fixes.

  Outside of the drm, there is a new printf specifier added which should
  have all the correct acks/sobs:

   - printk fourcc modifier support added %p4cc

  Summary:

  core:
   - drm_crtc_commit_wait
   - atomic plane state helpers reworked for full state
   - dma-buf heaps API rework
   - edid: rework and improvements for displayid

  dp-mst:
   - better topology logging

  bridge:
   - Chipone ICN6211
   - Lontium LT8912B
   - anx7625 regulator support

  panel:
   - fix lt9611 4k panels handling

  simple-kms:
   - add plane state helpers

  ttm:
   - debugfs support
   - removal of unused sysfs
   - ignore signaled moved fences
   - ioremap buffer according to mem caching

  i915:
   - Alderlake S enablement
   - Conversion to dma_resv_locking
   - Bring back watchdog timeout support
   - legacy ioctl cleanups
   - add GEM TDDO and RFC process
   - DG1 LMEM preparation work
   - intel_display.c refactoring
   - Gen9/TGL PCH combination support
   - eDP MSO Support
   - multiple PSR instance support
   - Link training debug updates
   - Disable PSR2 support on JSL/EHL
   - DDR5/LPDDR5 support for bw calcs
   - LSPCON limited to gen9/10 platforms
   - HSW/BDW async flip/VTd corruption workaround
   - SAGV watermark fixes
   - SNB hard hang on ring resume fix
   - Limit imported dma-buf size
   - move to use new tasklet API
   - refactor KBL/TGL/ADL-S display/gt steppings
   - refactoring legacy DP/HDMI, FB plane code out

  amdgpu:
   - uapi: add ioctl to query video capabilities
   - Iniital AMD Freesync HDMI support
   - Initial Adebaran support
   - 10bpc dithering improvements
   - DCN secure display support
   - Drop legacy IO BAR requirements
   - PCIE/S0ix/RAS/Prime/Reset fixes
   - Display ASSR support
   - SMU gfx busy queues for RV/PCO
   - Initial LTTPR display work

  amdkfd:
   - MMU notifier fixes
   - APU fixes

  radeon:
   - debugfs cleanps
   - fw error handling ifix
   - Flexible array cleanups

  msm:
   - big DSI phy/pll cleanup
   - sc7280 initial support
   - commong bandwidth scaling path
   - shrinker locking contention fixes
   - unpin/swap support for GEM objcets

  ast:
   - cursor plane handling reworked

  tegra:
   - don't register DP AUX channels before connectors

  zynqmp:
   - fix OOB struct padding memset

  gma500:
   - drop ttm and medfield support

  exynos:
   - request_irq cleanup function

  mediatek:
   - fine tune line time for EOTp
   - MT8192 dpi support
   - atomic crtc config updates
   - don't support HDMI connector creation

  mxsdb:
   - imx8mm support

  panfrost:
   - MMU IRQ handling rework

  qxl:
   - locking fixes
   - resource deallocation changes

  sun4i:
   - add alpha properties to UI/VI layers

  vc4:
   - RPi4 CEC support

  vmwgfx:
   - doc cleanups

  arc:
   - moved to drm/tiny"

* tag 'drm-next-2021-04-28' of git://anongit.freedesktop.org/drm/drm: (1390 commits)
  drm/ttm: Don't count pages in SG BOs against pages_limit
  drm/ttm: fix return value check
  drm/bridge: lt8912b: fix incorrect handling of of_* return values
  drm: bridge: fix LONTIUM use of mipi_dsi_() functions
  drm: bridge: fix ANX7625 use of mipi_dsi_() functions
  drm/amdgpu: page retire over debugfs mechanism
  drm/radeon: Fix a missing check bug in radeon_dp_mst_detect()
  drm/amd/display: Fix the Wunused-function warning
  drm/radeon/r600: Fix variables that are not used after assignment
  drm/amdgpu/smu7: fix CAC setting on TOPAZ
  drm/amd/display: Update DCN302 SR Exit Latency
  drm/amdgpu: enable ras eeprom on aldebaran
  drm/amdgpu: RAS harvest on driver load
  drm/amdgpu: add ras aldebaran ras eeprom driver
  drm/amd/pm: increase time out value when sending msg to SMU
  drm/amdgpu: add DMUB outbox event IRQ source define/complete/debug flag
  drm/amd/pm: add the callback to get vbios bootup values for vangogh
  drm/radeon: Fix size overflow
  drm/amdgpu: Fix size overflow
  drm/amdgpu: move mmhub ras_func init to ip specific file
  ...

23 files changed:
1  2 
Documentation/core-api/printk-formats.rst
MAINTAINERS
drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
drivers/gpu/drm/drm_modes.c
drivers/gpu/drm/i915/display/intel_dp_link_training.c
drivers/gpu/drm/i915/display/vlv_dsi.c
drivers/gpu/drm/i915/gt/intel_engine_user.c
drivers/gpu/drm/i915/intel_pm.c
drivers/gpu/drm/i915/selftests/i915_gem_gtt.c
drivers/gpu/drm/lima/lima_devfreq.c
drivers/gpu/drm/lima/lima_devfreq.h
drivers/gpu/drm/panfrost/panfrost_devfreq.c
drivers/gpu/drm/panfrost/panfrost_devfreq.h
drivers/gpu/drm/radeon/radeon_cs.c
drivers/gpu/drm/vmwgfx/vmwgfx_cotable.c
drivers/gpu/drm/vmwgfx/vmwgfx_drv.c
drivers/gpu/drm/vmwgfx/vmwgfx_drv.h
drivers/gpu/drm/vmwgfx/vmwgfx_mob.c
drivers/media/v4l2-core/v4l2-ioctl.c
lib/test_printf.c
lib/vsprintf.c
scripts/checkpatch.pl

diff --cc MAINTAINERS
Simple merge
Simple merge
Simple merge
index dbc1d1eb954337271e300d31a9ae8e13828216de,4f64940b90551193de757782bc4ce1137d162d9a..8989e215dfc9d6076b06b68d2c093fb43fffa2cf
@@@ -143,11 -164,20 +144,19 @@@ int lima_devfreq_init(struct lima_devic
        lima_devfreq_profile.initial_freq = cur_freq;
        dev_pm_opp_put(opp);
  
+       /*
+        * Setup default thresholds for the simple_ondemand governor.
+        * The values are chosen based on experiments.
+        */
+       ldevfreq->gov_data.upthreshold = 30;
+       ldevfreq->gov_data.downdifferential = 5;
        devfreq = devm_devfreq_add_device(dev, &lima_devfreq_profile,
-                                         DEVFREQ_GOV_SIMPLE_ONDEMAND, NULL);
+                                         DEVFREQ_GOV_SIMPLE_ONDEMAND,
+                                         &ldevfreq->gov_data);
        if (IS_ERR(devfreq)) {
                dev_err(dev, "Couldn't initialize GPU devfreq\n");
 -              ret = PTR_ERR(devfreq);
 -              goto err_fini;
 +              return PTR_ERR(devfreq);
        }
  
        ldevfreq->devfreq = devfreq;
index 688ee71e263a398e3586de2bd5258f7f93c3a1a6,b0c7c736e81a3dfda4c0b4109c22e2f58525420d..b8e50feaeab6fc96cc7f9c9dfacf9002885c7181
@@@ -14,7 -16,10 +15,8 @@@ struct lima_device
  
  struct lima_devfreq {
        struct devfreq *devfreq;
 -      struct opp_table *clkname_opp_table;
 -      struct opp_table *regulators_opp_table;
        struct thermal_cooling_device *cooling;
+       struct devfreq_simple_ondemand_data gov_data;
  
        ktime_t busy_time;
        ktime_t idle_time;
index c878391f3e8cd0f52fba2741ea7c9c7ccf9b3257,7c5ffc81dce1ae0d0c783e01c25dee625b79089c..47d27e54a34f25d3202bf6b7404ba05a857cc4d9
@@@ -124,11 -130,20 +124,19 @@@ int panfrost_devfreq_init(struct panfro
        panfrost_devfreq_profile.initial_freq = cur_freq;
        dev_pm_opp_put(opp);
  
+       /*
+        * Setup default thresholds for the simple_ondemand governor.
+        * The values are chosen based on experiments.
+        */
+       pfdevfreq->gov_data.upthreshold = 45;
+       pfdevfreq->gov_data.downdifferential = 5;
        devfreq = devm_devfreq_add_device(dev, &panfrost_devfreq_profile,
-                                         DEVFREQ_GOV_SIMPLE_ONDEMAND, NULL);
+                                         DEVFREQ_GOV_SIMPLE_ONDEMAND,
+                                         &pfdevfreq->gov_data);
        if (IS_ERR(devfreq)) {
                DRM_DEV_ERROR(dev, "Couldn't initialize GPU devfreq\n");
 -              ret = PTR_ERR(devfreq);
 -              goto err_fini;
 +              return PTR_ERR(devfreq);
        }
        pfdevfreq->devfreq = devfreq;
  
index 2102699446874d539ce305382e89d4822af5613c,1e2a4de941aa68addfbb7763542cb57192bf00dc..1514c1f9d91c64bbc58b580e3638ee94d51144fa
@@@ -14,7 -16,9 +15,8 @@@ struct panfrost_device
  
  struct panfrost_devfreq {
        struct devfreq *devfreq;
 -      struct opp_table *regulators_opp_table;
        struct thermal_cooling_device *cooling;
+       struct devfreq_simple_ondemand_data gov_data;
        bool opp_of_table_added;
  
        ktime_t busy_time;
Simple merge
Simple merge
Simple merge
index f2d6254154585826b57c909d2d22c6d20e70af9e,a0b53141dded005fc396a5e4a0137bcd7fd32856..5648664f71bc12b778df319addd4b71427b359bb
@@@ -351,9 -341,9 +351,10 @@@ static void vmw_otable_batch_takedown(s
        BUG_ON(ret != 0);
  
        vmw_bo_fence_single(bo, NULL);
 +      ttm_bo_unpin(bo);
        ttm_bo_unreserve(bo);
  
+       ttm_bo_unpin(batch->otable_bo);
        ttm_bo_put(batch->otable_bo);
        batch->otable_bo = NULL;
  }
Simple merge
Simple merge
diff --cc lib/vsprintf.c
index 6c56c62fd9a50209b8be9094ad9cb5042619ec5a,35dcc50532d8bdbc366e7cecbf5ea913c1d4ba4f..f0c35d9b65bffd921eda30f9e8d83eab1d2abfb2
@@@ -2245,10 -2222,9 +2281,11 @@@ early_param("no_hash_pointers", no_hash
   *       Implements a "recursive vsnprintf".
   *       Do not use this feature without some mechanism to verify the
   *       correctness of the format string and va_list arguments.
 - * - 'K' For a kernel pointer that should be hidden from unprivileged users
 + * - 'K' For a kernel pointer that should be hidden from unprivileged users.
 + *       Use only for procfs, sysfs and similar files, not printk(); please
 + *       read the documentation (path below) first.
   * - 'NF' For a netdev_features_t
+  * - '4cc' V4L2 or DRM FourCC code, with endianness and raw numerical value.
   * - 'h[CDN]' For a variable-length buffer, it prints it as a hex string with
   *            a certain separator (' ' by default):
   *              C colon
Simple merge