mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-26 06:04:14 +08:00
powerpc/iommu: Add ppc_md.tce_get() callback for use by VFIO
The upcoming VFIO support requires a way to know which entry in the TCE map is not empty in order to do cleanup at QEMU exit/crash. This patch adds such functionality to POWERNV platform code. Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
This commit is contained in:
parent
4715fed600
commit
11f63d3fb9
@ -446,6 +446,11 @@ static void pnv_tce_free(struct iommu_table *tbl, long index, long npages)
|
||||
pnv_tce_invalidate(tbl, tces, tcep - 1);
|
||||
}
|
||||
|
||||
static unsigned long pnv_tce_get(struct iommu_table *tbl, long index)
|
||||
{
|
||||
return ((u64 *)tbl->it_base)[index - tbl->it_offset];
|
||||
}
|
||||
|
||||
void pnv_pci_setup_iommu_table(struct iommu_table *tbl,
|
||||
void *tce_mem, u64 tce_size,
|
||||
u64 dma_offset)
|
||||
@ -596,6 +601,7 @@ void __init pnv_pci_init(void)
|
||||
ppc_md.pci_dma_dev_setup = pnv_pci_dma_dev_setup;
|
||||
ppc_md.tce_build = pnv_tce_build;
|
||||
ppc_md.tce_free = pnv_tce_free;
|
||||
ppc_md.tce_get = pnv_tce_get;
|
||||
ppc_md.pci_probe_mode = pnv_pci_probe_mode;
|
||||
set_pci_dma_ops(&dma_iommu_ops);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user