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

Commit 191e3232 authored by Ben Skeggs's avatar Ben Skeggs
Browse files

drm/nouveau/gr/gf100-gm10x: update register lists



There are differences on GM200 and newer too, but we can't fix them there
as they come from firmware packages.

A request has been made to NVIDIA to release updated firmware.

Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
parent 6f023332
Loading
Loading
Loading
Loading
+10 −3
Original line number Diff line number Diff line
@@ -850,12 +850,17 @@ gf100_grctx_init_gcc_0[] = {
};

const struct gf100_gr_pack
gf100_grctx_pack_gpc[] = {
gf100_grctx_pack_gpc_0[] = {
	{ gf100_grctx_init_gpc_unk_0 },
	{ gf100_grctx_init_prop_0 },
	{ gf100_grctx_init_gpc_unk_1 },
	{ gf100_grctx_init_setup_0 },
	{ gf100_grctx_init_zcull_0 },
	{}
};

const struct gf100_gr_pack
gf100_grctx_pack_gpc_1[] = {
	{ gf100_grctx_init_crstr_0 },
	{ gf100_grctx_init_gpm_0 },
	{ gf100_grctx_init_gcc_0 },
@@ -1371,8 +1376,9 @@ gf100_grctx_generate_main(struct gf100_gr *gr, struct gf100_grctx *info)

	if (!gr->fuc_sw_ctx) {
		gf100_gr_mmio(gr, grctx->hub);
		gf100_gr_mmio(gr, grctx->gpc);
		gf100_gr_mmio(gr, grctx->gpc_0);
		gf100_gr_mmio(gr, grctx->zcull);
		gf100_gr_mmio(gr, grctx->gpc_1);
		gf100_gr_mmio(gr, grctx->tpc);
		gf100_gr_mmio(gr, grctx->ppc);
	} else {
@@ -1567,7 +1573,8 @@ gf100_grctx = {
	.main  = gf100_grctx_generate_main,
	.unkn  = gf100_grctx_generate_unkn,
	.hub   = gf100_grctx_pack_hub,
	.gpc   = gf100_grctx_pack_gpc,
	.gpc_0 = gf100_grctx_pack_gpc_0,
	.gpc_1 = gf100_grctx_pack_gpc_1,
	.zcull = gf100_grctx_pack_zcull,
	.tpc   = gf100_grctx_pack_tpc,
	.icmd  = gf100_grctx_pack_icmd,
+8 −4
Original line number Diff line number Diff line
@@ -27,7 +27,8 @@ struct gf100_grctx_func {
	void  (*unkn)(struct gf100_gr *);
	/* mmio context data */
	const struct gf100_gr_pack *hub;
	const struct gf100_gr_pack *gpc;
	const struct gf100_gr_pack *gpc_0;
	const struct gf100_gr_pack *gpc_1;
	const struct gf100_gr_pack *zcull;
	const struct gf100_gr_pack *tpc;
	const struct gf100_gr_pack *ppc;
@@ -163,7 +164,8 @@ extern const struct gf100_gr_init gf100_grctx_init_memfmt_0[];
extern const struct gf100_gr_init gf100_grctx_init_rstr2d_0[];
extern const struct gf100_gr_init gf100_grctx_init_scc_0[];

extern const struct gf100_gr_pack gf100_grctx_pack_gpc[];
extern const struct gf100_gr_pack gf100_grctx_pack_gpc_0[];
extern const struct gf100_gr_pack gf100_grctx_pack_gpc_1[];
extern const struct gf100_gr_init gf100_grctx_init_gpc_unk_0[];
extern const struct gf100_gr_init gf100_grctx_init_prop_0[];
extern const struct gf100_gr_init gf100_grctx_init_gpc_unk_1[];
@@ -212,6 +214,8 @@ extern const struct gf100_gr_init gf117_grctx_init_pe_0[];

extern const struct gf100_gr_init gf117_grctx_init_wwdx_0[];

extern const struct gf100_gr_pack gf117_grctx_pack_gpc_1[];

extern const struct gf100_gr_init gk104_grctx_init_memfmt_0[];
extern const struct gf100_gr_init gk104_grctx_init_ds_0[];
extern const struct gf100_gr_init gk104_grctx_init_scc_0[];
@@ -221,7 +225,6 @@ extern const struct gf100_gr_init gk104_grctx_init_gpm_0[];
extern const struct gf100_gr_init gk104_grctx_init_pes_0[];

extern const struct gf100_gr_pack gk104_grctx_pack_hub[];
extern const struct gf100_gr_pack gk104_grctx_pack_gpc[];
extern const struct gf100_gr_pack gk104_grctx_pack_tpc[];
extern const struct gf100_gr_pack gk104_grctx_pack_ppc[];
extern const struct gf100_gr_pack gk104_grctx_pack_icmd[];
@@ -235,7 +238,8 @@ extern const struct gf100_gr_pack gk110_grctx_pack_hub[];
extern const struct gf100_gr_init gk110_grctx_init_pri_0[];
extern const struct gf100_gr_init gk110_grctx_init_cwd_0[];

extern const struct gf100_gr_pack gk110_grctx_pack_gpc[];
extern const struct gf100_gr_pack gk110_grctx_pack_gpc_0[];
extern const struct gf100_gr_pack gk110_grctx_pack_gpc_1[];
extern const struct gf100_gr_init gk110_grctx_init_gpc_unk_2[];

extern const struct gf100_gr_init gk110_grctx_init_tex_0[];
+2 −1
Original line number Diff line number Diff line
@@ -84,7 +84,8 @@ gf104_grctx = {
	.main  = gf100_grctx_generate_main,
	.unkn  = gf100_grctx_generate_unkn,
	.hub   = gf100_grctx_pack_hub,
	.gpc   = gf100_grctx_pack_gpc,
	.gpc_0 = gf100_grctx_pack_gpc_0,
	.gpc_1 = gf100_grctx_pack_gpc_1,
	.zcull = gf100_grctx_pack_zcull,
	.tpc   = gf104_grctx_pack_tpc,
	.icmd  = gf100_grctx_pack_icmd,
+8 −2
Original line number Diff line number Diff line
@@ -667,12 +667,17 @@ gf108_grctx_init_gpm_0[] = {
};

static const struct gf100_gr_pack
gf108_grctx_pack_gpc[] = {
gf108_grctx_pack_gpc_0[] = {
	{ gf100_grctx_init_gpc_unk_0 },
	{ gf100_grctx_init_prop_0 },
	{ gf100_grctx_init_gpc_unk_1 },
	{ gf108_grctx_init_setup_0 },
	{ gf100_grctx_init_zcull_0 },
	{}
};

static const struct gf100_gr_pack
gf108_grctx_pack_gpc_1[] = {
	{ gf100_grctx_init_crstr_0 },
	{ gf108_grctx_init_gpm_0 },
	{ gf100_grctx_init_gcc_0 },
@@ -780,7 +785,8 @@ gf108_grctx = {
	.main  = gf100_grctx_generate_main,
	.unkn  = gf108_grctx_generate_unkn,
	.hub   = gf108_grctx_pack_hub,
	.gpc   = gf108_grctx_pack_gpc,
	.gpc_0 = gf108_grctx_pack_gpc_0,
	.gpc_1 = gf108_grctx_pack_gpc_1,
	.zcull = gf100_grctx_pack_zcull,
	.tpc   = gf108_grctx_pack_tpc,
	.icmd  = gf108_grctx_pack_icmd,
+3 −5
Original line number Diff line number Diff line
@@ -314,15 +314,12 @@ gf110_grctx_init_setup_0[] = {
};

static const struct gf100_gr_pack
gf110_grctx_pack_gpc[] = {
gf110_grctx_pack_gpc_0[] = {
	{ gf100_grctx_init_gpc_unk_0 },
	{ gf100_grctx_init_prop_0 },
	{ gf100_grctx_init_gpc_unk_1 },
	{ gf110_grctx_init_setup_0 },
	{ gf100_grctx_init_zcull_0 },
	{ gf100_grctx_init_crstr_0 },
	{ gf100_grctx_init_gpm_0 },
	{ gf100_grctx_init_gcc_0 },
	{}
};

@@ -335,7 +332,8 @@ gf110_grctx = {
	.main  = gf100_grctx_generate_main,
	.unkn  = gf100_grctx_generate_unkn,
	.hub   = gf100_grctx_pack_hub,
	.gpc   = gf110_grctx_pack_gpc,
	.gpc_0 = gf110_grctx_pack_gpc_0,
	.gpc_1 = gf100_grctx_pack_gpc_1,
	.zcull = gf100_grctx_pack_zcull,
	.tpc   = gf100_grctx_pack_tpc,
	.icmd  = gf110_grctx_pack_icmd,
Loading