On Thu, May 26, 2016 at 09:56:07AM +1000, Gavin Shan wrote:
>In commit <8445a87f7092> ("powerpc/iommu: Remove the dependency
>on EEH struct in DDW mechanism"), the PE address was replaced
>with the PCI config address in order to remove dependency on EEH.
>According to PAPR spec, firmware (pHyp or QEMU) should accept
>"xxBBSSxx" format PCI config address, not "xxxxBBSS" provided
>by the patch. Note that "BB" is PCI bus number and "SS" is the
>combination of slot and function number.
>
>This fixes the PCI address passed to DDW RTAS calls.
>
>Fixes: 8445a87f7092 ("powerpc/iommu: Remove the dependency on EEH struct in
>DDW mechanism")
>Reported-by: Guilherme G. Piccoli <[email protected]>
>Signed-off-by: Gavin Shan <[email protected]>
>Tested-by: Guilherme G. Piccoli <[email protected]>
>---
> arch/powerpc/platforms/pseries/iommu.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
There are two mails sent for same patch. I don't know how is
happening. Maybe there is something wrong in my mailbox scripts.
Please ignore this one and sorry for the noise.
Thanks,
Gavin
>diff --git a/arch/powerpc/platforms/pseries/iommu.c
>b/arch/powerpc/platforms/pseries/iommu.c
>index b7dfc13..3e8865b 100644
>--- a/arch/powerpc/platforms/pseries/iommu.c
>+++ b/arch/powerpc/platforms/pseries/iommu.c
>@@ -927,7 +927,7 @@ static int query_ddw(struct pci_dev *dev, const u32
>*ddw_avail,
> dn = pci_device_to_OF_node(dev);
> pdn = PCI_DN(dn);
> buid = pdn->phb->buid;
>- cfg_addr = (pdn->busno << 8) | pdn->devfn;
>+ cfg_addr = ((pdn->busno << 16) | (pdn->devfn << 8));
>
> ret = rtas_call(ddw_avail[0], 3, 5, (u32 *)query,
> cfg_addr, BUID_HI(buid), BUID_LO(buid));
>@@ -956,7 +956,7 @@ static int create_ddw(struct pci_dev *dev, const u32
>*ddw_avail,
> dn = pci_device_to_OF_node(dev);
> pdn = PCI_DN(dn);
> buid = pdn->phb->buid;
>- cfg_addr = (pdn->busno << 8) | pdn->devfn;
>+ cfg_addr = ((pdn->busno << 16) | (pdn->devfn << 8));
>
> do {
> /* extra outputs are LIOBN and dma-addr (hi, lo) */
>--
>2.1.0
>
>_______________________________________________
>Linuxppc-dev mailing list
>[email protected]
>https://lists.ozlabs.org/listinfo/linuxppc-dev
_______________________________________________
Linuxppc-dev mailing list
[email protected]
https://lists.ozlabs.org/listinfo/linuxppc-dev