Messages in this thread | | | Subject | Re: [RFC 2/2] drivers: dma-mapping: parse per device reserved mem at probe time | From | Marek Szyprowski <> | Date | Mon, 27 Nov 2017 09:31:00 +0100 |
| |
Hi
On 2017-11-26 14:13, Peng Fan wrote: > Invoke of_reserved_mem_device_init at dma_configure, then > there is no need to call of_reserved_mem_device_init in device > specific probe function. > > Signed-off-by: Peng Fan <peng.fan@nxp.com>
This has been already tried long time ago, without success: http://patches.linaro.org/patch/33558/
> --- > drivers/base/dma-mapping.c | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-) > > diff --git a/drivers/base/dma-mapping.c b/drivers/base/dma-mapping.c > index e584eddef0a7..55dca06a7b55 100644 > --- a/drivers/base/dma-mapping.c > +++ b/drivers/base/dma-mapping.c > @@ -12,6 +12,7 @@ > #include <linux/export.h> > #include <linux/gfp.h> > #include <linux/of_device.h> > +#include <linux/of_reserved_mem.h> > #include <linux/slab.h> > #include <linux/vmalloc.h> > > @@ -351,7 +352,9 @@ int dma_configure(struct device *dev) > } > > if (dma_dev->of_node) { > - ret = of_dma_configure(dev, dma_dev->of_node); > + ret = of_reserved_mem_device_init(dev); > + if (ret) > + ret = of_dma_configure(dev, dma_dev->of_node); > } else if (has_acpi_companion(dma_dev)) { > attr = acpi_get_dma_attr(to_acpi_device_node(dma_dev->fwnode)); > if (attr != DEV_DMA_NOT_SUPPORTED) > @@ -367,5 +370,6 @@ int dma_configure(struct device *dev) > void dma_deconfigure(struct device *dev) > { > of_dma_deconfigure(dev); > + of_reserved_mem_device_release(dev); > acpi_dma_deconfigure(dev); > }
Best regards -- Marek Szyprowski, PhD Samsung R&D Institute Poland
| |