Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b2c4ef70 authored by Ben Skeggs's avatar Ben Skeggs
Browse files

drm/nouveau/gr/gp107: initial support



Forked from GP106 implementation.

Differences:
- 1 PPC/GPC
- Slightly different grctx magics

Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
parent fa1dbc49
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -44,5 +44,6 @@ int gm200_gr_new(struct nvkm_device *, int, struct nvkm_gr **);
int gm20b_gr_new(struct nvkm_device *, int, struct nvkm_gr **);
int gp100_gr_new(struct nvkm_device *, int, struct nvkm_gr **);
int gp102_gr_new(struct nvkm_device *, int, struct nvkm_gr **);
int gp107_gr_new(struct nvkm_device *, int, struct nvkm_gr **);
int gp10b_gr_new(struct nvkm_device *, int, struct nvkm_gr **);
#endif
+11 −6
Original line number Diff line number Diff line
@@ -2201,8 +2201,6 @@ nv132_chipset = {
	.mc = gp100_mc_new,
	.mmu = gf100_mmu_new,
	.secboot = gp102_secboot_new,
	.sec2 = gp102_sec2_new,
	.nvdec = gp102_nvdec_new,
	.pci = gp100_pci_new,
	.pmu = gp102_pmu_new,
	.timer = gk20a_timer_new,
@@ -2215,6 +2213,8 @@ nv132_chipset = {
	.dma = gf119_dma_new,
	.fifo = gp100_fifo_new,
	.gr = gp102_gr_new,
	.nvdec = gp102_nvdec_new,
	.sec2 = gp102_sec2_new,
	.sw = gf100_sw_new,
};

@@ -2235,8 +2235,6 @@ nv134_chipset = {
	.mc = gp100_mc_new,
	.mmu = gf100_mmu_new,
	.secboot = gp102_secboot_new,
	.sec2 = gp102_sec2_new,
	.nvdec = gp102_nvdec_new,
	.pci = gp100_pci_new,
	.pmu = gp102_pmu_new,
	.timer = gk20a_timer_new,
@@ -2249,6 +2247,8 @@ nv134_chipset = {
	.dma = gf119_dma_new,
	.fifo = gp100_fifo_new,
	.gr = gp102_gr_new,
	.nvdec = gp102_nvdec_new,
	.sec2 = gp102_sec2_new,
	.sw = gf100_sw_new,
};

@@ -2269,8 +2269,6 @@ nv136_chipset = {
	.mc = gp100_mc_new,
	.mmu = gf100_mmu_new,
	.secboot = gp102_secboot_new,
	.sec2 = gp102_sec2_new,
	.nvdec = gp102_nvdec_new,
	.pci = gp100_pci_new,
	.pmu = gp102_pmu_new,
	.timer = gk20a_timer_new,
@@ -2283,6 +2281,8 @@ nv136_chipset = {
	.dma = gf119_dma_new,
	.fifo = gp100_fifo_new,
	.gr = gp102_gr_new,
	.nvdec = gp102_nvdec_new,
	.sec2 = gp102_sec2_new,
	.sw = gf100_sw_new,
};

@@ -2302,6 +2302,7 @@ nv137_chipset = {
	.ltc = gp100_ltc_new,
	.mc = gp100_mc_new,
	.mmu = gf100_mmu_new,
	.secboot = gp102_secboot_new,
	.pci = gp100_pci_new,
	.pmu = gp102_pmu_new,
	.timer = gk20a_timer_new,
@@ -2313,6 +2314,10 @@ nv137_chipset = {
	.disp = gp102_disp_new,
	.dma = gf119_dma_new,
	.fifo = gp100_fifo_new,
	.gr = gp107_gr_new,
	.nvdec = gp102_nvdec_new,
	.sec2 = gp102_sec2_new,
	.sw = gf100_sw_new,
};

static const struct nvkm_device_chip
+2 −0
Original line number Diff line number Diff line
@@ -33,6 +33,7 @@ nvkm-y += nvkm/engine/gr/gm200.o
nvkm-y += nvkm/engine/gr/gm20b.o
nvkm-y += nvkm/engine/gr/gp100.o
nvkm-y += nvkm/engine/gr/gp102.o
nvkm-y += nvkm/engine/gr/gp107.o
nvkm-y += nvkm/engine/gr/gp10b.o

nvkm-y += nvkm/engine/gr/ctxnv40.o
@@ -53,3 +54,4 @@ nvkm-y += nvkm/engine/gr/ctxgm200.o
nvkm-y += nvkm/engine/gr/ctxgm20b.o
nvkm-y += nvkm/engine/gr/ctxgp100.o
nvkm-y += nvkm/engine/gr/ctxgp102.o
nvkm-y += nvkm/engine/gr/ctxgp107.o
+3 −0
Original line number Diff line number Diff line
@@ -106,6 +106,9 @@ void gp100_grctx_generate_main(struct gf100_gr *, struct gf100_grctx *);
void gp100_grctx_generate_pagepool(struct gf100_grctx *);

extern const struct gf100_grctx_func gp102_grctx;
void gp102_grctx_generate_attrib(struct gf100_grctx *);

extern const struct gf100_grctx_func gp107_grctx;

/* context init value lists */

+1 −1
Original line number Diff line number Diff line
@@ -29,7 +29,7 @@
 * PGRAPH context implementation
 ******************************************************************************/

static void
void
gp102_grctx_generate_attrib(struct gf100_grctx *info)
{
	struct gf100_gr *gr = info->gr;
Loading