Loading drivers/gpu/drm/nouveau/include/nvif/class.h +2 −0 Original line number Diff line number Diff line Loading @@ -54,6 +54,8 @@ #define VOLTA_USERMODE_A 0x0000c361 #define MAXWELL_FAULT_BUFFER_A /* clb069.h */ 0x0000b069 #define NV03_CHANNEL_DMA /* cl506b.h */ 0x0000006b #define NV10_CHANNEL_DMA /* cl506b.h */ 0x0000006e #define NV17_CHANNEL_DMA /* cl506b.h */ 0x0000176e Loading drivers/gpu/drm/nouveau/include/nvif/clb069.h 0 → 100644 +12 −0 Original line number Diff line number Diff line #ifndef __NVIF_CLB069_H__ #define __NVIF_CLB069_H__ struct nvif_clb069_v0 { __u8 version; __u8 pad01[3]; __u32 entries; __u32 get; __u32 put; }; #define NVB069_V0_NTFY_FAULT 0x00 #endif drivers/gpu/drm/nouveau/include/nvkm/subdev/fault.h +2 −0 Original line number Diff line number Diff line Loading @@ -13,6 +13,8 @@ struct nvkm_fault { struct nvkm_event event; struct nvkm_notify nrpfb; struct nvkm_device_oclass user; }; struct nvkm_fault_data { Loading drivers/gpu/drm/nouveau/nvkm/engine/device/user.c +7 −8 Original line number Diff line number Diff line Loading @@ -365,16 +365,15 @@ nvkm_udevice_child_get(struct nvkm_object *object, int index, } if (!sclass) { switch (index) { case 0: sclass = &nvkm_control_oclass; break; case 1: if (!device->mmu) return -EINVAL; if (index-- == 0) sclass = &nvkm_control_oclass; else if (device->mmu && index-- == 0) sclass = &device->mmu->user; break; default: else if (device->fault && index-- == 0) sclass = &device->fault->user; else return -EINVAL; } oclass->base = sclass->base; } Loading drivers/gpu/drm/nouveau/nvkm/subdev/fault/Kbuild +1 −0 Original line number Diff line number Diff line nvkm-y += nvkm/subdev/fault/base.o nvkm-y += nvkm/subdev/fault/user.o nvkm-y += nvkm/subdev/fault/gp100.o nvkm-y += nvkm/subdev/fault/gv100.o nvkm-y += nvkm/subdev/fault/tu102.o Loading
drivers/gpu/drm/nouveau/include/nvif/class.h +2 −0 Original line number Diff line number Diff line Loading @@ -54,6 +54,8 @@ #define VOLTA_USERMODE_A 0x0000c361 #define MAXWELL_FAULT_BUFFER_A /* clb069.h */ 0x0000b069 #define NV03_CHANNEL_DMA /* cl506b.h */ 0x0000006b #define NV10_CHANNEL_DMA /* cl506b.h */ 0x0000006e #define NV17_CHANNEL_DMA /* cl506b.h */ 0x0000176e Loading
drivers/gpu/drm/nouveau/include/nvif/clb069.h 0 → 100644 +12 −0 Original line number Diff line number Diff line #ifndef __NVIF_CLB069_H__ #define __NVIF_CLB069_H__ struct nvif_clb069_v0 { __u8 version; __u8 pad01[3]; __u32 entries; __u32 get; __u32 put; }; #define NVB069_V0_NTFY_FAULT 0x00 #endif
drivers/gpu/drm/nouveau/include/nvkm/subdev/fault.h +2 −0 Original line number Diff line number Diff line Loading @@ -13,6 +13,8 @@ struct nvkm_fault { struct nvkm_event event; struct nvkm_notify nrpfb; struct nvkm_device_oclass user; }; struct nvkm_fault_data { Loading
drivers/gpu/drm/nouveau/nvkm/engine/device/user.c +7 −8 Original line number Diff line number Diff line Loading @@ -365,16 +365,15 @@ nvkm_udevice_child_get(struct nvkm_object *object, int index, } if (!sclass) { switch (index) { case 0: sclass = &nvkm_control_oclass; break; case 1: if (!device->mmu) return -EINVAL; if (index-- == 0) sclass = &nvkm_control_oclass; else if (device->mmu && index-- == 0) sclass = &device->mmu->user; break; default: else if (device->fault && index-- == 0) sclass = &device->fault->user; else return -EINVAL; } oclass->base = sclass->base; } Loading
drivers/gpu/drm/nouveau/nvkm/subdev/fault/Kbuild +1 −0 Original line number Diff line number Diff line nvkm-y += nvkm/subdev/fault/base.o nvkm-y += nvkm/subdev/fault/user.o nvkm-y += nvkm/subdev/fault/gp100.o nvkm-y += nvkm/subdev/fault/gv100.o nvkm-y += nvkm/subdev/fault/tu102.o