Re: [PATCHv3 2/2] iommu/arm-smmu: Add SMMU clock

Thor Thayer
2018-10-04T21:02:44Z

Hi Vivek,

On 10/04/2018 01:49 PM, Vivek Gautam wrote:
> Hi Thor,
>
>
> On 10/4/2018 3:58 AM, thor.thayer@linux.intel.com wrote:
>> From: Thor Thayer <thor.thayer@linux.intel.com>
>>
>> Add a clock to the SMMU structure. In the device tree case,
>> check for a clock node and enable the clock if found.
>>
>> This patch is dependent upon the following patches that add
>> a device tree bulk clock function.
>> "[V6, 1/4] clk: bulk: add of_clk_bulk_get()"
>> https://patchwork.kernel.org/patch/10583133/
>> "[V6, 2/4] clk: add new APIs to operation on all available
>> clocks"
>> https://patchwork.kernel.org/patch/10583131/
>> "[V6, 3/4] clk: add managed version of clk_bulk_get_all"
>> https://patchwork.kernel.org/patch/10583139/
>>
>> Signed-off-by: Thor Thayer <thor.thayer@linux.intel.com>
>> ---
>>   drivers/iommu/arm-smmu.c | 20 ++++++++++++++++++++
>>   1 file changed, 20 insertions(+)
>
> The clock part is already handled by one of the patch in the
> runtime pm series of arm-smmu [1]. This patch should not be needed.
>
> [1] https://patchwork.kernel.org/patch/10581899/
>
> [...]
>
> Regards
> Vivek
>

Thanks. FYI, I had problems applying [v16,2/5] on [1] but was able to
apply [v17,2/5] cleanly.

The bigger issue is that with your patchset I need to create a new
structure for my variation of the ARM SMMUv2 due to the
of_device_get_match_data() call in arm_smmu_device_dt_probe(). I want to
use the default arm_mmu500 but it doesn't have a clock specified and I
end up with num_clks of 0.

Creating a new smmu_match_data structure for each variant feels wrong
because I have the clock data specified in my device tree. The
of_clk_bulk_get() call handles this nicely but that patchset isn't
getting much attention.

I'll investigate adding the of_clk_bulk_get() call on top of your
patches. This may simplify your patches too since the additional
structures in [v16,5/5] wouldn't be needed.

Thanks,

Thor

[1] git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu.git - next