Loading drivers/gpu/drm/nouveau/nvkm/engine/fifo/gk104.c +3 −0 Original line number Diff line number Diff line Loading @@ -962,6 +962,9 @@ gk104_fifo_init(struct nvkm_fifo *base) nvkm_wr32(device, 0x002254, 0x10000000 | fifo->user.bar->addr >> 12); if (fifo->func->init_pbdma_timeout) fifo->func->init_pbdma_timeout(fifo); nvkm_wr32(device, 0x002100, 0xffffffff); nvkm_wr32(device, 0x002140, 0x7fffffff); } Loading drivers/gpu/drm/nouveau/nvkm/engine/fifo/gk104.h +4 −0 Original line number Diff line number Diff line Loading @@ -45,6 +45,8 @@ struct gk104_fifo { }; struct gk104_fifo_func { void (*init_pbdma_timeout)(struct gk104_fifo *); struct { const struct nvkm_enum *access; const struct nvkm_enum *engine; Loading Loading @@ -87,6 +89,8 @@ extern const struct gk104_fifo_runlist_func gk110_fifo_runlist; void gk110_fifo_runlist_cgrp(struct nvkm_fifo_cgrp *, struct nvkm_memory *, u32); void gk208_fifo_init_pbdma_timeout(struct gk104_fifo *); extern const struct nvkm_enum gm107_fifo_fault_engine[]; extern const struct nvkm_enum gp100_fifo_fault_engine[]; #endif drivers/gpu/drm/nouveau/nvkm/engine/fifo/gk208.c +11 −0 Original line number Diff line number Diff line Loading @@ -26,8 +26,19 @@ #include <nvif/class.h> void gk208_fifo_init_pbdma_timeout(struct gk104_fifo *fifo) { struct nvkm_device *device = fifo->base.engine.subdev.device; int i; for (i = 0; i < fifo->pbdma_nr; i++) nvkm_wr32(device, 0x04012c + (i * 0x2000), 0x0000ffff); } static const struct gk104_fifo_func gk208_fifo = { .init_pbdma_timeout = gk208_fifo_init_pbdma_timeout, .fault.access = gk104_fifo_fault_access, .fault.engine = gk104_fifo_fault_engine, .fault.reason = gk104_fifo_fault_reason, Loading drivers/gpu/drm/nouveau/nvkm/engine/fifo/gk20a.c +1 −0 Original line number Diff line number Diff line Loading @@ -26,6 +26,7 @@ static const struct gk104_fifo_func gk20a_fifo = { .init_pbdma_timeout = gk208_fifo_init_pbdma_timeout, .fault.access = gk104_fifo_fault_access, .fault.engine = gk104_fifo_fault_engine, .fault.reason = gk104_fifo_fault_reason, Loading drivers/gpu/drm/nouveau/nvkm/engine/fifo/gm107.c +1 −0 Original line number Diff line number Diff line Loading @@ -51,6 +51,7 @@ gm107_fifo_fault_engine[] = { static const struct gk104_fifo_func gm107_fifo = { .init_pbdma_timeout = gk208_fifo_init_pbdma_timeout, .fault.access = gk104_fifo_fault_access, .fault.engine = gm107_fifo_fault_engine, .fault.reason = gk104_fifo_fault_reason, Loading Loading
drivers/gpu/drm/nouveau/nvkm/engine/fifo/gk104.c +3 −0 Original line number Diff line number Diff line Loading @@ -962,6 +962,9 @@ gk104_fifo_init(struct nvkm_fifo *base) nvkm_wr32(device, 0x002254, 0x10000000 | fifo->user.bar->addr >> 12); if (fifo->func->init_pbdma_timeout) fifo->func->init_pbdma_timeout(fifo); nvkm_wr32(device, 0x002100, 0xffffffff); nvkm_wr32(device, 0x002140, 0x7fffffff); } Loading
drivers/gpu/drm/nouveau/nvkm/engine/fifo/gk104.h +4 −0 Original line number Diff line number Diff line Loading @@ -45,6 +45,8 @@ struct gk104_fifo { }; struct gk104_fifo_func { void (*init_pbdma_timeout)(struct gk104_fifo *); struct { const struct nvkm_enum *access; const struct nvkm_enum *engine; Loading Loading @@ -87,6 +89,8 @@ extern const struct gk104_fifo_runlist_func gk110_fifo_runlist; void gk110_fifo_runlist_cgrp(struct nvkm_fifo_cgrp *, struct nvkm_memory *, u32); void gk208_fifo_init_pbdma_timeout(struct gk104_fifo *); extern const struct nvkm_enum gm107_fifo_fault_engine[]; extern const struct nvkm_enum gp100_fifo_fault_engine[]; #endif
drivers/gpu/drm/nouveau/nvkm/engine/fifo/gk208.c +11 −0 Original line number Diff line number Diff line Loading @@ -26,8 +26,19 @@ #include <nvif/class.h> void gk208_fifo_init_pbdma_timeout(struct gk104_fifo *fifo) { struct nvkm_device *device = fifo->base.engine.subdev.device; int i; for (i = 0; i < fifo->pbdma_nr; i++) nvkm_wr32(device, 0x04012c + (i * 0x2000), 0x0000ffff); } static const struct gk104_fifo_func gk208_fifo = { .init_pbdma_timeout = gk208_fifo_init_pbdma_timeout, .fault.access = gk104_fifo_fault_access, .fault.engine = gk104_fifo_fault_engine, .fault.reason = gk104_fifo_fault_reason, Loading
drivers/gpu/drm/nouveau/nvkm/engine/fifo/gk20a.c +1 −0 Original line number Diff line number Diff line Loading @@ -26,6 +26,7 @@ static const struct gk104_fifo_func gk20a_fifo = { .init_pbdma_timeout = gk208_fifo_init_pbdma_timeout, .fault.access = gk104_fifo_fault_access, .fault.engine = gk104_fifo_fault_engine, .fault.reason = gk104_fifo_fault_reason, Loading
drivers/gpu/drm/nouveau/nvkm/engine/fifo/gm107.c +1 −0 Original line number Diff line number Diff line Loading @@ -51,6 +51,7 @@ gm107_fifo_fault_engine[] = { static const struct gk104_fifo_func gm107_fifo = { .init_pbdma_timeout = gk208_fifo_init_pbdma_timeout, .fault.access = gk104_fifo_fault_access, .fault.engine = gm107_fifo_fault_engine, .fault.reason = gk104_fifo_fault_reason, Loading