Re: [PATCH 3/3] iommu/ipmmu-vmsa: Hook up r8a7796 DT matching code

From: Magnus Damm
Date: Wed Jun 08 2016 - 04:09:33 EST


Hi Geert,

On Wed, Jun 8, 2016 at 4:04 PM, Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> wrote:
> Hi Laurent,
>
> On Wed, Jun 8, 2016 at 2:18 AM, Laurent Pinchart
> <laurent.pinchart@xxxxxxxxxxxxxxxx> wrote:
>>> --- 0031/drivers/iommu/ipmmu-vmsa.c
>>> +++ work/drivers/iommu/ipmmu-vmsa.c 2016-06-06 11:19:40.210607110 +0900
>>> @@ -1074,7 +1074,7 @@ static const struct ipmmu_features ipmmu
>>> .twobit_imttbcr_sl0 = false,
>>> };
>>>
>>> -static const struct ipmmu_features ipmmu_features_r8a7795 = {
>>> +static const struct ipmmu_features ipmmu_features_rcar_gen3 = {
>>> .use_ns_alias_offset = false,
>>> .has_cache_leaf_nodes = true,
>>> .has_eight_ctx = true,
>>> @@ -1088,7 +1088,10 @@ static const struct of_device_id ipmmu_o
>>> .data = &ipmmu_features_default,
>>> }, {
>>> .compatible = "renesas,ipmmu-r8a7795",
>>> - .data = &ipmmu_features_r8a7795,
>>> + .data = &ipmmu_features_rcar_gen3,
>>> + }, {
>>> + .compatible = "renesas,ipmmu-r8a7796",
>>> + .data = &ipmmu_features_rcar_gen3,
>>> }, {
>>> /* Terminator */
>>> },
>>> @@ -1268,6 +1271,8 @@ IOMMU_OF_DECLARE(ipmmu_vmsa_iommu_of, "r
>>> ipmmu_vmsa_iommu_of_setup);
>>> IOMMU_OF_DECLARE(ipmmu_r8a7795_iommu_of, "renesas,ipmmu-r8a7795",
>>> ipmmu_vmsa_iommu_of_setup);
>>> +IOMMU_OF_DECLARE(ipmmu_r8a7796_iommu_of, "renesas,ipmmu-r8a7796",
>>> + ipmmu_vmsa_iommu_of_setup);
>>
>> How about a Gen3 generic compatible string in addition to the SoC-specific
>> ones ?
>
> Do we want to specify the number of utlbs here?
> Does it differ between r8a7795, r8a7796, and future members?

The utlb number is already a property of the SoC part number. So I
don't see why we want to encode this as a separate DT property instead
of going with an in-driver feature flag.

Thanks,

/ magnus