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