[RFC PATCH 2/2] drm/amdgpu/uvd: Ensure vcpu bos are within the uvd segment
Christian König
christian.koenig at amd.com
Mon Jun 2 10:00:14 UTC 2025
Hi John,
first of all thanks a lot for taking a look into this.
>> Okay, I did a read and compare after each write.
>>
>> Both writes seem to go through on both the Kaveri and s9150:
>>
>> Kaveri (512MB UMA Buffer):
>> amdgpu 0000:00:01.0: amdgpu: [drm] uvd_v4_2_mc_resume: mmUVD_LMI_ADDR_EXT: gpu_addr=0xF41FA00000, addr=0x00000001, wrote 0x00001001, read 0x00001001 [same]
>> amdgpu 0000:00:01.0: amdgpu: [drm] uvd_v4_2_mc_resume: mmUVD_LMI_EXT40_ADDR: gpu_addr=0xF41FA00000, addr=0x000000F4, wrote 0x800900F4, read 0x800900F4 [same]
>>
>> s9150:
>> amdgpu 0000:41:00.0: amdgpu: [drm] uvd_v4_2_mc_resume: mmUVD_LMI_ADDR_EXT: gpu_addr=0xF7FFA00000, addr=0x0000000F, wrote 0x0000F00F, read 0x0000F00F [same]
>> amdgpu 0000:41:00.0: amdgpu: [drm] uvd_v4_2_mc_resume: mmUVD_LMI_EXT40_ADDR: gpu_addr=0xF7FFA00000, addr=0x000000F7, wrote 0x800900F7, read 0x800900F7 [same]
>>
>
> I've also confirmed the patch works fine when segments other than
> [0, 256M) are used.
>
> E.g.: Both init and VA-API playback work fine with a UVD segment of
> [1792M, 2048M) on Kaveri with a 2G UMA buffer.
Oh, that's a very interesting find. Could you try to turn around the way the patch works?
E.g. instead of forcing the UVD FW into the first segment, change amdgpu_uvd_force_into_uvd_segment() so that the BOs are forced into the same segment as the UVD firmware.
That would resolve my concern that this could overload the first segment. The feedback and message BO are usually rather small (4 or 128k IIRC), but the firmware is a couple of megabytes in size.
When we have other FW and VGA emulation buffers in the first segment as well then that could result into clashing that segment to much.
Thanks,
Christian.
>>>> I will try to find a Kaveri system which is still working to reproduce the issue.
I unfortunately couldn't find a working box of hand. Would need to search in our HW stash for a box which still works and get that shipped to me.
And that is overhead for this issue I would rather like to avoid.
So if you can come up with a simpler patch which works for you I'm happy to take that.
Regards,
Christian.
More information about the amd-gfx
mailing list