diff options
| -rw-r--r-- | drivers/gpu/drm/nouveau/nv50_grctx.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/drivers/gpu/drm/nouveau/nv50_grctx.c b/drivers/gpu/drm/nouveau/nv50_grctx.c index 3c3cc4606a03..42a8fb20c1e6 100644 --- a/drivers/gpu/drm/nouveau/nv50_grctx.c +++ b/drivers/gpu/drm/nouveau/nv50_grctx.c | |||
| @@ -177,6 +177,7 @@ nv50_grctx_init(struct nouveau_grctx *ctx) | |||
| 177 | case 0x96: | 177 | case 0x96: |
| 178 | case 0x98: | 178 | case 0x98: |
| 179 | case 0xa0: | 179 | case 0xa0: |
| 180 | case 0xa3: | ||
| 180 | case 0xa5: | 181 | case 0xa5: |
| 181 | case 0xa8: | 182 | case 0xa8: |
| 182 | case 0xaa: | 183 | case 0xaa: |
| @@ -364,6 +365,7 @@ nv50_graph_construct_mmio(struct nouveau_grctx *ctx) | |||
| 364 | case 0xac: | 365 | case 0xac: |
| 365 | gr_def(ctx, 0x401c00, 0x042500df); | 366 | gr_def(ctx, 0x401c00, 0x042500df); |
| 366 | break; | 367 | break; |
| 368 | case 0xa3: | ||
| 367 | case 0xa5: | 369 | case 0xa5: |
| 368 | case 0xa8: | 370 | case 0xa8: |
| 369 | gr_def(ctx, 0x401c00, 0x142500df); | 371 | gr_def(ctx, 0x401c00, 0x142500df); |
| @@ -418,6 +420,7 @@ nv50_graph_construct_mmio(struct nouveau_grctx *ctx) | |||
| 418 | break; | 420 | break; |
| 419 | case 0x84: | 421 | case 0x84: |
| 420 | case 0xa0: | 422 | case 0xa0: |
| 423 | case 0xa3: | ||
| 421 | case 0xa5: | 424 | case 0xa5: |
| 422 | case 0xa8: | 425 | case 0xa8: |
| 423 | case 0xaa: | 426 | case 0xaa: |
| @@ -792,6 +795,7 @@ nv50_graph_construct_mmio(struct nouveau_grctx *ctx) | |||
| 792 | case 0xa5: | 795 | case 0xa5: |
| 793 | gr_def(ctx, offset + 0x1c, 0x310c0000); | 796 | gr_def(ctx, offset + 0x1c, 0x310c0000); |
| 794 | break; | 797 | break; |
| 798 | case 0xa3: | ||
| 795 | case 0xa8: | 799 | case 0xa8: |
| 796 | case 0xaa: | 800 | case 0xaa: |
| 797 | case 0xac: | 801 | case 0xac: |
| @@ -859,6 +863,8 @@ nv50_graph_construct_mmio(struct nouveau_grctx *ctx) | |||
| 859 | else | 863 | else |
| 860 | gr_def(ctx, offset + 0x8, 0x05010202); | 864 | gr_def(ctx, offset + 0x8, 0x05010202); |
| 861 | gr_def(ctx, offset + 0xc, 0x00030201); | 865 | gr_def(ctx, offset + 0xc, 0x00030201); |
| 866 | if (dev_priv->chipset == 0xa3) | ||
| 867 | cp_ctx(ctx, base + 0x36c, 1); | ||
| 862 | 868 | ||
| 863 | cp_ctx(ctx, base + 0x400, 2); | 869 | cp_ctx(ctx, base + 0x400, 2); |
| 864 | gr_def(ctx, base + 0x404, 0x00000040); | 870 | gr_def(ctx, base + 0x404, 0x00000040); |
| @@ -1159,7 +1165,9 @@ nv50_graph_construct_xfer1(struct nouveau_grctx *ctx) | |||
| 1159 | nv50_graph_construct_gene_unk8(ctx); | 1165 | nv50_graph_construct_gene_unk8(ctx); |
| 1160 | if (dev_priv->chipset == 0xa0) | 1166 | if (dev_priv->chipset == 0xa0) |
| 1161 | xf_emit(ctx, 0x189, 0); | 1167 | xf_emit(ctx, 0x189, 0); |
| 1162 | else if (dev_priv->chipset < 0xa8) | 1168 | else if (dev_priv->chipset == 0xa3) |
| 1169 | xf_emit(ctx, 0xd5, 0); | ||
| 1170 | else if (dev_priv->chipset == 0xa5) | ||
| 1163 | xf_emit(ctx, 0x99, 0); | 1171 | xf_emit(ctx, 0x99, 0); |
| 1164 | else if (dev_priv->chipset == 0xaa) | 1172 | else if (dev_priv->chipset == 0xaa) |
| 1165 | xf_emit(ctx, 0x65, 0); | 1173 | xf_emit(ctx, 0x65, 0); |
| @@ -1197,6 +1205,8 @@ nv50_graph_construct_xfer1(struct nouveau_grctx *ctx) | |||
| 1197 | ctx->ctxvals_pos = offset + 4; | 1205 | ctx->ctxvals_pos = offset + 4; |
| 1198 | if (dev_priv->chipset == 0xa0) | 1206 | if (dev_priv->chipset == 0xa0) |
| 1199 | xf_emit(ctx, 0xa80, 0); | 1207 | xf_emit(ctx, 0xa80, 0); |
| 1208 | else if (dev_priv->chipset == 0xa3) | ||
| 1209 | xf_emit(ctx, 0xa7c, 0); | ||
| 1200 | else | 1210 | else |
| 1201 | xf_emit(ctx, 0xa7a, 0); | 1211 | xf_emit(ctx, 0xa7a, 0); |
| 1202 | xf_emit(ctx, 1, 0x3fffff); | 1212 | xf_emit(ctx, 1, 0x3fffff); |
| @@ -1341,6 +1351,7 @@ nv50_graph_construct_gene_unk1(struct nouveau_grctx *ctx) | |||
| 1341 | xf_emit(ctx, 0x942, 0); | 1351 | xf_emit(ctx, 0x942, 0); |
| 1342 | break; | 1352 | break; |
| 1343 | case 0xa0: | 1353 | case 0xa0: |
| 1354 | case 0xa3: | ||
| 1344 | xf_emit(ctx, 0x2042, 0); | 1355 | xf_emit(ctx, 0x2042, 0); |
| 1345 | break; | 1356 | break; |
| 1346 | case 0xa5: | 1357 | case 0xa5: |
