Re: [PATCH 04/04] iommu/ipmmu-vmsa: Replace local utlb code with fwspec ids

From: Magnus Damm
Date: Fri Jun 16 2017 - 06:10:27 EST


Hi Geert,

On Fri, Jun 16, 2017 at 4:18 PM, Geert Uytterhoeven
<geert@xxxxxxxxxxxxxx> wrote:
> Hi Magnus,
>
> On Thu, Jun 15, 2017 at 12:29 PM, Magnus Damm <magnus.damm@xxxxxxxxx> wrote:
>> Now when both 32-bit and 64-bit code inside the driver is using
>> fwspec it is possible to replace the utlb handling with fwspec ids
>> that get populated from ->of_xlate().
>
> Thanks for your patch!

Thanks for the feedback!

>> --- 0013/drivers/iommu/ipmmu-vmsa.c
>> +++ work/drivers/iommu/ipmmu-vmsa.c 2017-06-15 18:32:27.580607110 +0900
>
>> static int ipmmu_of_xlate(struct device *dev,
>> struct of_phandle_args *spec)
>> {
>> - return ipmmu_init_platform_device(dev);
>> + iommu_fwspec_add_ids(dev, spec->args, 1);
>
> Does it hurt if iommu_fwspec_add_ids() is called multiple times, as this is
> done before the "Initialize once - xlate() will call multiple times" check?

The function needs to be called several times to populate the ids, so
that the "initialize once" check happens later is intentional and
correct. Perhaps a bit unclear though...

>> +
>> + return ipmmu_init_platform_device(dev, spec);
>> }

Cheers,

/ magnus