diff options
author | Dave Airlie <airlied@redhat.com> | 2018-06-14 21:32:23 -0400 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2018-06-14 21:32:29 -0400 |
commit | daf0678c2036c918f01e4aa6035629d2debc2f30 (patch) | |
tree | 8a6ddd16c351bdf69487e5ca396333447796da8c /drivers/gpu/drm/amd/amdgpu/amdgpu_object.c | |
parent | 33ce21d6a2491ef9adb8dc395e3f5bbbfcdc95b5 (diff) | |
parent | 5c16f36f6f003b4415237acca59384a074cd8030 (diff) |
Merge branch 'drm-next-4.18' of git://people.freedesktop.org/~agd5f/linux into drm-next
Fixes for 4.18. Highlights:
- Fixes for gfxoff on Raven
- Remove an ATPX quirk now that the root cause is fixed
- Runtime PM fixes
- Vega20 register header update
- Wattman fixes
- Misc bug fixes
Signed-off-by: Dave Airlie <airlied@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180614141428.2909-1-alexander.deucher@amd.com
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_object.c')
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_object.c | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c index 6a9e46ae7f0a..5e4e1bd90383 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c | |||
@@ -703,11 +703,7 @@ int amdgpu_bo_pin_restricted(struct amdgpu_bo *bo, u32 domain, | |||
703 | /* This assumes only APU display buffers are pinned with (VRAM|GTT). | 703 | /* This assumes only APU display buffers are pinned with (VRAM|GTT). |
704 | * See function amdgpu_display_supported_domains() | 704 | * See function amdgpu_display_supported_domains() |
705 | */ | 705 | */ |
706 | if (domain == (AMDGPU_GEM_DOMAIN_VRAM | AMDGPU_GEM_DOMAIN_GTT)) { | 706 | domain = amdgpu_bo_get_preferred_pin_domain(adev, domain); |
707 | domain = AMDGPU_GEM_DOMAIN_VRAM; | ||
708 | if (adev->gmc.real_vram_size <= AMDGPU_SG_THRESHOLD) | ||
709 | domain = AMDGPU_GEM_DOMAIN_GTT; | ||
710 | } | ||
711 | 707 | ||
712 | if (bo->pin_count) { | 708 | if (bo->pin_count) { |
713 | uint32_t mem_type = bo->tbo.mem.mem_type; | 709 | uint32_t mem_type = bo->tbo.mem.mem_type; |
@@ -1066,3 +1062,14 @@ u64 amdgpu_bo_gpu_offset(struct amdgpu_bo *bo) | |||
1066 | 1062 | ||
1067 | return bo->tbo.offset; | 1063 | return bo->tbo.offset; |
1068 | } | 1064 | } |
1065 | |||
1066 | uint32_t amdgpu_bo_get_preferred_pin_domain(struct amdgpu_device *adev, | ||
1067 | uint32_t domain) | ||
1068 | { | ||
1069 | if (domain == (AMDGPU_GEM_DOMAIN_VRAM | AMDGPU_GEM_DOMAIN_GTT)) { | ||
1070 | domain = AMDGPU_GEM_DOMAIN_VRAM; | ||
1071 | if (adev->gmc.real_vram_size <= AMDGPU_SG_THRESHOLD) | ||
1072 | domain = AMDGPU_GEM_DOMAIN_GTT; | ||
1073 | } | ||
1074 | return domain; | ||
1075 | } | ||