[PATCH v2 1/1] drm/virtio: Implement device_attach
Christian König
christian.koenig at amd.com
Wed Jan 31 14:32:20 UTC 2024
Am 31.01.24 um 11:20 schrieb Zhang, Julia:
> On 2024/1/30 22:23, Christian König wrote:
>> Am 30.01.24 um 12:16 schrieb Daniel Vetter:
>>> On Tue, Jan 30, 2024 at 12:10:31PM +0100, Daniel Vetter wrote:
>>>> [SNIP]
> Hi Sima, Christian,
>
>> Yeah, that is really just speculative. All importers need to set the peer2peer flag just in case.
> I see, I will modify this.
>
>> What happens under the hood is that IOMMU redirects the "VRAM" memory access to whatever address the DMA-buf on the host is pointing to (system, VRAM, doorbell, IOMMU, whatever).
>>
>> I'm also not 100% sure if all the cache snooping is done correctly in all cases, but for now it seems to work.
>>>> Frankly the more I look at the original patch that added vram export
>>>> support the more this just looks like a "pls revert, this is just too
>>>> broken".
>>> The commit I mean is this one: ea5ea3d8a117 ("drm/virtio: support mapping
>>> exported vram"). The commit message definitely needs to cite that one, and
>>> also needs a cc: stable because not rejecting invalid imports is a pretty
>>> big deal.
>> Yeah, I've pointed out that commit in an internal discussion as well. I was just not aware that it's that severely broken.
>>
> Yeah we have mentioned this patch before, but I don't totally understand why this is too broken. Without exporting vram objects, dGPU prime feature would not be realized.
> Would you mind to explain more about it. Thanks!
One reason is that using sg tables without struct pages is actually a
hack we came up with because we couldn't hope to clean up the sg table
structure any time soon to not include struct page pointers.
Another reason is that using this with devices which don't expect a DMA
address pointing into a virtual PCI BAR. So doing this without checking
the peer2peer flag can most likely cause quite a bit of trouble.
Regards,
Christian.
>
> Best regards,
> Julia
>
>> Regards,
>> Christian.
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/amd-gfx/attachments/20240131/23f9fa1a/attachment.htm>
More information about the amd-gfx
mailing list