Re: [PATCH v2 5/6] powerpc/pseries/iommu: Make use of DDW even if it does not map the partition
From: Leonardo Bras <hidden>
Date: 2020-07-01 19:57:56
Also in:
lkml
On Wed, 2020-07-01 at 18:16 +1000, Alexey Kardashevskiy wrote:
On 24/06/2020 16:24, Leonardo Bras wrote:quoted
As of today, if a DDW is created and can't map the whole partition, it's removed and the default DMA window "ibm,dma-window" is used instead. Usually this DDW is bigger than the default DMA window, so it would be better to make use of it instead. Signed-off-by: Leonardo Bras <redacted> --- arch/powerpc/platforms/pseries/iommu.c | 28 +++++++++++++++++--------- 1 file changed, 19 insertions(+), 9 deletions(-)diff --git a/arch/powerpc/platforms/pseries/iommu.c b/arch/powerpc/platforms/pseries/iommu.c index 4fcf00016fb1..2d217cda4075 100644 --- a/arch/powerpc/platforms/pseries/iommu.c +++ b/arch/powerpc/platforms/pseries/iommu.c@@ -685,7 +685,7 @@ static void pci_dma_bus_setup_pSeriesLP(struct pci_bus *bus) struct iommu_table *tbl; struct device_node *dn, *pdn; struct pci_dn *ppci; - const __be32 *dma_window = NULL; + const __be32 *dma_window = NULL, *alt_dma_window = NULL; dn = pci_bus_to_OF_node(bus);@@ -699,8 +699,13 @@ static void pci_dma_bus_setup_pSeriesLP(struct pci_bus *bus) break; } + /* If there is a DDW available, use it instead */ + alt_dma_window = of_get_property(pdn, DIRECT64_PROPNAME, NULL);It is not necessarily "direct" anymore as the name suggests, you may want to change that. DMA64_PROPNAME, may be. Thanks,
Yeah, you are right. I will change this for next version, also changing the string name to reflect this. -#define DIRECT64_PROPNAME "linux,direct64-ddr-window-info" +#define DMA64_PROPNAME "linux,dma64-ddr-window-info" Is that ok? Thank you for helping!