powerpc/macio: Add dma_parms support to macio
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>
Tue, 1 Dec 2009 14:36:27 +0000 (14:36 +0000)
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>
Tue, 8 Dec 2009 05:02:52 +0000 (16:02 +1100)
This adds dma_parms to macio devices and initializes them with
default values. This will allow pata_macio to setup the appropriate
max segment size for the block layer.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
arch/powerpc/include/asm/macio.h
drivers/macintosh/macio_asic.c

index 2b7b39294a6a90700b6d443ccdf66c6f92c9466c..86d5fed1c49f76808013ac7c1c334aee6b526641 100644 (file)
@@ -39,6 +39,7 @@ struct macio_dev
        struct macio_bus        *bus;           /* macio bus this device is on */
        struct macio_dev        *media_bay;     /* Device is part of a media bay */
        struct of_device        ofdev;
+       struct device_dma_parameters dma_parms; /* ide needs that */
        int                     n_resources;
        struct resource         resource[MACIO_DEV_COUNT_RESOURCES];
        int                     n_interrupts;
index 5200acfc9d38dbcd9b211edacd707cf1900a2280..26a303a1d1abd4bc885de4be79d46798f98a0afc 100644 (file)
@@ -379,6 +379,11 @@ static struct macio_dev * macio_add_one_device(struct macio_chip *chip,
        dev->ofdev.dev.parent = parent;
        dev->ofdev.dev.bus = &macio_bus_type;
        dev->ofdev.dev.release = macio_release_dev;
+       dev->ofdev.dev.dma_parms = &dev->dma_parms;
+
+       /* Standard DMA paremeters */
+       dma_set_max_seg_size(&dev->ofdev.dev, 65536);
+       dma_set_seg_boundary(&dev->ofdev.dev, 0xffffffff);
 
 #ifdef CONFIG_PCI
        /* Set the DMA ops to the ones from the PCI device, this could be