Hi Pankaj,
On 2016-12-21 06:44, Pankaj Dubey wrote:
From: Smitha T Murthy <[email protected]> For some IPs, there may be virtual child devices created and for them its necessary to set the dma_ops if it's using reserved memory else it will call the dummy dma_ops during buffer operations for the child devices which will lead to memory mapping failure. Signed-off-by: Smitha T Murthy <[email protected]> Signed-off-by: Pankaj Dubey <[email protected]>
Acked-by: Marek Szyprowski <[email protected]>
--- drivers/of/of_reserved_mem.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/of/of_reserved_mem.c b/drivers/of/of_reserved_mem.c index 366d8c3..d507c35 100644 --- a/drivers/of/of_reserved_mem.c +++ b/drivers/of/of_reserved_mem.c @@ -354,6 +354,10 @@ int of_reserved_mem_device_init_by_idx(struct device *dev, mutex_lock(&of_rmem_assigned_device_mutex); list_add(&rd->list, &of_rmem_assigned_device_list); mutex_unlock(&of_rmem_assigned_device_mutex); + /* ensure that dma_ops is set for virtual devices + * using reserved memory + */ + of_dma_configure(dev, np);dev_info(dev, "assigned reserved memory node %s\n", rmem->name);} else {
Best regards -- Marek Szyprowski, PhD Samsung R&D Institute Poland

