Thread (1 message) 1 message, 1 author, 2017-02-09

[PATCH V2 1/3] iommu/arm-smmu: Add pm_runtime/sleep ops

From: Sricharan <hidden>
Date: 2017-02-09 13:35:16
Also in: linux-arm-msm, linux-devicetree, linux-iommu

Hi Robin,
-----Original Message-----
From: linux-arm-kernel [mailto:linux-arm-kernel-bounces at lists.infradead.org] On Behalf Of Robin Murphy
Sent: Wednesday, February 08, 2017 8:01 PM
To: Mark Rutland <mark.rutland@arm.com>; Sricharan <redacted>
Cc: devicetree at vger.kernel.org; mathieu.poirier at linaro.org; linux-arm-msm at vger.kernel.org; joro at 8bytes.org;
will.deacon at arm.com; iommu at lists.linux-foundation.org; robh+dt at kernel.org; sboyd at codeaurora.org; linux-arm-
kernel at lists.infradead.org; m.szyprowski at samsung.com
Subject: Re: [PATCH V2 1/3] iommu/arm-smmu: Add pm_runtime/sleep ops

On 08/02/17 13:52, Mark Rutland wrote:
quoted
On Wed, Feb 08, 2017 at 07:15:37PM +0530, Sricharan wrote:
quoted
quoted
Clocks are not architectural, so it only makes sense to associate them
with an implementation-specific compatible string. There's also no
ok, it for this the QCOM specific implementation binding is tried(going to).
quoted
guarantee that different microarchitectures have equivalent internal
clock domains - I'm not sure if "the SMMU's underlying bus access" is
meant to refer to accesses *by* the SMMU, i.e. page table walks,
accesses *through* the SMMU by upstream masters, or both
In the above QCOM case, it is actually both. Its the same path for both the
page table walker and upstream masters.
Right, that's what I feared. As far as I can make out the current ARM
implementations, transactions passing through will require at least
TBUn_BCLK for the appropriate TBU, but would also need the page table
walker clocked with CCLK to resolve TLB misses. But then the programming
interface is also in the CCLK domain (not counting the incoming APB or
AXI clock for the actual slave port itself). Thus this 'generic' clock
binding already isn't compatible with MMU-40x/500.
Right, this implementation's clock bindings are not going to compatible with
MMU-500. There is also another soc which integrates MMU-500.  So
will have to add the clock bindings for MMU-500 as well separately.
Also in MMU-500 i saw that there is a possibility where the clock-domain
can be shared between the TCU logic, programming interface and PTW read
channel.  Does this mean that the TCU-clock has to be 'ON' for both register
access and PTW, similar to above ?. So for MMU-500 clock bindings there
can be a CFG_CLK (optional and not required in shared case), TBUn_CLK and
TCU_CLK

Regards,
 Sricharan
quoted
quoted
quoted
differences are rather significant. I'd also note that an MMU-500
configuration may have up to *33* clocks.

Either way, the QCOM implementation deserves its own compatible if only
for the sake of the imp-def gaps in the architecture (e.g. FSR.SS
behaviour WRT to IRQs as touched upon in the other thread).
Ok, slightly unclear, so you mean then *clocks* are not good enough reason
to have a new compatible ?
I beleive Robin's point was even if the clocks didn't matter, there are
other reasons we should have the QCOM-specific compatible string.

So we should have one regardless.
Exactly.

Robin.
quoted
Thanks,
Mark.

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel at lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help