diff options
author | Robin Murphy | 2018-07-27 16:14:15 +0200 |
---|---|---|
committer | Christoph Hellwig | 2018-07-27 19:01:03 +0200 |
commit | a5516219b10218a87abb3352c82248ce3088e94a (patch) | |
tree | 0fcd29611fd351bc1974cf61cd270a78b5cc0c0f /drivers | |
parent | nios2: use generic dma_noncoherent_ops (diff) | |
download | kernel-qcow2-linux-a5516219b10218a87abb3352c82248ce3088e94a.tar.gz kernel-qcow2-linux-a5516219b10218a87abb3352c82248ce3088e94a.tar.xz kernel-qcow2-linux-a5516219b10218a87abb3352c82248ce3088e94a.zip |
of/platform: Initialise default DMA masks
When of_dma_configure() was first born in 591c1ee465ce ("of: configure
the platform device dma parameters"), everything DMA-related was
factored out of of_platform_device_create_pdata() as seemed appropriate
at the time. However, now that of_dma_configure() has grown into the
generic handler for processing DMA-related properties from DT for all
kinds of devices, it is no longer an appropriate place to be doing
OF-platform-specific business. Since there are still plenty of platform
drivers not setting their own masks and depending on the bus default,
let's reinstate that inialisation in the OF-platform code itself, and
restore the long-standing status quo from 0589342c2794 ("of: set
dma_mask to point to coherent_dma_mask")
Signed-off-by: Robin Murphy <robin.murphy@arm.com>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/of/platform.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/of/platform.c b/drivers/of/platform.c index 6925d993e1f0..7ba90c290a42 100644 --- a/drivers/of/platform.c +++ b/drivers/of/platform.c @@ -185,6 +185,9 @@ static struct platform_device *of_platform_device_create_pdata( if (!dev) goto err_clear_flag; + dev->dev.coherent_dma_mask = DMA_BIT_MASK(32); + if (!dev->dev.dma_mask) + dev->dev.dma_mask = &dev->dev.coherent_dma_mask; dev->dev.bus = &platform_bus_type; dev->dev.platform_data = platform_data; of_msi_configure(&dev->dev, dev->dev.of_node); |