-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[SPARC64]: Beginnings of SUN4V PCI controller support.
Abstract out IOMMU operations so that we can have a different set of calls on sun4v, which needs to do things through hypervisor calls. Signed-off-by: David S. Miller <davem@davemloft.net>
- Loading branch information
David S. Miller
committed
Mar 20, 2006
1 parent
4cce4b7
commit 8f6a93a
Showing
5 changed files
with
152 additions
and
20 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,74 @@ | ||
/* pci_sun4v.c: SUN4V specific PCI controller support. | ||
* | ||
* Copyright (C) 2006 David S. Miller (davem@davemloft.net) | ||
*/ | ||
|
||
#include <linux/kernel.h> | ||
#include <linux/types.h> | ||
#include <linux/pci.h> | ||
#include <linux/init.h> | ||
#include <linux/slab.h> | ||
#include <linux/interrupt.h> | ||
|
||
#include <asm/pbm.h> | ||
#include <asm/iommu.h> | ||
#include <asm/irq.h> | ||
#include <asm/upa.h> | ||
#include <asm/pstate.h> | ||
#include <asm/oplib.h> | ||
#include <asm/hypervisor.h> | ||
|
||
#include "pci_impl.h" | ||
#include "iommu_common.h" | ||
|
||
static void *pci_4v_alloc_consistent(struct pci_dev *pdev, size_t size, dma_addr_t *dma_addrp) | ||
{ | ||
return NULL; | ||
} | ||
|
||
static void pci_4v_free_consistent(struct pci_dev *pdev, size_t size, void *cpu, dma_addr_t dvma) | ||
{ | ||
} | ||
|
||
static dma_addr_t pci_4v_map_single(struct pci_dev *pdev, void *ptr, size_t sz, int direction) | ||
{ | ||
return 0; | ||
} | ||
|
||
static void pci_4v_unmap_single(struct pci_dev *pdev, dma_addr_t bus_addr, size_t sz, int direction) | ||
{ | ||
} | ||
|
||
static int pci_4v_map_sg(struct pci_dev *pdev, struct scatterlist *sglist, int nelems, int direction) | ||
{ | ||
return nelems; | ||
} | ||
|
||
static void pci_4v_unmap_sg(struct pci_dev *pdev, struct scatterlist *sglist, int nelems, int direction) | ||
{ | ||
} | ||
|
||
static void pci_4v_dma_sync_single_for_cpu(struct pci_dev *pdev, dma_addr_t bus_addr, size_t sz, int direction) | ||
{ | ||
} | ||
|
||
static void pci_4v_dma_sync_sg_for_cpu(struct pci_dev *pdev, struct scatterlist *sglist, int nelems, int direction) | ||
{ | ||
} | ||
|
||
struct pci_iommu_ops pci_sun4v_iommu_ops = { | ||
.alloc_consistent = pci_4v_alloc_consistent, | ||
.free_consistent = pci_4v_free_consistent, | ||
.map_single = pci_4v_map_single, | ||
.unmap_single = pci_4v_unmap_single, | ||
.map_sg = pci_4v_map_sg, | ||
.unmap_sg = pci_4v_unmap_sg, | ||
.dma_sync_single_for_cpu = pci_4v_dma_sync_single_for_cpu, | ||
.dma_sync_sg_for_cpu = pci_4v_dma_sync_sg_for_cpu, | ||
}; | ||
|
||
void sun4v_pci_init(int node, char *model_name) | ||
{ | ||
prom_printf("sun4v_pci_init: Implement me.\n"); | ||
prom_halt(); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters