aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_display.c')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_display.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c
index 38d47559f098..8ede2645a06c 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c
@@ -29,6 +29,7 @@
29#include "amdgpu_i2c.h" 29#include "amdgpu_i2c.h"
30#include "atom.h" 30#include "atom.h"
31#include "amdgpu_connectors.h" 31#include "amdgpu_connectors.h"
32#include "amdgpu_display.h"
32#include <asm/div64.h> 33#include <asm/div64.h>
33 34
34#include <linux/pm_runtime.h> 35#include <linux/pm_runtime.h>
@@ -189,7 +190,7 @@ int amdgpu_crtc_page_flip_target(struct drm_crtc *crtc,
189 goto cleanup; 190 goto cleanup;
190 } 191 }
191 192
192 r = amdgpu_bo_pin(new_abo, AMDGPU_GEM_DOMAIN_VRAM, &base); 193 r = amdgpu_bo_pin(new_abo, amdgpu_display_framebuffer_domains(adev), &base);
193 if (unlikely(r != 0)) { 194 if (unlikely(r != 0)) {
194 DRM_ERROR("failed to pin new abo buffer before flip\n"); 195 DRM_ERROR("failed to pin new abo buffer before flip\n");
195 goto unreserve; 196 goto unreserve;
@@ -502,6 +503,17 @@ static const struct drm_framebuffer_funcs amdgpu_fb_funcs = {
502 .create_handle = amdgpu_user_framebuffer_create_handle, 503 .create_handle = amdgpu_user_framebuffer_create_handle,
503}; 504};
504 505
506uint32_t amdgpu_display_framebuffer_domains(struct amdgpu_device *adev)
507{
508 uint32_t domain = AMDGPU_GEM_DOMAIN_VRAM;
509
510 if (adev->asic_type >= CHIP_CARRIZO && adev->asic_type < CHIP_RAVEN &&
511 adev->flags & AMD_IS_APU)
512 domain |= AMDGPU_GEM_DOMAIN_GTT;
513
514 return domain;
515}
516
505int 517int
506amdgpu_framebuffer_init(struct drm_device *dev, 518amdgpu_framebuffer_init(struct drm_device *dev,
507 struct amdgpu_framebuffer *rfb, 519 struct amdgpu_framebuffer *rfb,