aboutsummaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/amd
diff options
context:
space:
mode:
authorChunming Zhou <David1.Zhou@amd.com>2017-03-27 11:43:35 +0800
committerAlex Deucher <alexander.deucher@amd.com>2017-03-29 23:55:29 -0400
commitf7effef8d6e38d7d3120c604ad7d0b299b349e14 (patch)
treea654e1d5e5364e956a90aeae831fa8050056e055 /drivers/gpu/drm/amd
parenta1adf8bef2f3c635dca372d36737c70e6d32bc95 (diff)
drm/amdgpu: limit block size to one page
Signed-off-by: Chunming Zhou <David1.Zhou@amd.com> Reviewed-by: Christian König <christian.koenig@amd.com> Reviewed-by: Junwei Zhang <Jerry.Zhang@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_device.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
index 4bf9805b7028..abb51bd77ca7 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
@@ -1042,6 +1042,14 @@ static bool amdgpu_check_pot_argument(int arg)
static void amdgpu_get_block_size(struct amdgpu_device *adev)
{
+ /* from AI, asic starts to support multiple level VMPT */
+ if (adev->family >= AMDGPU_FAMILY_AI) {
+ if (amdgpu_vm_block_size != 9)
+ dev_warn(adev->dev, "Multi-VMPT limits block size to"
+ "one page!\n");
+ amdgpu_vm_block_size = 9;
+ return;
+ }
/* defines number of bits in page table versus page directory,
* a page is 4KB so we have 12 bits offset, minimum 9 bits in the
* page table and the remaining bits are in the page directory */