12d04eef92
This patch completely refactors DMA operations for 64 bits powerpc. 32 bits is untouched for now. We use the new dev_archdata structure to add the dma operations pointer and associated data to struct device. While at it, we also add the OF node pointer and numa node. In the future, we might want to look into merging that with pci_dn as well. The old vio, pci-iommu and pci-direct DMA ops are gone. They are now replaced by a set of generic iommu and direct DMA ops (non PCI specific) that can be used by bus types. The toplevel implementation is now inline. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
24 lines
479 B
C
24 lines
479 B
C
/*
|
|
* Arch specific extensions to struct device
|
|
*
|
|
* This file is released under the GPLv2
|
|
*/
|
|
#ifndef _ASM_POWERPC_DEVICE_H
|
|
#define _ASM_POWERPC_DEVICE_H
|
|
|
|
struct dma_mapping_ops;
|
|
struct device_node;
|
|
|
|
struct dev_archdata {
|
|
/* Optional pointer to an OF device node */
|
|
struct device_node *of_node;
|
|
|
|
/* DMA operations on that device */
|
|
struct dma_mapping_ops *dma_ops;
|
|
void *dma_data;
|
|
|
|
/* NUMA node if applicable */
|
|
int numa_node;
|
|
};
|
|
|
|
#endif /* _ASM_POWERPC_DEVICE_H */
|