MIPS: IP27: use dma_direct_ops
IP27 is coherent and has a reasonably direct mapping, just with a little per-bus offset added into the dma address. Signed-off-by: Christoph Hellwig <hch@lst.de> Patchwork: https://patchwork.linux-mips.org/patch/19542/ Signed-off-by: Paul Burton <paul.burton@mips.com> Cc: Florian Fainelli <f.fainelli@gmail.com> Cc: David Daney <david.daney@cavium.com> Cc: Kevin Cernekee <cernekee@gmail.com> Cc: Jiaxun Yang <jiaxun.yang@flygoat.com> Cc: Tom Bogendoerfer <tsbogend@alpha.franken.de> Cc: Huacai Chen <chenhc@lemote.com> Cc: iommu@lists.linux-foundation.org Cc: linux-mips@linux-mips.org
This commit is contained in:

committed by
Paul Burton

parent
dffbfde758
commit
54aed4dd35
@@ -11,6 +11,7 @@
|
||||
#include <linux/export.h>
|
||||
#include <linux/pci.h>
|
||||
#include <linux/smp.h>
|
||||
#include <linux/dma-direct.h>
|
||||
#include <asm/sn/arch.h>
|
||||
#include <asm/pci/bridge.h>
|
||||
#include <asm/paccess.h>
|
||||
@@ -182,6 +183,19 @@ int pcibios_plat_dev_init(struct pci_dev *dev)
|
||||
return 0;
|
||||
}
|
||||
|
||||
dma_addr_t __phys_to_dma(struct device *dev, phys_addr_t paddr)
|
||||
{
|
||||
struct pci_dev *pdev = to_pci_dev(dev);
|
||||
struct bridge_controller *bc = BRIDGE_CONTROLLER(pdev->bus);
|
||||
|
||||
return bc->baddr + paddr;
|
||||
}
|
||||
|
||||
phys_addr_t __dma_to_phys(struct device *dev, dma_addr_t dma_addr)
|
||||
{
|
||||
return dma_addr & ~(0xffUL << 56);
|
||||
}
|
||||
|
||||
/*
|
||||
* Device might live on a subordinate PCI bus. XXX Walk up the chain of buses
|
||||
* to find the slot number in sense of the bridge device register.
|
||||
|
Reference in New Issue
Block a user