1*f3ba9122SRob Herring- Thermal support. 2*f3ba9122SRob Herring 3*f3ba9122SRob Herring- Bifrost support: 4*f3ba9122SRob Herring - DT bindings (Neil, WIP) 5*f3ba9122SRob Herring - MMU page table format and address space setup 6*f3ba9122SRob Herring - Bifrost specific feature and issue handling 7*f3ba9122SRob Herring - Coherent DMA support 8*f3ba9122SRob Herring 9*f3ba9122SRob Herring- Support for 2MB pages. The io-pgtable code already supports this. Finishing 10*f3ba9122SRob Herring support involves either copying or adapting the iommu API to handle passing 11*f3ba9122SRob Herring aligned addresses and sizes to the io-pgtable code. 12*f3ba9122SRob Herring 13*f3ba9122SRob Herring- Per FD address space support. The h/w supports multiple addresses spaces. 14*f3ba9122SRob Herring The hard part is handling when more address spaces are needed than what 15*f3ba9122SRob Herring the h/w provides. 16*f3ba9122SRob Herring 17*f3ba9122SRob Herring- Support pinning pages on demand (GPU page faults). 18*f3ba9122SRob Herring 19*f3ba9122SRob Herring- Support userspace controlled GPU virtual addresses. Needed for Vulkan. (Tomeu) 20*f3ba9122SRob Herring 21*f3ba9122SRob Herring- Support for madvise and a shrinker. 22*f3ba9122SRob Herring 23*f3ba9122SRob Herring- Compute job support. So called 'compute only' jobs need to be plumbed up to 24*f3ba9122SRob Herring userspace. 25*f3ba9122SRob Herring 26*f3ba9122SRob Herring- Performance counter support. (Boris) 27*f3ba9122SRob Herring 28