diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2018-06-06 11:16:33 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2018-06-06 11:16:33 -0400 |
| commit | 135c5504a600ff9b06e321694fbcac78a9530cd4 (patch) | |
| tree | 8d22ed739b0e85954010a964a9aeadf3c692c977 /drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c | |
| parent | af6c5d5e01ad9f2c9ca38cccaae6b5d67ddd241f (diff) | |
| parent | 568cf2e6aa0c762f14d2d0d481a006f93c63ab7a (diff) | |
Merge tag 'drm-next-2018-06-06-1' of git://anongit.freedesktop.org/drm/drm
Pull drm updates from Dave Airlie:
"This starts to support NVIDIA volta hardware with nouveau, and adds
amdgpu support for the GPU in the Kabylake-G (the intel + radeon
single package chip), along with some initial Intel icelake enabling.
Summary:
New Drivers:
- v3d - driver for broadcom V3D V3.x+ hardware
- xen-front - XEN PV display frontend
core:
- handle zpos normalization in the core
- stop looking at legacy pointers in atomic paths
- improved scheduler documentation
- improved aspect ratio validation
- aspect ratio support for 64:27 and 256:135
- drop unused control node code.
i915:
- Icelake (ICL) enabling
- GuC/HuC refactoring
- PSR/PSR2 enabling and fixes
- DPLL management refactoring
- DP MST fixes
- NV12 enabling
- HDCP improvements
- GEM/Execlist/reset improvements
- GVT improvements
- stolen memory first 4k fix
amdgpu:
- Vega 20 support
- VEGAM support (Kabylake-G)
- preOS scanout buffer reservation
- power management gfxoff support for raven
- SR-IOV fixes
- Vega10 power profiles and clock voltage control
- scatter/gather display support on CZ/ST
amdkfd:
- GFX9 dGPU support
- userptr memory mapping
nouveau:
- major refactoring for Volta GV100 support
tda998x:
- HDMI i2c CEC support
etnaviv:
- removed unused logging code
- license text cleanups
- MMU handling improvements
- timeout fence fix for 50 days uptime
tegra:
- IOMMU support in gr2d/gr3d drivers
- zpos support
vc4:
- syncobj support
- CTM, plane alpha and async cursor support
analogix_dp:
- HPD and aux chan fixes
sun4i:
- MIPI DSI support
tilcdc:
- clock divider fixes for OMAP-l138 LCDK board
rcar-du:
- R8A77965 support
- dma-buf fences fixes
- hardware indexed crtc/du group handling
- generic zplane property support
atmel-hclcdc:
- generic zplane property support
mediatek:
- use generic video mode function
exynos:
- S5PV210 FIMD variant support
- IPP v2 framework
- more HW overlays support"
* tag 'drm-next-2018-06-06-1' of git://anongit.freedesktop.org/drm/drm: (1286 commits)
drm/amdgpu: fix 32-bit build warning
drm/exynos: fimc: signedness bug in fimc_setup_clocks()
drm/exynos: scaler: fix static checker warning
drm/amdgpu: Use dev_info() to report amdkfd is not supported for this ASIC
drm/amd/display: Remove use of division operator for long longs
drm/amdgpu: Update GFX info structure to match what vega20 used
drm/amdgpu/pp: remove duplicate assignment
drm/sched: add rcu_barrier after entity fini
drm/amdgpu: move VM BOs on LRU again
drm/amdgpu: consistenly use VM moved flag
drm/amdgpu: kmap PDs/PTs in amdgpu_vm_update_directories
drm/amdgpu: further optimize amdgpu_vm_handle_moved
drm/amdgpu: cleanup amdgpu_vm_validate_pt_bos v2
drm/amdgpu: rework VM state machine lock handling v2
drm/amdgpu: Add runtime VCN PG support
drm/amdgpu: Enable VCN static PG by default on RV
drm/amdgpu: Add VCN static PG support on RV
drm/amdgpu: Enable VCN CG by default on RV
drm/amdgpu: Add static CG control for VCN on RV
drm/exynos: Fix default value for zpos plane property
...
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c index 4b584cb75bf4..4683626b065f 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c | |||
| @@ -102,12 +102,18 @@ amdgpu_gem_prime_import_sg_table(struct drm_device *dev, | |||
| 102 | struct reservation_object *resv = attach->dmabuf->resv; | 102 | struct reservation_object *resv = attach->dmabuf->resv; |
| 103 | struct amdgpu_device *adev = dev->dev_private; | 103 | struct amdgpu_device *adev = dev->dev_private; |
| 104 | struct amdgpu_bo *bo; | 104 | struct amdgpu_bo *bo; |
| 105 | struct amdgpu_bo_param bp; | ||
| 105 | int ret; | 106 | int ret; |
| 106 | 107 | ||
| 108 | memset(&bp, 0, sizeof(bp)); | ||
| 109 | bp.size = attach->dmabuf->size; | ||
| 110 | bp.byte_align = PAGE_SIZE; | ||
| 111 | bp.domain = AMDGPU_GEM_DOMAIN_CPU; | ||
| 112 | bp.flags = 0; | ||
| 113 | bp.type = ttm_bo_type_sg; | ||
| 114 | bp.resv = resv; | ||
| 107 | ww_mutex_lock(&resv->lock, NULL); | 115 | ww_mutex_lock(&resv->lock, NULL); |
| 108 | ret = amdgpu_bo_create(adev, attach->dmabuf->size, PAGE_SIZE, | 116 | ret = amdgpu_bo_create(adev, &bp, &bo); |
| 109 | AMDGPU_GEM_DOMAIN_CPU, 0, ttm_bo_type_sg, | ||
| 110 | resv, &bo); | ||
| 111 | if (ret) | 117 | if (ret) |
| 112 | goto error; | 118 | goto error; |
| 113 | 119 | ||
| @@ -209,7 +215,7 @@ static int amdgpu_gem_begin_cpu_access(struct dma_buf *dma_buf, | |||
| 209 | struct amdgpu_bo *bo = gem_to_amdgpu_bo(dma_buf->priv); | 215 | struct amdgpu_bo *bo = gem_to_amdgpu_bo(dma_buf->priv); |
| 210 | struct amdgpu_device *adev = amdgpu_ttm_adev(bo->tbo.bdev); | 216 | struct amdgpu_device *adev = amdgpu_ttm_adev(bo->tbo.bdev); |
| 211 | struct ttm_operation_ctx ctx = { true, false }; | 217 | struct ttm_operation_ctx ctx = { true, false }; |
| 212 | u32 domain = amdgpu_display_framebuffer_domains(adev); | 218 | u32 domain = amdgpu_display_supported_domains(adev); |
| 213 | int ret; | 219 | int ret; |
| 214 | bool reads = (direction == DMA_BIDIRECTIONAL || | 220 | bool reads = (direction == DMA_BIDIRECTIONAL || |
| 215 | direction == DMA_FROM_DEVICE); | 221 | direction == DMA_FROM_DEVICE); |
