[PATCH kernel v5 10/20] powerpc/iommu_api: Move IOMMU groups setup to a single place
Michael Ellerman
mpe at ellerman.id.au
Wed Dec 19 10:35:27 AEDT 2018
Alexey Kardashevskiy <aik at ozlabs.ru> writes:
> diff --git a/arch/powerpc/platforms/powernv/pci-ioda.c b/arch/powerpc/platforms/powernv/pci-ioda.c
> index b86a6e0..1168b185 100644
> --- a/arch/powerpc/platforms/powernv/pci-ioda.c
> +++ b/arch/powerpc/platforms/powernv/pci-ioda.c
> @@ -2735,12 +2733,68 @@ static struct iommu_table_group_ops pnv_pci_ioda2_npu_ops = {
> .release_ownership = pnv_ioda2_release_ownership,
> };
>
> +static void pnv_ioda_setup_bus_iommu_group_add_devices(struct pnv_ioda_pe *pe,
> + struct pci_bus *bus)
> +{
> + struct pci_dev *dev;
> +
> + list_for_each_entry(dev, &bus->devices, bus_list) {
> + iommu_add_device(&pe->table_group, &dev->dev);
> +
> + if ((pe->flags & PNV_IODA_PE_BUS_ALL) && dev->subordinate)
> + pnv_ioda_setup_bus_iommu_group_add_devices(pe,
> + dev->subordinate);
> + }
> +}
> +
> +static void pnv_ioda_setup_bus_iommu_group(struct pnv_ioda_pe *pe)
> +{
> + if (!pnv_pci_ioda_pe_dma_weight(pe))
> + return;
> +
> + iommu_register_group(&pe->table_group, pe->phb->hose->global_number,
> + pe->pe_number);
> +
> + /*
> + * set_iommu_table_base(&pe->pdev->dev, tbl) should have been called
> + * by now
> + */
> + if (pe->flags & PNV_IODA_PE_DEV)
> + iommu_add_device(&pe->table_group, &pe->pdev->dev);
> + else if (pe->flags & (PNV_IODA_PE_BUS | PNV_IODA_PE_BUS_ALL))
> + pnv_ioda_setup_bus_iommu_group_add_devices(pe, pe->pbus);
> +}
> +
This breaks skiroot_defconfig with:
arch/powerpc/platforms/powernv/pci-ioda.c:2731:13: error: 'pnv_ioda_setup_bus_iommu_group' defined but not used [-Werror=unused-function]
http://kisskb.ellerman.id.au/kisskb/buildresult/13623033/
cheers
More information about the Linuxppc-dev
mailing list