static bool
 nv31_mpeg_mthd_dma(struct nvkm_device *device, u32 mthd, u32 data)
 {
+       struct nv31_mpeg *mpeg = nv31_mpeg(device->mpeg);
+       struct nvkm_subdev *subdev = &mpeg->engine.subdev;
        u32 inst = data << 4;
        u32 dma0 = nvkm_rd32(device, 0x700000 + inst);
        u32 dma1 = nvkm_rd32(device, 0x700004 + inst);
        u32 size = dma1 + 1;
 
        /* only allow linear DMA objects */
-       if (!(dma0 & 0x00002000))
+       if (!(dma0 & 0x00002000)) {
+               nvkm_error(subdev, "inst %08x dma0 %08x dma1 %08x dma2 %08x\n",
+                          inst, dma0, dma1, dma2);
                return false;
+       }
 
        if (mthd == 0x0190) {
                /* DMA_CMD */
 
 nv40_mpeg_mthd_dma(struct nvkm_device *device, u32 mthd, u32 data)
 {
        struct nvkm_instmem *imem = device->imem;
+       struct nv31_mpeg *mpeg = nv31_mpeg(device->mpeg);
+       struct nvkm_subdev *subdev = &mpeg->engine.subdev;
        u32 inst = data << 4;
        u32 dma0 = nvkm_instmem_rd32(imem, inst + 0);
        u32 dma1 = nvkm_instmem_rd32(imem, inst + 4);
        u32 size = dma1 + 1;
 
        /* only allow linear DMA objects */
-       if (!(dma0 & 0x00002000))
+       if (!(dma0 & 0x00002000)) {
+               nvkm_error(subdev, "inst %08x dma0 %08x dma1 %08x dma2 %08x\n",
+                          inst, dma0, dma1, dma2);
                return false;
+       }
 
        if (mthd == 0x0190) {
                /* DMA_CMD */