Merge tag 'drm-for-v4.13' of git://people.freedesktop.org/~airlied/linux
authorLinus Torvalds <torvalds@linux-foundation.org>
Mon, 10 Jul 2017 01:48:37 +0000 (18:48 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Mon, 10 Jul 2017 01:48:37 +0000 (18:48 -0700)
Pull drm updates from Dave Airlie:
 "This is the main pull request for the drm, I think I've got one later
  driver pull for mediatek SoC driver, I'm undecided on if it needs to
  go to you yet.

  Otherwise summary below:

  Core drm:
   - Atomic add driver private objects
   - Deprecate preclose hook in modern drivers
   - MST bandwidth tracking
   - Use kvmalloc in more places
   - Add mode_valid hook for crtc/encoder/bridge
   - Reduce sync_file construction time
   - Documentation updates
   - New DRM synchronisation object support

  New drivers:
   - pl111 - pl111 CLCD display controller

  Panel:
   - Innolux P079ZCA panel driver
   - Add NL12880B20-05, NL192108AC18-02D, P320HVN03 panels
   - panel-samsung-s6e3ha2: Add s6e3hf2 panel support

  i915:
   - SKL+ watermark fixes
   - G4x/G33 reset improvements
   - DP AUX backlight improvements
   - Buffer based GuC/host communication
   - New getparam for (sub)slice infomation
   - Cannonlake and Coffeelake initial patches
   - Execbuf optimisations

  radeon/amdgpu:
   - Lots of Vega10 bug fixes
   - Preliminary raven support
   - KIQ support for compute rings
   - MEC queue management rework
   - DCE6 Audio support
   - SR-IOV improvements
   - Better radeon/amdgpu selection support

  nouveau:
   - HDMI stereoscopic support
   - Display code rework for >= GM20x GPUs

  msm:
   - GEM rework for fine-grained locking
   - Per-process pagetable work
   - HDMI fixes for Snapdragon 820.

  vc4:
   - Remove 256MB CMA limit from vc4
   - Add out-fence support
   - Add support for cygnus
   - Get/set tiling ioctls support
   - Add T-format tiling support for scanout

  zte:
   - add VGA support.

  etnaviv:
   - Thermal throttle support for newer GPUs
   - Restore userspace buffer cache performance
   - dma-buf sync fix

  stm:
   - add stm32f429 display support

  exynos:
   - Rework vblank handling
   - Fixup sw-trigger code

  sun4i:
   - V3s display engine support
   - HDMI support for older SoCs
   - Preliminary work on dual-pipeline SoCs.

  rcar-du:
   - VSP work

  imx-drm:
   - Remove counter load enable from PRE
   - Double read/write reduction flag support

  tegra:
   - Documentation for the host1x and drm driver.
   - Lots of staging ioctl fixes due to grate project work.

  omapdrm:
   - dma-buf fence support
   - TILER rotation fixes"

* tag 'drm-for-v4.13' of git://people.freedesktop.org/~airlied/linux: (1270 commits)
  drm: Remove unused drm_file parameter to drm_syncobj_replace_fence()
  drm/amd/powerplay: fix bug fail to remove sysfs when rmmod amdgpu.
  amdgpu: Set cik/si_support to 1 by default if radeon isn't built
  drm/amdgpu/gfx9: fix driver reload with KIQ
  drm/amdgpu/gfx8: fix driver reload with KIQ
  drm/amdgpu: Don't call amd_powerplay_destroy() if we don't have powerplay
  drm/ttm: Fix use-after-free in ttm_bo_clean_mm
  drm/amd/amdgpu: move get memory type function from early init to sw init
  drm/amdgpu/cgs: always set reference clock in mode_info
  drm/amdgpu: fix vblank_time when displays are off
  drm/amd/powerplay: power value format change for Vega10
  drm/amdgpu/gfx9: support the amdgpu.disable_cu option
  drm/amd/powerplay: change PPSMC_MSG_GetCurrPkgPwr for Vega10
  drm/amdgpu: Make amdgpu_cs_parser_init static (v2)
  drm/amdgpu/cs: fix a typo in a comment
  drm/amdgpu: Fix the exported always on CU bitmap
  drm/amdgpu/gfx9: gfx_v9_0_enable_gfx_static_mg_power_gating() can be static
  drm/amdgpu/psp: upper_32_bits/lower_32_bits for address setup
  drm/amd/powerplay/cz: print message if smc message fails
  drm/amdgpu: fix typo in amdgpu_debugfs_test_ib_init
  ...

17 files changed:
1  2 
Documentation/devicetree/bindings/vendor-prefixes.txt
Documentation/gpu/todo.rst
MAINTAINERS
drivers/bus/Kconfig
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
drivers/gpu/drm/drm_internal.h
drivers/gpu/drm/drm_ioctl.c
drivers/gpu/drm/etnaviv/etnaviv_gem_submit.c
drivers/gpu/drm/i915/i915_debugfs.c
drivers/gpu/drm/i915/i915_gem_request.h
drivers/gpu/drm/i915/i915_sw_fence.c
drivers/gpu/drm/i915/i915_sw_fence.h
drivers/gpu/drm/i915/i915_vma.c
drivers/gpu/drm/radeon/Makefile
drivers/gpu/drm/radeon/radeon.h
drivers/gpu/drm/radeon/radeon_drv.c
sound/x86/intel_hdmi_audio.c

Simple merge
diff --cc MAINTAINERS
Simple merge
Simple merge
index 14dfa9c83d1d71e59c27889f2b1b91c403c7138d,5cecc974d2f93bea26f2f6568a014ebd98d8a8a2..5edc24bd10fa34551d826a493670695b5e4e992f
@@@ -142,7 -143,17 +143,21 @@@ static inline int drm_debugfs_crtc_crc_
  {
        return 0;
  }
  #endif
 +drm_ioctl_t drm_version;
 +drm_ioctl_t drm_getunique;
 +drm_ioctl_t drm_getclient;
++
+ /* drm_syncobj.c */
+ void drm_syncobj_open(struct drm_file *file_private);
+ void drm_syncobj_release(struct drm_file *file_private);
+ int drm_syncobj_create_ioctl(struct drm_device *dev, void *data,
+                            struct drm_file *file_private);
+ int drm_syncobj_destroy_ioctl(struct drm_device *dev, void *data,
+                             struct drm_file *file_private);
+ int drm_syncobj_handle_to_fd_ioctl(struct drm_device *dev, void *data,
+                                  struct drm_file *file_private);
+ int drm_syncobj_fd_to_handle_ioctl(struct drm_device *dev, void *data,
+                                  struct drm_file *file_private);
Simple merge
Simple merge
index 380de4360b8a89301c7b3e1d2c628851295c0df0,474d23c0c0cebaf7524b16631b7b64c92df50729..f29540f922af196542c8fb8a2b5b576385c29217
@@@ -244,20 -219,14 +218,14 @@@ void __i915_sw_fence_init(struct i915_s
  void i915_sw_fence_commit(struct i915_sw_fence *fence)
  {
        debug_fence_activate(fence);
-       __i915_sw_fence_commit(fence);
+       i915_sw_fence_complete(fence);
  }
  
 -static int i915_sw_fence_wake(wait_queue_t *wq, unsigned mode, int flags, void *key)
 +static int i915_sw_fence_wake(wait_queue_entry_t *wq, unsigned mode, int flags, void *key)
  {
 -      list_del(&wq->task_list);
 +      list_del(&wq->entry);
        __i915_sw_fence_complete(wq->private, key);
-       i915_sw_fence_put(wq->private);
        if (wq->flags & I915_SW_FENCE_FLAG_ALLOC)
                kfree(wq);
        return 0;
@@@ -349,10 -318,10 +317,10 @@@ static int __i915_sw_fence_await_sw_fen
                pending |= I915_SW_FENCE_FLAG_ALLOC;
        }
  
 -      INIT_LIST_HEAD(&wq->task_list);
 +      INIT_LIST_HEAD(&wq->entry);
        wq->flags = pending;
        wq->func = i915_sw_fence_wake;
-       wq->private = i915_sw_fence_get(fence);
+       wq->private = fence;
  
        i915_sw_fence_await(fence);
  
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge