]> Pileus Git - ~andy/linux/commitdiff
Merge branch 'drm-nouveau-fixes' of git://git.freedesktop.org/git/nouveau/linux-2...
authorDave Airlie <airlied@redhat.com>
Mon, 2 Apr 2012 09:45:03 +0000 (10:45 +0100)
committerDave Airlie <airlied@redhat.com>
Mon, 2 Apr 2012 09:45:03 +0000 (10:45 +0100)
* 'drm-nouveau-fixes' of git://git.freedesktop.org/git/nouveau/linux-2.6:
  drm/nouveau: inform userspace of relaxed kernel subchannel requirements
  Revert "drm/nouveau: inform userspace of new kernel subchannel requirements"
  drm/nouveau: oops, create m2mf for nvd9 too

drivers/gpu/drm/nouveau/nouveau_channel.c
drivers/gpu/drm/nouveau/nouveau_dma.h
drivers/gpu/drm/nouveau/nouveau_state.c

index 44e6416d4a336054409a24e05bfe20c66c4c7d1a..846afb0bfef4b5dff1ce87f06f6bd985a8fc1650 100644 (file)
@@ -436,11 +436,11 @@ nouveau_ioctl_fifo_alloc(struct drm_device *dev, void *data,
        }
 
        if (dev_priv->card_type < NV_C0) {
-               init->subchan[0].handle = NvSw;
-               init->subchan[0].grclass = NV_SW;
-               init->nr_subchan = 1;
-       } else {
-               init->nr_subchan = 0;
+               init->subchan[0].handle = 0x00000000;
+               init->subchan[0].grclass = 0x0000;
+               init->subchan[1].handle = NvSw;
+               init->subchan[1].grclass = NV_SW;
+               init->nr_subchan = 2;
        }
 
        /* Named memory object area */
index bcf0fd9e313eb6fdc2db1e158cdecfb77cf1310d..23d4edf992b7d20440eb53ce8273231ccfe487e1 100644 (file)
@@ -48,8 +48,8 @@ void nv50_dma_push(struct nouveau_channel *, struct nouveau_bo *,
 
 /* Hardcoded object assignments to subchannels (subchannel id). */
 enum {
-       NvSubSw         = 0,
-       NvSubM2MF       = 1,
+       NvSubM2MF       = 0,
+       NvSubSw         = 1,
        NvSub2D         = 2,
        NvSubCtxSurf2D  = 2,
        NvSubGdiRect    = 3,
index a4886b36d0faf771d6abc7d8aaa0983aca465850..c2a8511e855a344d515afe9a3daba8c74736f2b5 100644 (file)
@@ -642,7 +642,7 @@ nouveau_card_channel_init(struct drm_device *dev)
                OUT_RING  (chan, chan->vram_handle);
                OUT_RING  (chan, chan->gart_handle);
        } else
-       if (dev_priv->card_type <= NV_C0) {
+       if (dev_priv->card_type <= NV_D0) {
                ret = nouveau_gpuobj_gr_new(chan, 0x9039, 0x9039);
                if (ret)
                        goto error;