[PATCH] powerpc-powernv: added tce_get callback for powernv platform
Alexey Kardashevskiy
aik at ozlabs.ru
Wed Sep 5 10:19:33 EST 2012
On 05/09/12 05:41, Benjamin Herrenschmidt wrote:
> On Tue, 2012-09-04 at 17:35 +1000, Alexey Kardashevskiy wrote:
>> 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 at ozlabs.ru>
>> ---
>> arch/powerpc/platforms/powernv/pci.c | 6 ++++++
>> 1 file changed, 6 insertions(+)
>>
>> diff --git a/arch/powerpc/platforms/powernv/pci.c b/arch/powerpc/platforms/powernv/pci.c
>> index be3cfc5..61f8068 100644
>> --- a/arch/powerpc/platforms/powernv/pci.c
>> +++ b/arch/powerpc/platforms/powernv/pci.c
>> @@ -447,6 +447,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] & IOMMU_PAGE_MASK;
>> +}
>
> Why the masking here ?
Oops. No reason. Will remove.
>
> Cheers,
> Ben.
>
>> void pnv_pci_setup_iommu_table(struct iommu_table *tbl,
>> void *tce_mem, u64 tce_size,
>> u64 dma_offset)
>> @@ -597,6 +602,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);
>>
>
>
--
Alexey
More information about the Linuxppc-dev
mailing list