drm/nouveau/gr/gp10b: Use gp100_grctx and gp100_gr_zbc

gp10b doesn't have all the registers that gp102_gr_zbc wants to access,
which causes IBUS MMIO faults to occur. Avoid this by using the gp100
variants of grctx and gr_zbc.

Signed-off-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
This commit is contained in:
Thierry Reding 2020-01-15 15:07:56 +01:00 committed by Ben Skeggs
parent 89b34254bb
commit 90e2e96ea3
3 changed files with 4 additions and 3 deletions

View File

@ -238,6 +238,7 @@ void gp100_gr_init_fecs_exceptions(struct gf100_gr *);
void gp100_gr_init_shader_exceptions(struct gf100_gr *, int, int); void gp100_gr_init_shader_exceptions(struct gf100_gr *, int, int);
void gp100_gr_zbc_clear_color(struct gf100_gr *, int); void gp100_gr_zbc_clear_color(struct gf100_gr *, int);
void gp100_gr_zbc_clear_depth(struct gf100_gr *, int); void gp100_gr_zbc_clear_depth(struct gf100_gr *, int);
extern const struct gf100_gr_func_zbc gp100_gr_zbc;
void gp102_gr_init_swdx_pes_mask(struct gf100_gr *); void gp102_gr_init_swdx_pes_mask(struct gf100_gr *);
extern const struct gf100_gr_func_zbc gp102_gr_zbc; extern const struct gf100_gr_func_zbc gp102_gr_zbc;

View File

@ -62,7 +62,7 @@ gp100_gr_zbc_clear_depth(struct gf100_gr *gr, int zbc)
gr->zbc_depth[zbc].format << ((znum % 4) * 7)); gr->zbc_depth[zbc].format << ((znum % 4) * 7));
} }
static const struct gf100_gr_func_zbc const struct gf100_gr_func_zbc
gp100_gr_zbc = { gp100_gr_zbc = {
.clear_color = gp100_gr_zbc_clear_color, .clear_color = gp100_gr_zbc_clear_color,
.clear_depth = gp100_gr_zbc_clear_depth, .clear_depth = gp100_gr_zbc_clear_depth,

View File

@ -60,8 +60,8 @@ gp10b_gr = {
.gpc_nr = 1, .gpc_nr = 1,
.tpc_nr = 2, .tpc_nr = 2,
.ppc_nr = 1, .ppc_nr = 1,
.grctx = &gp102_grctx, .grctx = &gp100_grctx,
.zbc = &gp102_gr_zbc, .zbc = &gp100_gr_zbc,
.sclass = { .sclass = {
{ -1, -1, FERMI_TWOD_A }, { -1, -1, FERMI_TWOD_A },
{ -1, -1, KEPLER_INLINE_TO_MEMORY_B }, { -1, -1, KEPLER_INLINE_TO_MEMORY_B },