.therm = { 0x00000001, gt215_therm_new },
.timer = { 0x00000001, nv41_timer_new },
.volt = { 0x00000001, nv40_volt_new },
- .ce[0] = gt215_ce_new,
+ .ce = { 0x00000001, gt215_ce_new },
.disp = gt215_disp_new,
.dma = nv50_dma_new,
.fifo = g84_fifo_new,
.therm = { 0x00000001, gt215_therm_new },
.timer = { 0x00000001, nv41_timer_new },
.volt = { 0x00000001, nv40_volt_new },
- .ce[0] = gt215_ce_new,
+ .ce = { 0x00000001, gt215_ce_new },
.disp = gt215_disp_new,
.dma = nv50_dma_new,
.fifo = g84_fifo_new,
.therm = { 0x00000001, gt215_therm_new },
.timer = { 0x00000001, nv41_timer_new },
.volt = { 0x00000001, nv40_volt_new },
- .ce[0] = gt215_ce_new,
+ .ce = { 0x00000001, gt215_ce_new },
.disp = gt215_disp_new,
.dma = nv50_dma_new,
.fifo = g84_fifo_new,
.therm = { 0x00000001, gt215_therm_new },
.timer = { 0x00000001, nv41_timer_new },
.volt = { 0x00000001, nv40_volt_new },
- .ce[0] = gt215_ce_new,
+ .ce = { 0x00000001, gt215_ce_new },
.disp = mcp89_disp_new,
.dma = nv50_dma_new,
.fifo = g84_fifo_new,
.therm = { 0x00000001, gt215_therm_new },
.timer = { 0x00000001, nv41_timer_new },
.volt = { 0x00000001, gf100_volt_new },
- .ce[0] = gf100_ce_new,
- .ce[1] = gf100_ce_new,
+ .ce = { 0x00000003, gf100_ce_new },
.disp = gt215_disp_new,
.dma = gf100_dma_new,
.fifo = gf100_fifo_new,
.therm = { 0x00000001, gt215_therm_new },
.timer = { 0x00000001, nv41_timer_new },
.volt = { 0x00000001, gf100_volt_new },
- .ce[0] = gf100_ce_new,
+ .ce = { 0x00000001, gf100_ce_new },
.disp = gt215_disp_new,
.dma = gf100_dma_new,
.fifo = gf100_fifo_new,
.therm = { 0x00000001, gt215_therm_new },
.timer = { 0x00000001, nv41_timer_new },
.volt = { 0x00000001, gf100_volt_new },
- .ce[0] = gf100_ce_new,
+ .ce = { 0x00000001, gf100_ce_new },
.disp = gt215_disp_new,
.dma = gf100_dma_new,
.fifo = gf100_fifo_new,
.therm = { 0x00000001, gt215_therm_new },
.timer = { 0x00000001, nv41_timer_new },
.volt = { 0x00000001, gf100_volt_new },
- .ce[0] = gf100_ce_new,
- .ce[1] = gf100_ce_new,
+ .ce = { 0x00000003, gf100_ce_new },
.disp = gt215_disp_new,
.dma = gf100_dma_new,
.fifo = gf100_fifo_new,
.therm = { 0x00000001, gt215_therm_new },
.timer = { 0x00000001, nv41_timer_new },
.volt = { 0x00000001, gf100_volt_new },
- .ce[0] = gf100_ce_new,
- .ce[1] = gf100_ce_new,
+ .ce = { 0x00000003, gf100_ce_new },
.disp = gt215_disp_new,
.dma = gf100_dma_new,
.fifo = gf100_fifo_new,
.therm = { 0x00000001, gt215_therm_new },
.timer = { 0x00000001, nv41_timer_new },
.volt = { 0x00000001, gf100_volt_new },
- .ce[0] = gf100_ce_new,
- .ce[1] = gf100_ce_new,
+ .ce = { 0x00000003, gf100_ce_new },
.disp = gt215_disp_new,
.dma = gf100_dma_new,
.fifo = gf100_fifo_new,
.therm = { 0x00000001, gt215_therm_new },
.timer = { 0x00000001, nv41_timer_new },
.volt = { 0x00000001, gf100_volt_new },
- .ce[0] = gf100_ce_new,
+ .ce = { 0x00000001, gf100_ce_new },
.disp = gt215_disp_new,
.dma = gf100_dma_new,
.fifo = gf100_fifo_new,
.therm = { 0x00000001, gf119_therm_new },
.timer = { 0x00000001, nv41_timer_new },
.volt = { 0x00000001, gf117_volt_new },
- .ce[0] = gf100_ce_new,
+ .ce = { 0x00000001, gf100_ce_new },
.disp = gf119_disp_new,
.dma = gf119_dma_new,
.fifo = gf100_fifo_new,
.therm = { 0x00000001, gf119_therm_new },
.timer = { 0x00000001, nv41_timer_new },
.volt = { 0x00000001, gf100_volt_new },
- .ce[0] = gf100_ce_new,
+ .ce = { 0x00000001, gf100_ce_new },
.disp = gf119_disp_new,
.dma = gf119_dma_new,
.fifo = gf100_fifo_new,
.timer = { 0x00000001, nv41_timer_new },
.top = { 0x00000001, gk104_top_new },
.volt = { 0x00000001, gk104_volt_new },
- .ce[0] = gk104_ce_new,
- .ce[1] = gk104_ce_new,
- .ce[2] = gk104_ce_new,
+ .ce = { 0x00000007, gk104_ce_new },
.disp = gk104_disp_new,
.dma = gf119_dma_new,
.fifo = gk104_fifo_new,
.timer = { 0x00000001, nv41_timer_new },
.top = { 0x00000001, gk104_top_new },
.volt = { 0x00000001, gk104_volt_new },
- .ce[0] = gk104_ce_new,
- .ce[1] = gk104_ce_new,
- .ce[2] = gk104_ce_new,
+ .ce = { 0x00000007, gk104_ce_new },
.disp = gk104_disp_new,
.dma = gf119_dma_new,
.fifo = gk104_fifo_new,
.timer = { 0x00000001, nv41_timer_new },
.top = { 0x00000001, gk104_top_new },
.volt = { 0x00000001, gk104_volt_new },
- .ce[0] = gk104_ce_new,
- .ce[1] = gk104_ce_new,
- .ce[2] = gk104_ce_new,
+ .ce = { 0x00000007, gk104_ce_new },
.disp = gk104_disp_new,
.dma = gf119_dma_new,
.fifo = gk104_fifo_new,
.timer = { 0x00000001, gk20a_timer_new },
.top = { 0x00000001, gk104_top_new },
.volt = { 0x00000001, gk20a_volt_new },
- .ce[2] = gk104_ce_new,
+ .ce = { 0x00000004, gk104_ce_new },
.dma = gf119_dma_new,
.fifo = gk20a_fifo_new,
.gr = gk20a_gr_new,
.timer = { 0x00000001, nv41_timer_new },
.top = { 0x00000001, gk104_top_new },
.volt = { 0x00000001, gk104_volt_new },
- .ce[0] = gk104_ce_new,
- .ce[1] = gk104_ce_new,
- .ce[2] = gk104_ce_new,
+ .ce = { 0x00000007, gk104_ce_new },
.disp = gk110_disp_new,
.dma = gf119_dma_new,
.fifo = gk110_fifo_new,
.timer = { 0x00000001, nv41_timer_new },
.top = { 0x00000001, gk104_top_new },
.volt = { 0x00000001, gk104_volt_new },
- .ce[0] = gk104_ce_new,
- .ce[1] = gk104_ce_new,
- .ce[2] = gk104_ce_new,
+ .ce = { 0x00000007, gk104_ce_new },
.disp = gk110_disp_new,
.dma = gf119_dma_new,
.fifo = gk110_fifo_new,
.timer = { 0x00000001, nv41_timer_new },
.top = { 0x00000001, gk104_top_new },
.volt = { 0x00000001, gk104_volt_new },
- .ce[0] = gk104_ce_new,
- .ce[1] = gk104_ce_new,
- .ce[2] = gk104_ce_new,
+ .ce = { 0x00000007, gk104_ce_new },
.disp = gk110_disp_new,
.dma = gf119_dma_new,
.fifo = gk208_fifo_new,
.timer = { 0x00000001, nv41_timer_new },
.top = { 0x00000001, gk104_top_new },
.volt = { 0x00000001, gk104_volt_new },
- .ce[0] = gk104_ce_new,
- .ce[1] = gk104_ce_new,
- .ce[2] = gk104_ce_new,
+ .ce = { 0x00000007, gk104_ce_new },
.disp = gk110_disp_new,
.dma = gf119_dma_new,
.fifo = gk208_fifo_new,
.timer = { 0x00000001, gk20a_timer_new },
.top = { 0x00000001, gk104_top_new },
.volt = { 0x00000001, gk104_volt_new },
- .ce[0] = gm107_ce_new,
- .ce[2] = gm107_ce_new,
+ .ce = { 0x00000005, gm107_ce_new },
.disp = gm107_disp_new,
.dma = gf119_dma_new,
.fifo = gm107_fifo_new,
.timer = { 0x00000001, gk20a_timer_new },
.top = { 0x00000001, gk104_top_new },
.volt = { 0x00000001, gk104_volt_new },
- .ce[0] = gm107_ce_new,
- .ce[2] = gm107_ce_new,
+ .ce = { 0x00000005, gm107_ce_new },
.disp = gm107_disp_new,
.dma = gf119_dma_new,
.fifo = gm107_fifo_new,
.timer = { 0x00000001, gk20a_timer_new },
.top = { 0x00000001, gk104_top_new },
.volt = { 0x00000001, gk104_volt_new },
- .ce[0] = gm200_ce_new,
- .ce[1] = gm200_ce_new,
- .ce[2] = gm200_ce_new,
+ .ce = { 0x00000007, gm200_ce_new },
.disp = gm200_disp_new,
.dma = gf119_dma_new,
.fifo = gm200_fifo_new,
.timer = { 0x00000001, gk20a_timer_new },
.top = { 0x00000001, gk104_top_new },
.volt = { 0x00000001, gk104_volt_new },
- .ce[0] = gm200_ce_new,
- .ce[1] = gm200_ce_new,
- .ce[2] = gm200_ce_new,
+ .ce = { 0x00000007, gm200_ce_new },
.disp = gm200_disp_new,
.dma = gf119_dma_new,
.fifo = gm200_fifo_new,
.timer = { 0x00000001, gk20a_timer_new },
.top = { 0x00000001, gk104_top_new },
.volt = { 0x00000001, gk104_volt_new },
- .ce[0] = gm200_ce_new,
- .ce[1] = gm200_ce_new,
- .ce[2] = gm200_ce_new,
+ .ce = { 0x00000007, gm200_ce_new },
.disp = gm200_disp_new,
.dma = gf119_dma_new,
.fifo = gm200_fifo_new,
.timer = { 0x00000001, gk20a_timer_new },
.top = { 0x00000001, gk104_top_new },
.volt = { 0x00000001, gm20b_volt_new },
- .ce[2] = gm200_ce_new,
+ .ce = { 0x00000004, gm200_ce_new },
.dma = gf119_dma_new,
.fifo = gm20b_fifo_new,
.gr = gm20b_gr_new,
.pmu = { 0x00000001, gm200_pmu_new },
.timer = { 0x00000001, gk20a_timer_new },
.top = { 0x00000001, gk104_top_new },
- .ce[0] = gp100_ce_new,
- .ce[1] = gp100_ce_new,
- .ce[2] = gp100_ce_new,
- .ce[3] = gp100_ce_new,
- .ce[4] = gp100_ce_new,
- .ce[5] = gp100_ce_new,
+ .ce = { 0x0000003f, gp100_ce_new },
.dma = gf119_dma_new,
.disp = gp100_disp_new,
.fifo = gp100_fifo_new,
.pmu = { 0x00000001, gp102_pmu_new },
.timer = { 0x00000001, gk20a_timer_new },
.top = { 0x00000001, gk104_top_new },
- .ce[0] = gp102_ce_new,
- .ce[1] = gp102_ce_new,
- .ce[2] = gp102_ce_new,
- .ce[3] = gp102_ce_new,
+ .ce = { 0x0000000f, gp102_ce_new },
.disp = gp102_disp_new,
.dma = gf119_dma_new,
.fifo = gp100_fifo_new,
.pmu = { 0x00000001, gp102_pmu_new },
.timer = { 0x00000001, gk20a_timer_new },
.top = { 0x00000001, gk104_top_new },
- .ce[0] = gp102_ce_new,
- .ce[1] = gp102_ce_new,
- .ce[2] = gp102_ce_new,
- .ce[3] = gp102_ce_new,
+ .ce = { 0x0000000f, gp102_ce_new },
.disp = gp102_disp_new,
.dma = gf119_dma_new,
.fifo = gp100_fifo_new,
.pmu = { 0x00000001, gp102_pmu_new },
.timer = { 0x00000001, gk20a_timer_new },
.top = { 0x00000001, gk104_top_new },
- .ce[0] = gp102_ce_new,
- .ce[1] = gp102_ce_new,
- .ce[2] = gp102_ce_new,
- .ce[3] = gp102_ce_new,
+ .ce = { 0x0000000f, gp102_ce_new },
.disp = gp102_disp_new,
.dma = gf119_dma_new,
.fifo = gp100_fifo_new,
.pmu = { 0x00000001, gp102_pmu_new },
.timer = { 0x00000001, gk20a_timer_new },
.top = { 0x00000001, gk104_top_new },
- .ce[0] = gp102_ce_new,
- .ce[1] = gp102_ce_new,
- .ce[2] = gp102_ce_new,
- .ce[3] = gp102_ce_new,
+ .ce = { 0x0000000f, gp102_ce_new },
.disp = gp102_disp_new,
.dma = gf119_dma_new,
.fifo = gp100_fifo_new,
.pmu = { 0x00000001, gp102_pmu_new },
.timer = { 0x00000001, gk20a_timer_new },
.top = { 0x00000001, gk104_top_new },
- .ce[0] = gp102_ce_new,
- .ce[1] = gp102_ce_new,
- .ce[2] = gp102_ce_new,
- .ce[3] = gp102_ce_new,
+ .ce = { 0x0000000f, gp102_ce_new },
.disp = gp102_disp_new,
.dma = gf119_dma_new,
.fifo = gp100_fifo_new,
.pmu = { 0x00000001, gp10b_pmu_new },
.timer = { 0x00000001, gk20a_timer_new },
.top = { 0x00000001, gk104_top_new },
- .ce[0] = gp100_ce_new,
+ .ce = { 0x00000001, gp100_ce_new },
.dma = gf119_dma_new,
.fifo = gp10b_fifo_new,
.gr = gp10b_gr_new,
.therm = { 0x00000001, gp100_therm_new },
.timer = { 0x00000001, gk20a_timer_new },
.top = { 0x00000001, gk104_top_new },
+ .ce = { 0x000001ff, gv100_ce_new },
.disp = gv100_disp_new,
- .ce[0] = gv100_ce_new,
- .ce[1] = gv100_ce_new,
- .ce[2] = gv100_ce_new,
- .ce[3] = gv100_ce_new,
- .ce[4] = gv100_ce_new,
- .ce[5] = gv100_ce_new,
- .ce[6] = gv100_ce_new,
- .ce[7] = gv100_ce_new,
- .ce[8] = gv100_ce_new,
.dma = gv100_dma_new,
.fifo = gv100_fifo_new,
.gr = gv100_gr_new,
.therm = { 0x00000001, gp100_therm_new },
.timer = { 0x00000001, gk20a_timer_new },
.top = { 0x00000001, gk104_top_new },
- .ce[0] = tu102_ce_new,
- .ce[1] = tu102_ce_new,
- .ce[2] = tu102_ce_new,
- .ce[3] = tu102_ce_new,
- .ce[4] = tu102_ce_new,
+ .ce = { 0x0000001f, tu102_ce_new },
.disp = tu102_disp_new,
.dma = gv100_dma_new,
.fifo = tu102_fifo_new,
.therm = { 0x00000001, gp100_therm_new },
.timer = { 0x00000001, gk20a_timer_new },
.top = { 0x00000001, gk104_top_new },
- .ce[0] = tu102_ce_new,
- .ce[1] = tu102_ce_new,
- .ce[2] = tu102_ce_new,
- .ce[3] = tu102_ce_new,
- .ce[4] = tu102_ce_new,
+ .ce = { 0x0000001f, tu102_ce_new },
.disp = tu102_disp_new,
.dma = gv100_dma_new,
.fifo = tu102_fifo_new,
.therm = { 0x00000001, gp100_therm_new },
.timer = { 0x00000001, gk20a_timer_new },
.top = { 0x00000001, gk104_top_new },
- .ce[0] = tu102_ce_new,
- .ce[1] = tu102_ce_new,
- .ce[2] = tu102_ce_new,
- .ce[3] = tu102_ce_new,
- .ce[4] = tu102_ce_new,
+ .ce = { 0x0000001f, tu102_ce_new },
.disp = tu102_disp_new,
.dma = gv100_dma_new,
.fifo = tu102_fifo_new,
.therm = { 0x00000001, gp100_therm_new },
.timer = { 0x00000001, gk20a_timer_new },
.top = { 0x00000001, gk104_top_new },
- .ce[0] = tu102_ce_new,
- .ce[1] = tu102_ce_new,
- .ce[2] = tu102_ce_new,
- .ce[3] = tu102_ce_new,
- .ce[4] = tu102_ce_new,
+ .ce = { 0x0000001f, tu102_ce_new },
.disp = tu102_disp_new,
.dma = gv100_dma_new,
.fifo = tu102_fifo_new,
.therm = { 0x00000001, gp100_therm_new },
.timer = { 0x00000001, gk20a_timer_new },
.top = { 0x00000001, gk104_top_new },
- .ce[0] = tu102_ce_new,
- .ce[1] = tu102_ce_new,
- .ce[2] = tu102_ce_new,
- .ce[3] = tu102_ce_new,
- .ce[4] = tu102_ce_new,
+ .ce = { 0x0000001f, tu102_ce_new },
.disp = tu102_disp_new,
.dma = gv100_dma_new,
.fifo = tu102_fifo_new,
struct nvkm_subdev *subdev;
u64 mmio_base, mmio_size;
u32 boot0, boot1, strap;
- int ret = -EEXIST, i;
+ int ret = -EEXIST, i, j;
unsigned chipset;
mutex_lock(&nv_devices_mutex);
#include <core/layout.h>
#undef NVKM_LAYOUT_INST
#undef NVKM_LAYOUT_ONCE
- _(NVKM_ENGINE_CE0 , ce[0]);
- _(NVKM_ENGINE_CE1 , ce[1]);
- _(NVKM_ENGINE_CE2 , ce[2]);
- _(NVKM_ENGINE_CE3 , ce[3]);
- _(NVKM_ENGINE_CE4 , ce[4]);
- _(NVKM_ENGINE_CE5 , ce[5]);
- _(NVKM_ENGINE_CE6 , ce[6]);
- _(NVKM_ENGINE_CE7 , ce[7]);
- _(NVKM_ENGINE_CE8 , ce[8]);
_(NVKM_ENGINE_CIPHER , cipher);
_(NVKM_ENGINE_DISP , disp);
_(NVKM_ENGINE_DMAOBJ , dma);
_(NVKM_ENGINE_SEC2 , sec2);
_(NVKM_ENGINE_SW , sw);
_(NVKM_ENGINE_VIC , vic);
+ case NVKM_ENGINE_CE1:
+ case NVKM_ENGINE_CE2:
+ case NVKM_ENGINE_CE3:
+ case NVKM_ENGINE_CE4:
+ case NVKM_ENGINE_CE5:
+ case NVKM_ENGINE_CE6:
+ case NVKM_ENGINE_CE7:
+ case NVKM_ENGINE_CE8:
+ break;
default:
WARN_ON(1);
continue;