Re: [PATCH v11 0/4] iommu/arm-smmu: Add runtime pm/sleep support

From: Tomasz Figa
Date: Mon Apr 09 2018 - 00:22:47 EST


Hi Will, Robin,

On Thu, Mar 22, 2018 at 7:22 PM Vivek Gautam <vivek.gautam@xxxxxxxxxxxxxx>
wrote:

> This series provides the support for turning on the arm-smmu's
> clocks/power domains using runtime pm. This is done using the
> recently introduced device links patches, which lets the smmu's
> runtime to follow the master's runtime pm, so the smmu remains
> powered only when the masters use it.
> As not all implementations support clock/power gating, we are checking
> for a valid 'smmu->dev's pm_domain' to conditionally enable the runtime
> power management for such smmu implementations that can support it.

> This series also adds support for Qcom's arm-smmu-v2 variant that
> has different clocks and power requirements.

> Took some reference from the exynos runtime patches [1].

> With conditional runtime pm now, we avoid touching dev->power.lock
> in fastpaths for smmu implementations that don't need to do anything
> useful with pm_runtime.
> This lets us to use the much-argued pm_runtime_get_sync/put_sync()
> calls in map/unmap callbacks so that the clients do not have to
> worry about handling any of the arm-smmu's power.

> Previous version of this patch series is @ [5].

> [v11]
> * Some more cleanups for device link. We don't need an explicit
> delete for device link from the driver, but just set the flag
> DL_FLAG_AUTOREMOVE.
> device_link_add() API description says -
> "If the DL_FLAG_AUTOREMOVE is set, the link will be removed
> automatically when the consumer device driver unbinds."
> * Addressed the comments for 'smmu' in arm_smmu_map/unmap().
> * Dropped the patch [10] that introduced device_link_del_dev() API.

As far as I can see, this version addresses all the earlier comments. Do
you think this is something that you could apply?

Best regards,
Tomasz