mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-27 17:36:25 +07:00
187d292920
The midgard/bifrost GPUs need to allocate GPU heap memory which is allocated on GPU page faults and not pinned in memory. The vendor driver calls this functionality GROW_ON_GPF. This implementation assumes that BOs allocated with the PANFROST_BO_NOEXEC flag are never mmapped or exported. Both of those may actually work, but I'm unsure if there's some interaction there. It would cause the whole object to be pinned in memory which would defeat the point of this. On faults, we map in 2MB at a time in order to utilize huge pages (if enabled). Currently, once we've mapped pages in, they are only unmapped if the BO is freed. Once we add shrinker support, we can unmap pages with the shrinker. Cc: Tomeu Vizoso <tomeu.vizoso@collabora.com> Cc: Boris Brezillon <boris.brezillon@collabora.com> Cc: Robin Murphy <robin.murphy@arm.com> Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Reviewed-by: Steven Price <steven.price@arm.com> Signed-off-by: Rob Herring <robh@kernel.org> Link: https://patchwork.freedesktop.org/patch/msgid/20190808222200.13176-9-robh@kernel.org
17 lines
535 B
Plaintext
17 lines
535 B
Plaintext
- Thermal support.
|
|
|
|
- Bifrost support:
|
|
- DT bindings (Neil, WIP)
|
|
- MMU page table format and address space setup
|
|
- Bifrost specific feature and issue handling
|
|
- Coherent DMA support
|
|
|
|
- Per FD address space support. The h/w supports multiple addresses spaces.
|
|
The hard part is handling when more address spaces are needed than what
|
|
the h/w provides.
|
|
|
|
- Support userspace controlled GPU virtual addresses. Needed for Vulkan. (Tomeu)
|
|
|
|
- Compute job support. So called 'compute only' jobs need to be plumbed up to
|
|
userspace.
|