amdgpu: use the high VA range if possible v2
Retire the low range on Vega10 this frees up everything below 0xffff800000000000 for HMM. v2: keep the 32bit range working. Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Marek Olšák <marek.olsak@amd.com>main
parent
0a3c01f4ad
commit
07ea20d5be
|
@ -264,13 +264,23 @@ int amdgpu_device_initialize(int fd,
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
start = dev->dev_info.virtual_address_offset;
|
if (dev->dev_info.high_va_offset && dev->dev_info.high_va_max) {
|
||||||
max = MIN2(dev->dev_info.virtual_address_max, 0x100000000ULL);
|
start = dev->dev_info.high_va_offset;
|
||||||
|
max = dev->dev_info.high_va_max;
|
||||||
|
} else {
|
||||||
|
start = dev->dev_info.virtual_address_offset;
|
||||||
|
max = dev->dev_info.virtual_address_max;
|
||||||
|
}
|
||||||
|
|
||||||
|
max = MIN2(max, (start & ~0xffffffff) + 0x100000000ULL);
|
||||||
amdgpu_vamgr_init(&dev->vamgr_32, start, max,
|
amdgpu_vamgr_init(&dev->vamgr_32, start, max,
|
||||||
dev->dev_info.virtual_address_alignment);
|
dev->dev_info.virtual_address_alignment);
|
||||||
|
|
||||||
start = MAX2(dev->dev_info.virtual_address_offset, 0x100000000ULL);
|
start = max;
|
||||||
max = MAX2(dev->dev_info.virtual_address_max, 0x100000000ULL);
|
if (dev->dev_info.high_va_offset && dev->dev_info.high_va_max)
|
||||||
|
max = dev->dev_info.high_va_max;
|
||||||
|
else
|
||||||
|
max = dev->dev_info.virtual_address_max;
|
||||||
amdgpu_vamgr_init(&dev->vamgr, start, max,
|
amdgpu_vamgr_init(&dev->vamgr, start, max,
|
||||||
dev->dev_info.virtual_address_alignment);
|
dev->dev_info.virtual_address_alignment);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue