static int drm_gem_shmem_vmap_locked(struct drm_gem_shmem_object *shmem, struct dma_buf_map *map)
{
[...]
if (obj->import_attach) {
ret = dma_buf_vmap(obj->import_attach->dmabuf, map);
if (!ret) {
if (WARN_ON(map->is_iomem)) {
ret = -EIO;
goto err_put_pages;
}
shmem->vaddr = map->vaddr;
}
} else {
[...]
The GUD driver should really have detected this on atomic commit/check somehow so userspace can be told that this won't work. Maybe it should try a vmap in gud_pipe_check() but that wouldn't avoid the warning though.
(Split out from #9)
Importing buffers from Nvidia GPU does not work:
Full log: http://shz.al/P3SB
The warning is triggered in drm_gem_shmem_vmap_locked() due to the imported buffer being in iomem:
The GUD driver should really have detected this on atomic commit/check somehow so userspace can be told that this won't work. Maybe it should try a vmap in gud_pipe_check() but that wouldn't avoid the warning though.
Cc: @ZenithalHourlyRate