ioat3: enable dca for completion writes
[linux-2.6.git] / drivers / dma / ioat / dma_v3.c
index b223d66..0913d11 100644 (file)
@@ -167,7 +167,8 @@ static void ioat3_cleanup_tasklet(unsigned long data)
        struct ioat2_dma_chan *ioat = (void *) data;
 
        ioat3_cleanup(ioat);
-       writew(IOAT_CHANCTRL_RUN, ioat->base.reg_base + IOAT_CHANCTRL_OFFSET);
+       writew(IOAT_CHANCTRL_RUN | IOAT3_CHANCTRL_COMPL_DCA_EN,
+              ioat->base.reg_base + IOAT_CHANCTRL_OFFSET);
 }
 
 static void ioat3_restart_channel(struct ioat2_dma_chan *ioat)
@@ -360,6 +361,9 @@ int __devinit ioat3_dma_probe(struct ioatdma_device *device, int dca)
        err = ioat_register(device);
        if (err)
                return err;
+
+       ioat_kobject_add(device, &ioat2_ktype);
+
        if (dca)
                device->dca = ioat3_dca_init(pdev, device->reg_base);