diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2018-12-25 11:48:26 -0800 | 
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2018-12-25 11:48:26 -0800 | 
| commit | 4971f090aa7f6ce5daa094ce4334f6618f93a7eb (patch) | |
| tree | 45d75782b7dedbec76a3ab82d2769f7707668071 /drivers/gpu/drm/msm/msm_ringbuffer.c | |
| parent | c76cd634eb5bfd497617ea224a54a03b545c8c4d (diff) | |
| parent | 2a3c83f5fe0770d13bbb71b23674886ff4111f44 (diff) | |
Merge tag 'drm-next-2018-12-14' of git://anongit.freedesktop.org/drm/drm
Pull drm updates from Dave Airlie:
 "Core:
   - shared fencing staging removal
   - drop transactional atomic helpers and move helpers to new location
   - DP/MST atomic cleanup
   - Leasing cleanups and drop EXPORT_SYMBOL
   - Convert drivers to atomic helpers and generic fbdev.
   - removed deprecated obj_ref/unref in favour of get/put
   - Improve dumb callback documentation
   - MODESET_LOCK_BEGIN/END helpers
  panels:
   - CDTech panels, Banana Pi Panel, DLC1010GIG,
   - Olimex LCD-O-LinuXino, Samsung S6D16D0, Truly NT35597 WQXGA,
   - Himax HX8357D, simulated RTSM AEMv8.
   - GPD Win2 panel
   - AUO G101EVN010
  vgem:
   - render node support
  ttm:
   - move global init out of drivers
   - fix LRU handling for ghost objects
   - Support for simultaneous submissions to multiple engines
  scheduler:
   - timeout/fault handling changes to help GPU recovery
   - helpers for hw with preemption support
  i915:
   - Scaler/Watermark fixes
   - DP MST + powerwell fixes
   - PSR fixes
   - Break long get/put shmemfs pages
   - Icelake fixes
   - Icelake DSI video mode enablement
   - Engine workaround improvements
  amdgpu:
   - freesync support
   - GPU reset enabled on CI, VI, SOC15 dGPUs
   - ABM support in DC
   - KFD support for vega12/polaris12
   - SDMA paging queue on vega
   - More amdkfd code sharing
   - DCC scanout on GFX9
   - DC kerneldoc
   - Updated SMU firmware for GFX8 chips
   - XGMI PSP + hive reset support
   - GPU reset
   - DC trace support
   - Powerplay updates for newer Polaris
   - Cursor plane update fast path
   - kfd dma-buf support
  virtio-gpu:
   - add EDID support
  vmwgfx:
   - pageflip with damage support
  nouveau:
   - Initial Turing TU104/TU106 modesetting support
  msm:
   - a2xx gpu support for apq8060 and imx5
   - a2xx gpummu support
   - mdp4 display support for apq8060
   - DPU fixes and cleanups
   - enhanced profiling support
   - debug object naming interface
   - get_iova/page pinning decoupling
  tegra:
   - Tegra194 host1x, VIC and display support enabled
   - Audio over HDMI for Tegra186 and Tegra194
  exynos:
   - DMA/IOMMU refactoring
   - plane alpha + blend mode support
   - Color format fixes for mixer driver
  rcar-du:
   - R8A7744 and R8A77470 support
   - R8A77965 LVDS support
  imx:
   - fbdev emulation fix
   - multi-tiled scalling fixes
   - SPDX identifiers
  rockchip
   - dw_hdmi support
   - dw-mipi-dsi + dual dsi support
   - mailbox read size fix
  qxl:
   - fix cursor pinning
  vc4:
   - YUV support (scaling + cursor)
  v3d:
   - enable TFU (Texture Formatting Unit)
  mali-dp:
   - add support for linear tiled formats
  sun4i:
   - Display Engine 3 support
   - H6 DE3 mixer 0 support
   - H6 display engine support
   - dw-hdmi support
   - H6 HDMI phy support
   - implicit fence waiting
   - BGRX8888 support
  meson:
   - Overlay plane support
   - implicit fence waiting
   - HDMI 1.4 4k modes
  bridge:
   - i2c fixes for sii902x"
* tag 'drm-next-2018-12-14' of git://anongit.freedesktop.org/drm/drm: (1403 commits)
  drm/amd/display: Add fast path for cursor plane updates
  drm/amdgpu: Enable GPU recovery by default for CI
  drm/amd/display: Fix duplicating scaling/underscan connector state
  drm/amd/display: Fix unintialized max_bpc state values
  Revert "drm/amd/display: Set RMX_ASPECT as default"
  drm/amdgpu: Fix stub function name
  drm/msm/dpu: Fix clock issue after bind failure
  drm/msm/dpu: Clean up dpu_media_info.h static inline functions
  drm/msm/dpu: Further cleanups for static inline functions
  drm/msm/dpu: Cleanup the debugfs functions
  drm/msm/dpu: Remove dpu_irq and unused functions
  drm/msm: Make irq_postinstall optional
  drm/msm/dpu: Cleanup callers of dpu_hw_blk_init
  drm/msm/dpu: Remove unused functions
  drm/msm/dpu: Remove dpu_crtc_is_enabled()
  drm/msm/dpu: Remove dpu_crtc_get_mixer_height
  drm/msm/dpu: Remove dpu_dbg
  drm/msm: dpu: Remove crtc_lock
  drm/msm: dpu: Remove vblank_requested flag from dpu_crtc
  drm/msm: dpu: Separate crtc assignment from vblank enable
  ...
Diffstat (limited to 'drivers/gpu/drm/msm/msm_ringbuffer.c')
| -rw-r--r-- | drivers/gpu/drm/msm/msm_ringbuffer.c | 14 | 
1 files changed, 7 insertions, 7 deletions
| diff --git a/drivers/gpu/drm/msm/msm_ringbuffer.c b/drivers/gpu/drm/msm/msm_ringbuffer.c index 6f5295b3f2f6..20a96fe69dcd 100644 --- a/drivers/gpu/drm/msm/msm_ringbuffer.c +++ b/drivers/gpu/drm/msm/msm_ringbuffer.c @@ -36,15 +36,18 @@ struct msm_ringbuffer *msm_ringbuffer_new(struct msm_gpu *gpu, int id,  	ring->gpu = gpu;  	ring->id = id; -	/* Pass NULL for the iova pointer - we will map it later */ +  	ring->start = msm_gem_kernel_new(gpu->dev, MSM_GPU_RINGBUFFER_SZ, -		MSM_BO_WC, gpu->aspace, &ring->bo, NULL); +		MSM_BO_WC, gpu->aspace, &ring->bo, &ring->iova);  	if (IS_ERR(ring->start)) {  		ret = PTR_ERR(ring->start);  		ring->start = 0;  		goto fail;  	} + +	msm_gem_object_set_name(ring->bo, "ring%d", id); +  	ring->end   = ring->start + (MSM_GPU_RINGBUFFER_SZ >> 2);  	ring->next  = ring->start;  	ring->cur   = ring->start; @@ -73,10 +76,7 @@ void msm_ringbuffer_destroy(struct msm_ringbuffer *ring)  	msm_fence_context_free(ring->fctx); -	if (ring->bo) { -		msm_gem_put_iova(ring->bo, ring->gpu->aspace); -		msm_gem_put_vaddr(ring->bo); -		drm_gem_object_put_unlocked(ring->bo); -	} +	msm_gem_kernel_put(ring->bo, ring->gpu->aspace, false); +  	kfree(ring);  } | 
