> -----Original Message----- > From: Christoph Hellwig [mailto:hch@xxxxxx] > Sent: Thursday, March 22, 2018 13:49 > To: Nipun Gupta <nipun.gupta@xxxxxxx> > > > --- a/drivers/dma/qcom/hidma_mgmt.c > > +++ b/drivers/dma/qcom/hidma_mgmt.c > > @@ -398,7 +398,7 @@ static int __init > hidma_mgmt_of_populate_channels(struct device_node *np) > > } > > of_node_get(child); > > new_pdev->dev.of_node = child; > > - of_dma_configure(&new_pdev->dev, child); > > + of_dma_configure(&new_pdev->dev, child, true); > > /* > > * It is assumed that calling of_msi_configure is safe on > > * platforms with or without MSI support. > > Where did we mark this bus as force_dma before? I thought these devices to be on the platform bus as the device is of type 'struct platform_device', though I am not sure then why 'of_dma_configure()' is called here. Is this not on platform bus? > > > diff --git a/drivers/of/of_reserved_mem.c b/drivers/of/of_reserved_mem.c > > index 9a4f4246..895c83e 100644 > > --- a/drivers/of/of_reserved_mem.c > > +++ b/drivers/of/of_reserved_mem.c > > @@ -353,7 +353,7 @@ int of_reserved_mem_device_init_by_idx(struct device > *dev, > > /* ensure that dma_ops is set for virtual devices > > * using reserved memory > > */ > > - of_dma_configure(dev, np); > > + of_dma_configure(dev, np, true); > > Did all the callers of this one really force dma? I have a hard time > untangling the call stacks unfortunately. I see this API being called indirectly from NXP DPAA device driver which is for platform bus devices. So I marked 'true' out here. There are more places from where it is being called. Thanks, Nipun