From: Vivek Gautam <vivek.gautam@codeaurora.org>
To: Rob Herring <robh@kernel.org>
Cc: joro@8bytes.org, robin.murphy@arm.com, mark.rutland@arm.com,
will.deacon@arm.com, m.szyprowski@samsung.com,
sboyd@codeaurora.org, robdclark@gmail.com,
iommu@lists.linux-foundation.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org, linux-clk@vger.kernel.org,
linux-arm-msm@vger.kernel.org, sricharan@codeaurora.org,
stanimir.varbanov@linaro.org, architt@codeaurora.org,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH V4 5/6] iommu/arm-smmu: Add support for MMU40x/500 clocks
Date: Tue, 11 Jul 2017 10:48:17 +0530 [thread overview]
Message-ID: <d7d32022-d037-5598-6f45-f36162af2e82@codeaurora.org> (raw)
In-Reply-To: <20170710033755.fq36tl26hr42s5j2@rob-hp-laptop>
Hi Rob,
On 07/10/2017 09:07 AM, Rob Herring wrote:
> On Thu, Jul 06, 2017 at 03:07:04PM +0530, Vivek Gautam wrote:
>> From: Sricharan R<sricharan@codeaurora.org>
>>
>> The MMU400x/500 is the implementation of the SMMUv2
>> arch specification. It is split in to two blocks
>> TBU, TCU. TBU caches the page table, instantiated
>> for each master locally, clocked by the TBUn_clk.
>> TCU manages the address translation with PTW and has
>> the programming interface as well, clocked using the
>> TCU_CLK. The TBU can also be sharing the same clock
>> domain as TCU, in which case both are clocked using
>> the TCU_CLK.
> No TBU clock below. When is it shared or not? If that's an integration
> option then the binding should always have a TBU clock with the same
> parent as the TCU_CLK.
Right. This is something that the ARM spec also says.
The TBU clock can either be in the same clock and power domain as
the TCU clock, or in a separate.
As you said, we should have the TBU clock as well, and based on the
integration the TBU clock can either have same parent as TCU or
different.
I will change these bindings to include the TBU clock as well.
Best Regards
Vivek
>> This defines the clock bindings for the same and adds
>> the clock names to compatible data.
>>
>> Signed-off-by: Sricharan R<sricharan@codeaurora.org>
>> [vivek: clock rework and cleanup]
>> Signed-off-by: Vivek Gautam<vivek.gautam@codeaurora.org>
>> ---
>> .../devicetree/bindings/iommu/arm,smmu.txt | 24 ++++++++++++++++++++++
>> drivers/iommu/arm-smmu.c | 12 ++++++++++-
>> 2 files changed, 35 insertions(+), 1 deletion(-)
>>
>> diff --git a/Documentation/devicetree/bindings/iommu/arm,smmu.txt b/Documentation/devicetree/bindings/iommu/arm,smmu.txt
>> index 8a6ffce12af5..00331752d355 100644
>> --- a/Documentation/devicetree/bindings/iommu/arm,smmu.txt
>> +++ b/Documentation/devicetree/bindings/iommu/arm,smmu.txt
>> @@ -71,6 +71,26 @@ conditions.
>> or using stream matching with #iommu-cells = <2>, and
>> may be ignored if present in such cases.
>>
>> +- clock-names: Should be "tcu" and "iface" for "arm,mmu-400",
>> + "arm,mmu-401" and "arm,mmu-500"
>> +
>> + "tcu" clock is required for smmu's register access using the
>> + programming interface and ptw for downstream bus access. This
>> + clock is also used for access to the TBU connected to the
>> + master locally. Sometimes however, TBU is clocked along with
>> + the master.
>> +
>> + "iface" clock is required to access the TCU's programming
>> + interface, apart from the "tcu" clock.
>> +
>> +- clocks: Phandles for respective clocks described by clock-names.
>> +
>> +- power-domains: Phandles to SMMU's power domain specifier. This is
>> + required even if SMMU belongs to the master's power
>> + domain, as the SMMU will have to be enabled and
>> + accessed before master gets enabled and linked to its
>> + SMMU.
>> +
>> ** Deprecated properties:
>>
>> - mmu-masters (deprecated in favour of the generic "iommus" binding) :
>> @@ -95,6 +115,10 @@ conditions.
>> <0 36 4>,
>> <0 37 4>;
>> #iommu-cells = <1>;
>> + clocks = <&gcc GCC_SMMU_CFG_CLK>,
>> + <&gcc GCC_APSS_TCU_CLK>;
>> +
>> + clock-names = "iface", "tcu";
>> };
>>
>> /* device with two stream IDs, 0 and 7 */
>> diff --git a/drivers/iommu/arm-smmu.c b/drivers/iommu/arm-smmu.c
>> index 75567d9698ab..7bb09280fa11 100644
>> --- a/drivers/iommu/arm-smmu.c
>> +++ b/drivers/iommu/arm-smmu.c
>> @@ -1947,9 +1947,19 @@ struct arm_smmu_match_data {
>> ARM_SMMU_MATCH_DATA(smmu_generic_v1, ARM_SMMU_V1, GENERIC_SMMU);
>> ARM_SMMU_MATCH_DATA(smmu_generic_v2, ARM_SMMU_V2, GENERIC_SMMU);
>> ARM_SMMU_MATCH_DATA(arm_mmu401, ARM_SMMU_V1_64K, GENERIC_SMMU);
>> -ARM_SMMU_MATCH_DATA(arm_mmu500, ARM_SMMU_V2, ARM_MMU500);
>> ARM_SMMU_MATCH_DATA(cavium_smmuv2, ARM_SMMU_V2, CAVIUM_SMMUV2);
>>
>> +static const char * const arm_mmu500_clks[] = {
>> + "tcu", "iface",
>> +};
>> +
>> +static const struct arm_smmu_match_data arm_mmu500 = {
>> + .version = ARM_SMMU_V2,
>> + .model = ARM_MMU500,
>> + .clks = arm_mmu500_clks,
>> + .num_clks = ARRAY_SIZE(arm_mmu500_clks),
>> +};
>> +
>> static const struct of_device_id arm_smmu_of_match[] = {
>> { .compatible = "arm,smmu-v1", .data = &smmu_generic_v1 },
>> { .compatible = "arm,smmu-v2", .data = &smmu_generic_v2 },
>> --
>> The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
>> a Linux Foundation Collaborative Project
>>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in
> the body of a message tomajordomo@vger.kernel.org
> More majordomo info athttp://vger.kernel.org/majordomo-info.html
--
The Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project
next prev parent reply other threads:[~2017-07-11 5:18 UTC|newest]
Thread overview: 53+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-07-06 9:36 [PATCH V4 0/6] iommu/arm-smmu: Add runtime pm/sleep support Vivek Gautam
2017-07-06 9:37 ` [PATCH V4 1/6] iommu/arm-smmu: Fix the error path in arm_smmu_add_device Vivek Gautam
2017-07-06 9:37 ` [PATCH V4 2/6] iommu/arm-smmu: Add pm_runtime/sleep ops Vivek Gautam
2017-07-12 22:58 ` Stephen Boyd
2017-07-12 23:01 ` Stephen Boyd
2017-07-13 3:57 ` Vivek Gautam
2017-07-06 9:37 ` [PATCH V4 3/6] iommu/arm-smmu: Invoke pm_runtime during probe, add/remove device Vivek Gautam
2017-07-12 22:54 ` Stephen Boyd
2017-07-13 5:13 ` Vivek Gautam
2017-07-13 5:35 ` Sricharan R
2017-07-13 11:50 ` Rob Clark
2017-07-13 12:02 ` Marek Szyprowski
2017-07-13 12:10 ` Rob Clark
2017-07-13 12:23 ` Marek Szyprowski
2017-07-13 13:53 ` Sricharan R
2017-07-13 14:55 ` Rob Clark
2017-07-14 17:07 ` Will Deacon
2017-07-14 17:42 ` Rob Clark
2017-07-14 18:06 ` Will Deacon
2017-07-14 18:25 ` Rob Clark
2017-07-14 19:01 ` Will Deacon
2017-07-14 19:34 ` Rob Clark
2017-07-14 19:36 ` Will Deacon
2017-07-14 19:39 ` Rob Clark
2017-07-17 11:46 ` Sricharan R
2017-07-17 12:28 ` Sricharan R
2017-07-24 15:31 ` Vivek Gautam
2017-08-02 9:53 ` [PATCH] iommu/arm-smmu: Defer TLB flush in case of unmap op Vivek Gautam
2017-08-02 12:17 ` Robin Murphy
2017-08-03 5:35 ` Vivek Gautam
2017-08-04 17:04 ` Robin Murphy
2017-08-07 7:44 ` Vivek Gautam
2017-08-07 8:27 ` [PATCH V4 3/6] iommu/arm-smmu: Invoke pm_runtime during probe, add/remove device Vivek Gautam
2017-08-07 12:29 ` Rob Clark
2017-11-14 18:30 ` Vivek Gautam
2017-11-27 22:22 ` Stephen Boyd
2017-11-27 23:43 ` Rob Clark
2017-11-28 13:43 ` Vivek Gautam
2017-11-28 20:05 ` Rob Clark
2017-07-13 13:57 ` Vivek Gautam
2017-07-13 14:01 ` Vivek Gautam
2017-07-13 6:48 ` Stephen Boyd
2017-07-13 9:50 ` Robin Murphy
2017-07-13 11:53 ` Rob Clark
2017-07-06 9:37 ` [PATCH V4 4/6] iommu/arm-smmu: Add the device_link between masters and smmu Vivek Gautam
2017-07-12 22:55 ` Stephen Boyd
2017-07-13 3:59 ` Vivek Gautam
2017-07-06 9:37 ` [PATCH V4 5/6] iommu/arm-smmu: Add support for MMU40x/500 clocks Vivek Gautam
2017-07-10 3:37 ` Rob Herring
2017-07-11 5:18 ` Vivek Gautam [this message]
2017-07-06 9:37 ` [PATCH V4 6/6] iommu/arm-smmu: Add support for qcom,msm8996-smmu-v2 clocks Vivek Gautam
2017-07-10 3:40 ` Rob Herring
2017-07-10 6:42 ` Vivek Gautam
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=d7d32022-d037-5598-6f45-f36162af2e82@codeaurora.org \
--to=vivek.gautam@codeaurora.org \
--cc=architt@codeaurora.org \
--cc=devicetree@vger.kernel.org \
--cc=iommu@lists.linux-foundation.org \
--cc=joro@8bytes.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-clk@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=m.szyprowski@samsung.com \
--cc=mark.rutland@arm.com \
--cc=robdclark@gmail.com \
--cc=robh@kernel.org \
--cc=robin.murphy@arm.com \
--cc=sboyd@codeaurora.org \
--cc=sricharan@codeaurora.org \
--cc=stanimir.varbanov@linaro.org \
--cc=will.deacon@arm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).