Module Name: src Committed By: riastradh Date: Mon Aug 27 07:35:57 UTC 2018
Modified Files: src/sys/external/bsd/drm2/dist/drm/nouveau: nouveau_nvif.c nouveau_usif.c src/sys/external/bsd/drm2/dist/drm/nouveau/include/nvif: driver.h ioctl.h object.h src/sys/external/bsd/drm2/dist/drm/nouveau/include/nvkm/core: object.h src/sys/external/bsd/drm2/dist/drm/nouveau/nvif: nouveau_nvif_object.c src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/core: nouveau_nvkm_core_ioctl.c nouveau_nvkm_core_object.c nouveau_nvkm_core_oproxy.c src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/engine/device: nouveau_nvkm_engine_device_user.c src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/engine/disp: nouveau_nvkm_engine_disp_channv50.c src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/engine/fifo: nouveau_nvkm_engine_fifo_chan.c Log Message: Kludge to pass bus_space_tag through nvif mappings. - New `ioctl' NVIF_IOCTL_V0_MAP_NETBSD returns bus_space_tag_t too. . Blocked from userland. (Would only disclose a kernel virtual address, so not terribly serious.) - struct nvif_driver::map function takes bus_sapce_tag, returns bus_space_handle in addition to kva pointer. - struct nvif_driver::unmap function takes bus_space_tag and bus_space_handle rather than kva pointer. - Teach various nvkm object types to return bus space tags too. - Map them all with BUS_SPACE_MAP_LINEAR so the vaddr works. XXX The fifo channel might need to be mapped with a subregion. XXX What to do? To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 \ src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_nvif.c \ src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_usif.c cvs rdiff -u -r1.3 -r1.4 \ src/sys/external/bsd/drm2/dist/drm/nouveau/include/nvif/driver.h \ src/sys/external/bsd/drm2/dist/drm/nouveau/include/nvif/object.h cvs rdiff -u -r1.2 -r1.3 \ src/sys/external/bsd/drm2/dist/drm/nouveau/include/nvif/ioctl.h cvs rdiff -u -r1.2 -r1.3 \ src/sys/external/bsd/drm2/dist/drm/nouveau/include/nvkm/core/object.h cvs rdiff -u -r1.2 -r1.3 \ src/sys/external/bsd/drm2/dist/drm/nouveau/nvif/nouveau_nvif_object.c cvs rdiff -u -r1.2 -r1.3 \ src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/core/nouveau_nvkm_core_ioctl.c \ src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/core/nouveau_nvkm_core_object.c \ src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/core/nouveau_nvkm_core_oproxy.c cvs rdiff -u -r1.2 -r1.3 \ src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/engine/device/nouveau_nvkm_engine_device_user.c cvs rdiff -u -r1.2 -r1.3 \ src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/engine/disp/nouveau_nvkm_engine_disp_channv50.c cvs rdiff -u -r1.2 -r1.3 \ src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/engine/fifo/nouveau_nvkm_engine_fifo_chan.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.