Hi Marek, it looks like the hardware sign extends bit 47 into bits 48-63. E.g. 0x8000 gets extended to 0xffff8000. Christian. Am 03.02.2018 um 03:02 schrieb Marek Olšák: > Hi Christian, > > How does this work with 48-bit addresses that the 3D engine uses? It > can't set 0xffff8000 for the high bits. It's trimmed to 0x8000. > > Thanks, > Marek > > On Sun, Jan 7, 2018 at 10:11 AM, Christian König > <ckoenig.leichtzumerken at gmail.com> wrote: >> 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 at amd.com> >> --- >> amdgpu/amdgpu_device.c | 18 ++++++++++++++---- >> 1 file changed, 14 insertions(+), 4 deletions(-) >> >> diff --git a/amdgpu/amdgpu_device.c b/amdgpu/amdgpu_device.c >> index d7077184..a0d01727 100644 >> --- a/amdgpu/amdgpu_device.c >> +++ b/amdgpu/amdgpu_device.c >> @@ -264,13 +264,23 @@ int amdgpu_device_initialize(int fd, >> goto cleanup; >> } >> >> - start = dev->dev_info.virtual_address_offset; >> - max = MIN2(dev->dev_info.virtual_address_max, 0x100000000ULL); >> + if (dev->dev_info.high_va_offset && dev->dev_info.high_va_max) { >> + 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, >> dev->dev_info.virtual_address_alignment); >> >> - start = MAX2(dev->dev_info.virtual_address_offset, 0x100000000ULL); >> - max = MAX2(dev->dev_info.virtual_address_max, 0x100000000ULL); >> + start = max; >> + 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, >> dev->dev_info.virtual_address_alignment); >> >> -- >> 2.11.0 >> >> _______________________________________________ >> amd-gfx mailing list >> amd-gfx at lists.freedesktop.org >> https://lists.freedesktop.org/mailman/listinfo/amd-gfx