aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu')
-rw-r--r--drivers/gpu/drm/nouveau/nouveau_channel.c15
-rw-r--r--drivers/gpu/drm/nouveau/nouveau_dma.h4
2 files changed, 13 insertions, 6 deletions
diff --git a/drivers/gpu/drm/nouveau/nouveau_channel.c b/drivers/gpu/drm/nouveau/nouveau_channel.c
index 44e6416d4a33..337e228629ed 100644
--- a/drivers/gpu/drm/nouveau/nouveau_channel.c
+++ b/drivers/gpu/drm/nouveau/nouveau_channel.c
@@ -436,11 +436,18 @@ nouveau_ioctl_fifo_alloc(struct drm_device *dev, void *data,
436 } 436 }
437 437
438 if (dev_priv->card_type < NV_C0) { 438 if (dev_priv->card_type < NV_C0) {
439 init->subchan[0].handle = NvSw; 439 init->subchan[0].handle = NvM2MF;
440 init->subchan[0].grclass = NV_SW; 440 if (dev_priv->card_type < NV_50)
441 init->nr_subchan = 1; 441 init->subchan[0].grclass = 0x0039;
442 else
443 init->subchan[0].grclass = 0x5039;
444 init->subchan[1].handle = NvSw;
445 init->subchan[1].grclass = NV_SW;
446 init->nr_subchan = 2;
442 } else { 447 } else {
443 init->nr_subchan = 0; 448 init->subchan[0].handle = 0x9039;
449 init->subchan[0].grclass = 0x9039;
450 init->nr_subchan = 1;
444 } 451 }
445 452
446 /* Named memory object area */ 453 /* Named memory object area */
diff --git a/drivers/gpu/drm/nouveau/nouveau_dma.h b/drivers/gpu/drm/nouveau/nouveau_dma.h
index bcf0fd9e313e..23d4edf992b7 100644
--- a/drivers/gpu/drm/nouveau/nouveau_dma.h
+++ b/drivers/gpu/drm/nouveau/nouveau_dma.h
@@ -48,8 +48,8 @@ void nv50_dma_push(struct nouveau_channel *, struct nouveau_bo *,
48 48
49/* Hardcoded object assignments to subchannels (subchannel id). */ 49/* Hardcoded object assignments to subchannels (subchannel id). */
50enum { 50enum {
51 NvSubSw = 0, 51 NvSubM2MF = 0,
52 NvSubM2MF = 1, 52 NvSubSw = 1,
53 NvSub2D = 2, 53 NvSub2D = 2,
54 NvSubCtxSurf2D = 2, 54 NvSubCtxSurf2D = 2,
55 NvSubGdiRect = 3, 55 NvSubGdiRect = 3,