drm/nouveau/fifo: add runq
[linux-block.git] / drivers / gpu / drm / nouveau / nvkm / engine / fifo / gk20a.c
index 6e35cf44c640f8de9364fe7185d4f7f2fbfca469..11227cf5594166b3cdeff39a125539c89b937244 100644 (file)
 
 #include <nvif/class.h>
 
-static const struct gk104_fifo_func
+static const struct nvkm_fifo_func
 gk20a_fifo = {
-       .intr.fault = gf100_fifo_intr_fault,
-       .pbdma = &gk208_fifo_pbdma,
+       .dtor = gk104_fifo_dtor,
+       .oneinit = gk104_fifo_oneinit,
+       .chid_nr = nv50_fifo_chid_nr,
+       .chid_ctor = gk110_fifo_chid_ctor,
+       .runq_nr = gf100_fifo_runq_nr,
+       .info = gk104_fifo_info,
+       .init = gk104_fifo_init,
+       .fini = gk104_fifo_fini,
+       .intr = gk104_fifo_intr,
+       .intr_mmu_fault_unit = gf100_fifo_intr_mmu_fault_unit,
+       .mmu_fault = &gk104_fifo_mmu_fault,
        .fault.access = gk104_fifo_fault_access,
        .fault.engine = gk104_fifo_fault_engine,
        .fault.reason = gk104_fifo_fault_reason,
        .fault.hubclient = gk104_fifo_fault_hubclient,
        .fault.gpcclient = gk104_fifo_fault_gpcclient,
+       .engine_id = gk104_fifo_engine_id,
+       .id_engine = gk104_fifo_id_engine,
+       .uevent_init = gk104_fifo_uevent_init,
+       .uevent_fini = gk104_fifo_uevent_fini,
+       .recover_chan = gk104_fifo_recover_chan,
        .runlist = &gk110_fifo_runlist,
-       .chan = {{0,0,KEPLER_CHANNEL_GPFIFO_A}, gk104_fifo_gpfifo_new },
+       .pbdma = &gk208_fifo_pbdma,
+       .runq = &gk208_runq,
+       .cgrp = {{                               }, &gk110_cgrp },
+       .chan = {{ 0, 0, KEPLER_CHANNEL_GPFIFO_A }, &gk110_chan, .ctor = &gk104_fifo_gpfifo_new },
 };
 
 int
 gk20a_fifo_new(struct nvkm_device *device, enum nvkm_subdev_type type, int inst,
               struct nvkm_fifo **pfifo)
 {
-       return gk104_fifo_new_(&gk20a_fifo, device, type, inst, 128, pfifo);
+       return gk104_fifo_new_(&gk20a_fifo, device, type, inst, 0, pfifo);
 }