mirror of
https://github.com/edk2-porting/linux-next.git
synced 2025-01-05 20:24:09 +08:00
powerpc: Drop archdata numa_node
Use the struct device's numa_node instead; use accessor functions to get/set numa_node. Signed-off-by: Becky Bruce <becky.bruce@freescale.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
This commit is contained in:
parent
8dd0e95206
commit
8fae035324
@ -16,9 +16,6 @@ struct dev_archdata {
|
|||||||
/* DMA operations on that device */
|
/* DMA operations on that device */
|
||||||
struct dma_mapping_ops *dma_ops;
|
struct dma_mapping_ops *dma_ops;
|
||||||
void *dma_data;
|
void *dma_data;
|
||||||
|
|
||||||
/* NUMA node if applicable */
|
|
||||||
int numa_node;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif /* _ASM_POWERPC_DEVICE_H */
|
#endif /* _ASM_POWERPC_DEVICE_H */
|
||||||
|
@ -20,7 +20,7 @@ static void *dma_iommu_alloc_coherent(struct device *dev, size_t size,
|
|||||||
{
|
{
|
||||||
return iommu_alloc_coherent(dev, dev->archdata.dma_data, size,
|
return iommu_alloc_coherent(dev, dev->archdata.dma_data, size,
|
||||||
dma_handle, device_to_mask(dev), flag,
|
dma_handle, device_to_mask(dev), flag,
|
||||||
dev->archdata.numa_node);
|
dev_to_node(dev));
|
||||||
}
|
}
|
||||||
|
|
||||||
static void dma_iommu_free_coherent(struct device *dev, size_t size,
|
static void dma_iommu_free_coherent(struct device *dev, size_t size,
|
||||||
|
@ -29,7 +29,7 @@ static void *dma_direct_alloc_coherent(struct device *dev, size_t size,
|
|||||||
{
|
{
|
||||||
struct page *page;
|
struct page *page;
|
||||||
void *ret;
|
void *ret;
|
||||||
int node = dev->archdata.numa_node;
|
int node = dev_to_node(dev);
|
||||||
|
|
||||||
page = alloc_pages_node(node, flag, get_order(size));
|
page = alloc_pages_node(node, flag, get_order(size));
|
||||||
if (page == NULL)
|
if (page == NULL)
|
||||||
|
@ -78,7 +78,7 @@ struct of_device *of_device_alloc(struct device_node *np,
|
|||||||
dev->dev.parent = parent;
|
dev->dev.parent = parent;
|
||||||
dev->dev.release = of_release_dev;
|
dev->dev.release = of_release_dev;
|
||||||
dev->dev.archdata.of_node = np;
|
dev->dev.archdata.of_node = np;
|
||||||
dev->dev.archdata.numa_node = of_node_to_nid(np);
|
set_dev_node(&dev->dev, of_node_to_nid(np));
|
||||||
|
|
||||||
if (bus_id)
|
if (bus_id)
|
||||||
strlcpy(dev->dev.bus_id, bus_id, BUS_ID_SIZE);
|
strlcpy(dev->dev.bus_id, bus_id, BUS_ID_SIZE);
|
||||||
|
@ -558,11 +558,8 @@ void __devinit pcibios_setup_new_device(struct pci_dev *dev)
|
|||||||
sd->of_node ? sd->of_node->full_name : "<none>");
|
sd->of_node ? sd->of_node->full_name : "<none>");
|
||||||
|
|
||||||
sd->dma_ops = pci_dma_ops;
|
sd->dma_ops = pci_dma_ops;
|
||||||
#ifdef CONFIG_NUMA
|
set_dev_node(&dev->dev, pcibus_to_node(dev->bus));
|
||||||
sd->numa_node = pcibus_to_node(dev->bus);
|
|
||||||
#else
|
|
||||||
sd->numa_node = -1;
|
|
||||||
#endif
|
|
||||||
if (ppc_md.pci_dma_dev_setup)
|
if (ppc_md.pci_dma_dev_setup)
|
||||||
ppc_md.pci_dma_dev_setup(dev);
|
ppc_md.pci_dma_dev_setup(dev);
|
||||||
}
|
}
|
||||||
|
@ -1232,7 +1232,7 @@ struct vio_dev *vio_register_device_node(struct device_node *of_node)
|
|||||||
else
|
else
|
||||||
viodev->dev.archdata.dma_ops = &dma_iommu_ops;
|
viodev->dev.archdata.dma_ops = &dma_iommu_ops;
|
||||||
viodev->dev.archdata.dma_data = vio_build_iommu_table(viodev);
|
viodev->dev.archdata.dma_data = vio_build_iommu_table(viodev);
|
||||||
viodev->dev.archdata.numa_node = of_node_to_nid(of_node);
|
set_dev_node(&viodev->dev, of_node_to_nid(of_node));
|
||||||
|
|
||||||
/* init generic 'struct device' fields: */
|
/* init generic 'struct device' fields: */
|
||||||
viodev->dev.parent = &vio_bus_device.dev;
|
viodev->dev.parent = &vio_bus_device.dev;
|
||||||
|
@ -556,11 +556,11 @@ static struct iommu_table *cell_get_iommu_table(struct device *dev)
|
|||||||
* node's iommu. We -might- do something smarter later though it may
|
* node's iommu. We -might- do something smarter later though it may
|
||||||
* never be necessary
|
* never be necessary
|
||||||
*/
|
*/
|
||||||
iommu = cell_iommu_for_node(archdata->numa_node);
|
iommu = cell_iommu_for_node(dev_to_node(dev));
|
||||||
if (iommu == NULL || list_empty(&iommu->windows)) {
|
if (iommu == NULL || list_empty(&iommu->windows)) {
|
||||||
printk(KERN_ERR "iommu: missing iommu for %s (node %d)\n",
|
printk(KERN_ERR "iommu: missing iommu for %s (node %d)\n",
|
||||||
archdata->of_node ? archdata->of_node->full_name : "?",
|
archdata->of_node ? archdata->of_node->full_name : "?",
|
||||||
archdata->numa_node);
|
dev_to_node(dev));
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
window = list_entry(iommu->windows.next, struct iommu_window, list);
|
window = list_entry(iommu->windows.next, struct iommu_window, list);
|
||||||
@ -577,7 +577,7 @@ static void *dma_fixed_alloc_coherent(struct device *dev, size_t size,
|
|||||||
return iommu_alloc_coherent(dev, cell_get_iommu_table(dev),
|
return iommu_alloc_coherent(dev, cell_get_iommu_table(dev),
|
||||||
size, dma_handle,
|
size, dma_handle,
|
||||||
device_to_mask(dev), flag,
|
device_to_mask(dev), flag,
|
||||||
dev->archdata.numa_node);
|
dev_to_node(dev));
|
||||||
else
|
else
|
||||||
return dma_direct_ops.alloc_coherent(dev, size, dma_handle,
|
return dma_direct_ops.alloc_coherent(dev, size, dma_handle,
|
||||||
flag);
|
flag);
|
||||||
|
@ -762,7 +762,7 @@ int ps3_system_bus_device_register(struct ps3_system_bus_device *dev)
|
|||||||
};
|
};
|
||||||
|
|
||||||
dev->core.archdata.of_node = NULL;
|
dev->core.archdata.of_node = NULL;
|
||||||
dev->core.archdata.numa_node = 0;
|
set_dev_node(&dev->core, 0);
|
||||||
|
|
||||||
pr_debug("%s:%d add %s\n", __func__, __LINE__, dev->core.bus_id);
|
pr_debug("%s:%d add %s\n", __func__, __LINE__, dev->core.bus_id);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user