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 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 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 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