On Wed, 2023-06-07 at 00:31 +0200, Danilo Krummrich wrote: > > Christian König (1): > drm: execution context for GEM buffers v4 > > Danilo Krummrich (13): > maple_tree: split up MA_STATE() macro > drm: manager to keep track of GPUs VA mappings I have tested the drm GPUVA manager as part of using it with our new driver. The link below shows use of the drm_gpuva_sm_[un]map() functions. I think this is based on the v3 patches, but I have also tried it locally using v4 patches. We will be submitting this driver for review soon. https://gitlab.freedesktop.org/sarah-walker-imgtec/powervr/-/blob/dev/v3/drivers/gpu/drm/imagination/pvr_vm.c In a previous incarnation, I used the drm_gpuva_insert() and drm_gpuva_remove() functions directly. In some now abandoned work I used the drm_gpuva_sm_[un]map_ops_create() route. The only problem I encountered along the way was the maple tree init issue already reported by Boris and fixed in v4. One caveat - as our driver is a work in progress our testing is limited to certain Sascha Willem tests. I did find it quite difficult to get the prealloc route with drm_gpuva_sm_[un]map() working. I'm not sure to what degree this reflects me being a novice on matters DRM, but I did find myself wishing for more direction, even with Boris's help. Tested-by: Donald Robson <donald.robson@xxxxxxxxxx> > drm: debugfs: provide infrastructure to dump a DRM GPU VA space > drm/nouveau: new VM_BIND uapi interfaces > drm/nouveau: get vmm via nouveau_cli_vmm() > drm/nouveau: bo: initialize GEM GPU VA interface > drm/nouveau: move usercopy helpers to nouveau_drv.h > drm/nouveau: fence: separate fence alloc and emit > drm/nouveau: fence: fail to emit when fence context is killed > drm/nouveau: chan: provide nouveau_channel_kill() > drm/nouveau: nvkm/vmm: implement raw ops to manage uvmm > drm/nouveau: implement new VM_BIND uAPI > drm/nouveau: debugfs: implement DRM GPU VA debugfs >