On Wed, Oct 07, 2020 at 03:34:01PM +0200, Tomasz Figa wrote:
I think the userptr zero-copy hack should be able to go away indeed, given that we now have CMA that allows having carveouts backed by struct pages and having the memory represented as DMA-buf normally.
This also needs to figure out how to get references to CMA pages out of a VMA. IIRC Daniel said these are not pinnable?
How about the regular userptr use case, though?
Just call pin_user_pages(), that is the easy case.
Is your intention to drop get_vaddr_frames() or we could still keep using it and if vec->is_pfns is true:
get_vaddr_frames() is dangerous, I would like it to go away.
a) if CONFIG_VIDEO_LEGACY_PFN_USERPTR is set, taint the kernel b) otherwise just undo and fail?
For the CONFIG_VIDEO_LEGACY_PFN_USERPTR case all the follow_pfn related code in get_vaddr_frames() shold move back into media and be hidden under this config.
Jason