MIPS: PCI: make phys_to_dma/dma_to_phys for pci-xtalk-bridge common

All platforms using pci-xtalk-bridge can share common phys_to_dma/
dma_to_phys function. So we move it form ip27 specific file to
pci-xtalk-bridge.c

Signed-off-by: Thomas Bogendoerfer <tbogendoerfer@suse.de>
Signed-off-by: Paul Burton <paulburton@kernel.org>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: Paul Burton <paul.burton@mips.com>
Cc: James Hogan <jhogan@kernel.org>
Cc: linux-mips@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
This commit is contained in:
Thomas Bogendoerfer 2019-10-24 12:18:28 +02:00 committed by Paul Burton
parent 02fce139fd
commit b9e9defb5e
No known key found for this signature in database
GPG Key ID: 3EA79FACB57500DD
2 changed files with 16 additions and 13 deletions

View File

@ -9,19 +9,6 @@
*/
#include <asm/pci/bridge.h>
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);
}
#ifdef CONFIG_NUMA
int pcibus_to_node(struct pci_bus *bus)
{

View File

@ -22,6 +22,22 @@
#define CRC16_INIT 0
#define CRC16_VALID 0xb001
/*
* Common phys<->dma mapping for platforms using pci xtalk bridge
*/
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);
}
/*
* Most of the IOC3 PCI config register aren't present
* we emulate what is needed for a normal PCI enumeration