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

Commit 6f1e9b99 authored by Ben Skeggs's avatar Ben Skeggs
Browse files

drm/gm107/gr: initial support



Our ucode only partially works at this point, so requiring binary fw
image for now.

Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
parent 295cb52b
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -257,6 +257,7 @@ nouveau-y += core/engine/graph/ctxnvd9.o
nouveau-y += core/engine/graph/ctxnve4.o
nouveau-y += core/engine/graph/ctxnvf0.o
nouveau-y += core/engine/graph/ctxnv108.o
nouveau-y += core/engine/graph/ctxgm107.o
nouveau-y += core/engine/graph/nv04.o
nouveau-y += core/engine/graph/nv10.o
nouveau-y += core/engine/graph/nv20.o
@@ -276,6 +277,7 @@ nouveau-y += core/engine/graph/nvd9.o
nouveau-y += core/engine/graph/nve4.o
nouveau-y += core/engine/graph/nvf0.o
nouveau-y += core/engine/graph/nv108.o
nouveau-y += core/engine/graph/gm107.o
nouveau-y += core/engine/mpeg/nv31.o
nouveau-y += core/engine/mpeg/nv40.o
nouveau-y += core/engine/mpeg/nv44.o
+1 −3
Original line number Diff line number Diff line
@@ -84,9 +84,7 @@ gm100_identify(struct nouveau_device *device)
		device->oclass[NVDEV_ENGINE_DMAOBJ ] = &nvd0_dmaeng_oclass;
		device->oclass[NVDEV_ENGINE_FIFO   ] =  nv108_fifo_oclass;
		device->oclass[NVDEV_ENGINE_SW     ] =  nvc0_software_oclass;
#if 0
		device->oclass[NVDEV_ENGINE_GR     ] =  nv108_graph_oclass;
#endif
		device->oclass[NVDEV_ENGINE_GR     ] =  gm107_graph_oclass;
		device->oclass[NVDEV_ENGINE_DISP   ] =  gm107_disp_oclass;
		device->oclass[NVDEV_ENGINE_COPY0  ] = &nve0_copy0_oclass;
#if 0
+989 −0

File added.

Preview size limit exceeded, changes collapsed.

+3 −3
Original line number Diff line number Diff line
@@ -340,7 +340,7 @@ nv108_grctx_init_pd_0[] = {
	{}
};

static const struct nvc0_graph_init
const struct nvc0_graph_init
nv108_grctx_init_rstr2d_0[] = {
	{ 0x407804,   1, 0x04, 0x00000063 },
	{ 0x40780c,   1, 0x04, 0x0a418820 },
@@ -381,7 +381,7 @@ nv108_grctx_pack_hub[] = {
	{}
};

static const struct nvc0_graph_init
const struct nvc0_graph_init
nv108_grctx_init_prop_0[] = {
	{ 0x418400,   1, 0x04, 0x38005e00 },
	{ 0x418404,   1, 0x04, 0x71e0ffff },
@@ -419,7 +419,7 @@ nv108_grctx_init_setup_0[] = {
	{}
};

static const struct nvc0_graph_init
const struct nvc0_graph_init
nv108_grctx_init_crstr_0[] = {
	{ 0x418b00,   1, 0x04, 0x0000001e },
	{ 0x418b08,   1, 0x04, 0x0a418820 },
+6 −0
Original line number Diff line number Diff line
@@ -75,6 +75,7 @@ void nve4_grctx_generate_r418bb8(struct nvc0_graph_priv *);

extern struct nouveau_oclass *nvf0_grctx_oclass;
extern struct nouveau_oclass *nv108_grctx_oclass;
extern struct nouveau_oclass *gm107_grctx_oclass;

/* context init value lists */

@@ -160,5 +161,10 @@ extern const struct nvc0_graph_init nvf0_grctx_init_gpc_unk_2[];
extern const struct nvc0_graph_init nvf0_grctx_init_mpc_0[];
extern const struct nvc0_graph_init nvf0_grctx_init_l1c_0[];

extern const struct nvc0_graph_init nv108_grctx_init_rstr2d_0[];

extern const struct nvc0_graph_init nv108_grctx_init_prop_0[];
extern const struct nvc0_graph_init nv108_grctx_init_crstr_0[];


#endif
Loading