> -----Original Message----- > From: Sinan Kaya [mailto:okaya@xxxxxxxxxxxxxx] > Sent: Monday, March 12, 2018 22:14 > To: Nipun Gupta <nipun.gupta@xxxxxxx>; hch@xxxxxx; > robin.murphy@xxxxxxx; linux@xxxxxxxxxxxxxxx; gregkh@xxxxxxxxxxxxxxxxxxx; > m.szyprowski@xxxxxxxxxxx; bhelgaas@xxxxxxxxxx > Cc: dmitry.torokhov@xxxxxxxxx; rafael.j.wysocki@xxxxxxxxx; > jarkko.sakkinen@xxxxxxxxxxxxxxx; linus.walleij@xxxxxxxxxx; johan@xxxxxxxxxx; > msuchanek@xxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; iommu@lists.linux- > foundation.org; linux-pci@xxxxxxxxxxxxxxx > Subject: Re: [PATCH] dma-mapping: move dma configuration to bus > infrastructure > > On 3/12/2018 11:24 AM, Nipun Gupta wrote: > > + if (dma_dev->of_node) { > > + 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) > > + ret = acpi_dma_configure(dev, attr); > > + } > > + > > + pci_put_host_bridge_device(bridge); > > + > > + return ret; > > +} > > + > > +void pci_dma_deconfigure(struct device *dev) > > +{ > > + of_dma_deconfigure(dev); > > + acpi_dma_deconfigure(dev); > > +} > > Isn't this one or the other one but not both? > > Something like: > > if (dev->of_node) > of_dma_deconfigure(dev); > else > acpi_dma_deconfigure(dev); > > should work. I understand your point. Seems reasonable as we should not expect the 'of/acpi DMA deconfigure' API to not fail when they are not configured. But, here we would also need to get dma_device (just as we get in 'pci_dma_configure') and need a check on it as for PCI there 'of_node' is present in the dma_dev. Ill update this in v2, and also make similar changes for platform and AMBA bus. Thanks, Nipun > > -- > Sinan Kaya > Qualcomm Datacenter Technologies, Inc. as an affiliate of Qualcomm > Technologies, Inc. > Qualcomm Technologies, Inc. is a member of the Code Aurora Forum, a Linux > Foundation Collaborative Project.