[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 20:51:42 AEDT 2018
Alexey Kardashevskiy <aik at ozlabs.ru> writes:
> On 19/12/2018 10:35, Michael Ellerman wrote:
>> 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/
>
>
> How do you enable these warnings? I do not get them no matter what I do.
Just build skiroot_defconfig ?
Or turn off CONFIG_SPAPR_TCE_IOMMU, CONFIG_IOMMU_SUPPORT,
CONFIG_IOMMU_API etc.
cheers
More information about the Linuxppc-dev
mailing list