1 /*
2  * This file is subject to the terms and conditions of the GNU General Public
3  * License.  See the file "COPYING" in the main directory of this archive
4  * for more details.
5  *
6  * Copyright (C) 2003 Christoph Hellwig (hch@lst.de)
7  * Copyright (C) 1999, 2000, 04 Ralf Baechle (ralf@linux-mips.org)
8  * Copyright (C) 1999, 2000 Silicon Graphics, Inc.
9  */
10 #include <asm/pci/bridge.h>
11 
__phys_to_dma(struct device * dev,phys_addr_t paddr)12 dma_addr_t __phys_to_dma(struct device *dev, phys_addr_t paddr)
13 {
14 	struct pci_dev *pdev = to_pci_dev(dev);
15 	struct bridge_controller *bc = BRIDGE_CONTROLLER(pdev->bus);
16 
17 	return bc->baddr + paddr;
18 }
19 
__dma_to_phys(struct device * dev,dma_addr_t dma_addr)20 phys_addr_t __dma_to_phys(struct device *dev, dma_addr_t dma_addr)
21 {
22 	return dma_addr & ~(0xffUL << 56);
23 }
24 
25 #ifdef CONFIG_NUMA
pcibus_to_node(struct pci_bus * bus)26 int pcibus_to_node(struct pci_bus *bus)
27 {
28 	struct bridge_controller *bc = BRIDGE_CONTROLLER(bus);
29 
30 	return bc->nasid;
31 }
32 EXPORT_SYMBOL(pcibus_to_node);
33 #endif /* CONFIG_NUMA */
34