| .. | .. |
|---|
| 45 | 45 | nvkm_wr32(device, TPC_UNIT(gpc, tpc, 0x734 + sm * 0x80), gerr); |
|---|
| 46 | 46 | } |
|---|
| 47 | 47 | |
|---|
| 48 | | -static void |
|---|
| 48 | +void |
|---|
| 49 | 49 | gv100_gr_trap_mp(struct gf100_gr *gr, int gpc, int tpc) |
|---|
| 50 | 50 | { |
|---|
| 51 | 51 | gv100_gr_trap_sm(gr, gpc, tpc, 0); |
|---|
| .. | .. |
|---|
| 59 | 59 | nvkm_mask(device, 0x4188a4, 0x03000000, 0x03000000); |
|---|
| 60 | 60 | } |
|---|
| 61 | 61 | |
|---|
| 62 | | -static void |
|---|
| 62 | +void |
|---|
| 63 | 63 | gv100_gr_init_shader_exceptions(struct gf100_gr *gr, int gpc, int tpc) |
|---|
| 64 | 64 | { |
|---|
| 65 | 65 | struct nvkm_device *device = gr->base.engine.subdev.device; |
|---|
| .. | .. |
|---|
| 71 | 71 | } |
|---|
| 72 | 72 | } |
|---|
| 73 | 73 | |
|---|
| 74 | | -static void |
|---|
| 74 | +void |
|---|
| 75 | 75 | gv100_gr_init_504430(struct gf100_gr *gr, int gpc, int tpc) |
|---|
| 76 | 76 | { |
|---|
| 77 | 77 | struct nvkm_device *device = gr->base.engine.subdev.device; |
|---|
| 78 | 78 | nvkm_wr32(device, TPC_UNIT(gpc, tpc, 0x430), 0x403f0000); |
|---|
| 79 | 79 | } |
|---|
| 80 | 80 | |
|---|
| 81 | | -static void |
|---|
| 81 | +void |
|---|
| 82 | 82 | gv100_gr_init_419bd8(struct gf100_gr *gr) |
|---|
| 83 | 83 | { |
|---|
| 84 | 84 | struct nvkm_device *device = gr->base.engine.subdev.device; |
|---|
| .. | .. |
|---|
| 120 | 120 | } |
|---|
| 121 | 121 | }; |
|---|
| 122 | 122 | |
|---|
| 123 | +MODULE_FIRMWARE("nvidia/gv100/gr/fecs_bl.bin"); |
|---|
| 124 | +MODULE_FIRMWARE("nvidia/gv100/gr/fecs_inst.bin"); |
|---|
| 125 | +MODULE_FIRMWARE("nvidia/gv100/gr/fecs_data.bin"); |
|---|
| 126 | +MODULE_FIRMWARE("nvidia/gv100/gr/fecs_sig.bin"); |
|---|
| 127 | +MODULE_FIRMWARE("nvidia/gv100/gr/gpccs_bl.bin"); |
|---|
| 128 | +MODULE_FIRMWARE("nvidia/gv100/gr/gpccs_inst.bin"); |
|---|
| 129 | +MODULE_FIRMWARE("nvidia/gv100/gr/gpccs_data.bin"); |
|---|
| 130 | +MODULE_FIRMWARE("nvidia/gv100/gr/gpccs_sig.bin"); |
|---|
| 131 | +MODULE_FIRMWARE("nvidia/gv100/gr/sw_ctx.bin"); |
|---|
| 132 | +MODULE_FIRMWARE("nvidia/gv100/gr/sw_nonctx.bin"); |
|---|
| 133 | +MODULE_FIRMWARE("nvidia/gv100/gr/sw_bundle_init.bin"); |
|---|
| 134 | +MODULE_FIRMWARE("nvidia/gv100/gr/sw_method_init.bin"); |
|---|
| 135 | + |
|---|
| 136 | +static const struct gf100_gr_fwif |
|---|
| 137 | +gv100_gr_fwif[] = { |
|---|
| 138 | + { 0, gm200_gr_load, &gv100_gr, &gp108_gr_fecs_acr, &gp108_gr_gpccs_acr }, |
|---|
| 139 | + { -1, gm200_gr_nofw }, |
|---|
| 140 | + {} |
|---|
| 141 | +}; |
|---|
| 142 | + |
|---|
| 123 | 143 | int |
|---|
| 124 | 144 | gv100_gr_new(struct nvkm_device *device, int index, struct nvkm_gr **pgr) |
|---|
| 125 | 145 | { |
|---|
| 126 | | - return gm200_gr_new_(&gv100_gr, device, index, pgr); |
|---|
| 146 | + return gf100_gr_new_(gv100_gr_fwif, device, index, pgr); |
|---|
| 127 | 147 | } |
|---|