diff options
author | Jeremy Higdon <jeremy@sgi.com> | 2009-03-04 12:09:46 -0800 |
---|---|---|
committer | Tony Luck <tony.luck@intel.com> | 2009-03-06 10:41:13 -0800 |
commit | c63c58056e268b0d6bd6994b69030c144567990d (patch) | |
tree | c7985ecafd34b16211442b24ae929ccd80cf02c7 /arch/ia64 | |
parent | 559595a985e106d2fa9f0c79b7f5805453fed593 (diff) | |
download | op-kernel-dev-c63c58056e268b0d6bd6994b69030c144567990d.zip op-kernel-dev-c63c58056e268b0d6bd6994b69030c144567990d.tar.gz |
[IA64] fix PCI DMA flag propagation on SN (Altix) with PICs
We recently discovered a problem with passing of DMA attributes on SN
systems with the older PIC chips.
[akpm@linux-foundation.org: coding-style fixes]
Signed-off-by: Jeremy Higdon <jeremy@sgi.com>
Cc: <habeck@sgi.com>
Cc: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Tony Luck <tony.luck@intel.com>
Diffstat (limited to 'arch/ia64')
-rw-r--r-- | arch/ia64/sn/pci/pcibr/pcibr_dma.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/arch/ia64/sn/pci/pcibr/pcibr_dma.c b/arch/ia64/sn/pci/pcibr/pcibr_dma.c index e626e50..060df4a 100644 --- a/arch/ia64/sn/pci/pcibr/pcibr_dma.c +++ b/arch/ia64/sn/pci/pcibr/pcibr_dma.c @@ -135,11 +135,10 @@ pcibr_dmatrans_direct64(struct pcidev_info * info, u64 paddr, if (SN_DMA_ADDRTYPE(dma_flags) == SN_DMA_ADDR_PHYS) pci_addr = IS_PIC_SOFT(pcibus_info) ? PHYS_TO_DMA(paddr) : - PHYS_TO_TIODMA(paddr) | dma_attributes; + PHYS_TO_TIODMA(paddr); else - pci_addr = IS_PIC_SOFT(pcibus_info) ? - paddr : - paddr | dma_attributes; + pci_addr = paddr; + pci_addr |= dma_attributes; /* Handle Bus mode */ if (IS_PCIX(pcibus_info)) |