diff options
author | Ingo Molnar <mingo@kernel.org> | 2016-05-05 03:57:27 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2016-05-05 03:57:27 -0400 |
commit | e8c8ce54807b19e90ac84e609b13f7d4e337eab1 (patch) | |
tree | ae7d65ae17d55aee197b605ce1a193fe594af614 /drivers/gpu/drm/amd/amdgpu/amdgpu_object.c | |
parent | 5db4298133d99b3dfc60d6899ac9df169769c899 (diff) | |
parent | 04974df8049fc4240d22759a91e035082ccd18b4 (diff) |
Merge tag 'v4.6-rc6' into locking/core, to pick up fixes
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_object.c')
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_object.c | 27 |
1 files changed, 21 insertions, 6 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c index 56d1458393cc..e557fc1f17c8 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c | |||
@@ -424,9 +424,11 @@ int amdgpu_bo_pin_restricted(struct amdgpu_bo *bo, u32 domain, | |||
424 | bo->pin_count = 1; | 424 | bo->pin_count = 1; |
425 | if (gpu_addr != NULL) | 425 | if (gpu_addr != NULL) |
426 | *gpu_addr = amdgpu_bo_gpu_offset(bo); | 426 | *gpu_addr = amdgpu_bo_gpu_offset(bo); |
427 | if (domain == AMDGPU_GEM_DOMAIN_VRAM) | 427 | if (domain == AMDGPU_GEM_DOMAIN_VRAM) { |
428 | bo->adev->vram_pin_size += amdgpu_bo_size(bo); | 428 | bo->adev->vram_pin_size += amdgpu_bo_size(bo); |
429 | else | 429 | if (bo->flags & AMDGPU_GEM_CREATE_NO_CPU_ACCESS) |
430 | bo->adev->invisible_pin_size += amdgpu_bo_size(bo); | ||
431 | } else | ||
430 | bo->adev->gart_pin_size += amdgpu_bo_size(bo); | 432 | bo->adev->gart_pin_size += amdgpu_bo_size(bo); |
431 | } else { | 433 | } else { |
432 | dev_err(bo->adev->dev, "%p pin failed\n", bo); | 434 | dev_err(bo->adev->dev, "%p pin failed\n", bo); |
@@ -456,9 +458,11 @@ int amdgpu_bo_unpin(struct amdgpu_bo *bo) | |||
456 | } | 458 | } |
457 | r = ttm_bo_validate(&bo->tbo, &bo->placement, false, false); | 459 | r = ttm_bo_validate(&bo->tbo, &bo->placement, false, false); |
458 | if (likely(r == 0)) { | 460 | if (likely(r == 0)) { |
459 | if (bo->tbo.mem.mem_type == TTM_PL_VRAM) | 461 | if (bo->tbo.mem.mem_type == TTM_PL_VRAM) { |
460 | bo->adev->vram_pin_size -= amdgpu_bo_size(bo); | 462 | bo->adev->vram_pin_size -= amdgpu_bo_size(bo); |
461 | else | 463 | if (bo->flags & AMDGPU_GEM_CREATE_NO_CPU_ACCESS) |
464 | bo->adev->invisible_pin_size -= amdgpu_bo_size(bo); | ||
465 | } else | ||
462 | bo->adev->gart_pin_size -= amdgpu_bo_size(bo); | 466 | bo->adev->gart_pin_size -= amdgpu_bo_size(bo); |
463 | } else { | 467 | } else { |
464 | dev_err(bo->adev->dev, "%p validate failed for unpin\n", bo); | 468 | dev_err(bo->adev->dev, "%p validate failed for unpin\n", bo); |
@@ -476,6 +480,17 @@ int amdgpu_bo_evict_vram(struct amdgpu_device *adev) | |||
476 | return ttm_bo_evict_mm(&adev->mman.bdev, TTM_PL_VRAM); | 480 | return ttm_bo_evict_mm(&adev->mman.bdev, TTM_PL_VRAM); |
477 | } | 481 | } |
478 | 482 | ||
483 | static const char *amdgpu_vram_names[] = { | ||
484 | "UNKNOWN", | ||
485 | "GDDR1", | ||
486 | "DDR2", | ||
487 | "GDDR3", | ||
488 | "GDDR4", | ||
489 | "GDDR5", | ||
490 | "HBM", | ||
491 | "DDR3" | ||
492 | }; | ||
493 | |||
479 | int amdgpu_bo_init(struct amdgpu_device *adev) | 494 | int amdgpu_bo_init(struct amdgpu_device *adev) |
480 | { | 495 | { |
481 | /* Add an MTRR for the VRAM */ | 496 | /* Add an MTRR for the VRAM */ |
@@ -484,8 +499,8 @@ int amdgpu_bo_init(struct amdgpu_device *adev) | |||
484 | DRM_INFO("Detected VRAM RAM=%lluM, BAR=%lluM\n", | 499 | DRM_INFO("Detected VRAM RAM=%lluM, BAR=%lluM\n", |
485 | adev->mc.mc_vram_size >> 20, | 500 | adev->mc.mc_vram_size >> 20, |
486 | (unsigned long long)adev->mc.aper_size >> 20); | 501 | (unsigned long long)adev->mc.aper_size >> 20); |
487 | DRM_INFO("RAM width %dbits DDR\n", | 502 | DRM_INFO("RAM width %dbits %s\n", |
488 | adev->mc.vram_width); | 503 | adev->mc.vram_width, amdgpu_vram_names[adev->mc.vram_type]); |
489 | return amdgpu_ttm_init(adev); | 504 | return amdgpu_ttm_init(adev); |
490 | } | 505 | } |
491 | 506 | ||