From: Tomasz Figa <tfiga@chromium.org>
To: Vivek Gautam <vivek.gautam@codeaurora.org>,
Rob Herring <robh+dt@kernel.org>
Cc: "list@263.net:IOMMU DRIVERS <iommu@lists.linux-foundation.org>,
Joerg Roedel <joro@8bytes.org>," <joro@8bytes.org>,
Mark Rutland <mark.rutland@arm.com>,
"Rafael J. Wysocki" <rjw@rjwysocki.net>,
Robin Murphy <robin.murphy@arm.com>,
Will Deacon <will.deacon@arm.com>,
Rob Clark <robdclark@gmail.com>"list@263.net:IOMMU DRIVERS
<iommu@lists.linux-foundation.org>,
Joerg Roedel <joro@8bytes.org>,"
<iommu@lists.linux-foundation.org>,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-pm@vger.kernel.org,
dri-devel <dri-devel@lists.freedesktop.org>,
freedreno@lists.freedesktop.org, David Airlie <airlied@linux.ie>,
Greg KH <gregkh@linuxfoundation.org>,
sboyd@codeaurora.org, linux-arm-msm@vger.kernel.org
Subject: Re: [PATCH v8 5/6] iommu/arm-smmu: Add support for qcom,smmu-v2 variant
Date: Tue, 13 Feb 2018 17:57:39 +0900 [thread overview]
Message-ID: <CAAFQd5AVUDmxjFNBUU1Si6jU75kY6-mt8oVxHpG5k+y280Kc-A@mail.gmail.com> (raw)
In-Reply-To: <1518173826-11759-1-git-send-email-vivek.gautam@codeaurora.org>
Hi Vivek,
Thanks for the patch. Please see my comments inline.
On Fri, Feb 9, 2018 at 7:57 PM, Vivek Gautam
<vivek.gautam@codeaurora.org> wrote:
> qcom,smmu-v2 is an arm,smmu-v2 implementation with specific
> clock and power requirements. This smmu core is used with
> multiple masters on msm8996, viz. mdss, video, etc.
> Add bindings for the same.
>
> Signed-off-by: Vivek Gautam <vivek.gautam@codeaurora.org>
> Reviewed-by: Rob Herring <robh@kernel.org>
> ---
>
> Changes in v8:
> - Added the missing IOMMU_OF_DECLARE declaration for "qcom,smmu-v2"
>
> .../devicetree/bindings/iommu/arm,smmu.txt | 43 ++++++++++++++++++++++
> drivers/iommu/arm-smmu.c | 14 +++++++
> 2 files changed, 57 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/iommu/arm,smmu.txt b/Documentation/devicetree/bindings/iommu/arm,smmu.txt
> index 8a6ffce12af5..169222ae2706 100644
> --- a/Documentation/devicetree/bindings/iommu/arm,smmu.txt
> +++ b/Documentation/devicetree/bindings/iommu/arm,smmu.txt
> @@ -17,10 +17,19 @@ conditions.
> "arm,mmu-401"
> "arm,mmu-500"
> "cavium,smmu-v2"
> + "qcom,<soc>-smmu-v2", "qcom,smmu-v2"
>
> depending on the particular implementation and/or the
> version of the architecture implemented.
>
> + A number of Qcom SoCs use qcom,smmu-v2 version of the IP.
> + "qcom,<soc>-smmu-v2" represents a soc specific compatible
> + string that should be present along with the "qcom,smmu-v2"
> + to facilitate SoC specific clocks/power connections and to
> + address specific bug fixes.
> + An example string would be -
> + "qcom,msm8996-smmu-v2", "qcom,smmu-v2".
Hmm, I remember that for <soc> and similar wildcards we required
explicitly listing allowed values. Rob, has it changed since I
stumbled upon such thing last time (or I just got it wrong before)?
> +
> - reg : Base address and size of the SMMU.
>
> - #global-interrupts : The number of global interrupts exposed by the
> @@ -71,6 +80,23 @@ conditions.
> or using stream matching with #iommu-cells = <2>, and
> may be ignored if present in such cases.
>
> +- clock-names: Should be "bus", and "iface" for "qcom,smmu-v2"
> + implementation.
> +
> + "bus" clock for "qcom,smmu-v2" is required for downstream
> + bus access and for the smmu ptw.
> +
> + "iface" clock is required to access smmu's registers through
> + the TCU's programming interface.
nit: Could we have it in a bit more structured way? E.g.
- clock-names: List of names of clocks input to the device. The
required list depends on particular implementation and is as follows:
- for "qcom,smmu-v2":
- "bus": clock required for downstream bus access and for the smmu ptw,
- "iface": clock required to access smmu's registers through the
TCU's programming interface.
- unspecified for other implementations.
(+/- wrapping)
> +
> +- clocks: Phandles for respective clocks described by clock-names.
Phandle is just a pointer to another node. Clocks are however
specified using a phandle and a number of arguments, depending on the
clock controller. I'd change it to:
- clocks: Specifiers for all clocks listed in the clock-names
property, as per generic clock bindings.
> +
> +- 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.
>From DT point of view, the relationship of SMMU belonging to a master
device doesn't exist. The power-domains property needs to be properly
specified for all devices within power domains represented in DT, with
an exception of the case when the parent-child relationship is
explicitly stated in DT by child devices being represented by child
nodes of the parent device node.
- power-domains: Specifiers for power domains required to be powered
on for the SMMU to operate, as per generic power domain bindings.
Best regards,
Tomasz
next prev parent reply other threads:[~2018-02-13 8:57 UTC|newest]
Thread overview: 53+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-02-07 10:31 [PATCH v7 0/6] iommu/arm-smmu: Add runtime pm/sleep support Vivek Gautam
[not found] ` <1517999482-17317-1-git-send-email-vivek.gautam-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2018-02-07 10:31 ` [PATCH v7 1/6] base: power: runtime: Export pm_runtime_get/put_suppliers Vivek Gautam
2018-02-13 7:44 ` Tomasz Figa
[not found] ` <CAAFQd5BmroRf-C8dQkvTKHWK1psGnNi1t7g-q=Xce6KjrGTsdw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-02-13 12:00 ` Robin Murphy
2018-02-13 12:54 ` Tomasz Figa
2018-02-13 13:37 ` Robin Murphy
2018-02-07 10:31 ` [PATCH v7 2/6] iommu/arm-smmu: Add pm_runtime/sleep ops Vivek Gautam
2018-02-13 8:03 ` Tomasz Figa
[not found] ` <CAAFQd5B2u8RL-tdB3qgPxVUcXnsBSEhXRBZWxqO-w6rYKAiOtg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-02-13 10:25 ` Vivek Gautam
2018-02-14 3:45 ` Tomasz Figa
2018-02-07 10:31 ` [PATCH v7 3/6] iommu/arm-smmu: Invoke pm_runtime during probe, add/remove device Vivek Gautam
2018-02-13 8:24 ` Tomasz Figa
[not found] ` <CAAFQd5DxYhkK61VDAesby6bT+FtG2nqsbHQRvxkhrsSS0KWtog-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-02-13 12:57 ` Robin Murphy
[not found] ` <906051dd-8898-ec6f-5ad4-3f37716292cf-5wv7dgnIgG8@public.gmane.org>
2018-02-13 13:52 ` Tomasz Figa
[not found] ` <CAAFQd5DJtQYPg5S3Ep2bK27+D5rQiKuA-uPfMDUon3FudmGF0w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-02-14 8:24 ` Vivek Gautam
2018-02-14 8:28 ` Vivek Gautam
[not found] ` <1517999482-17317-4-git-send-email-vivek.gautam-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2018-02-22 23:52 ` Jordan Crouse
[not found] ` <20180222235200.GA18743-9PYrDHPZ2Orvke4nUoYGnHL1okKdlPRT@public.gmane.org>
2018-02-23 10:36 ` Vivek Gautam
[not found] ` <CAFp+6iGQ5Vckui14Jb=V0uk_Pjes95hOxo=KBijR4yxPeDDzFg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-02-23 15:40 ` [Freedreno] " Jordan Crouse
[not found] ` <20180223154048.GB18743-9PYrDHPZ2Orvke4nUoYGnHL1okKdlPRT@public.gmane.org>
2018-02-23 17:43 ` Vivek Gautam
2018-02-07 10:31 ` [PATCH v7 4/6] iommu/arm-smmu: Add the device_link between masters and smmu Vivek Gautam
2018-02-13 8:31 ` Tomasz Figa
[not found] ` <CAAFQd5BQAs9=N27_Z0pJNSrndFY3vFin2KBP44UtiW+tMXy5nQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-02-13 10:14 ` Vivek Gautam
2018-02-07 10:31 ` [PATCH v7 5/6] iommu/arm-smmu: Add support for qcom, smmu-v2 variant Vivek Gautam
2018-02-09 10:57 ` [PATCH v8 5/6] iommu/arm-smmu: Add support for qcom,smmu-v2 variant Vivek Gautam
2018-02-13 8:57 ` Tomasz Figa [this message]
2018-02-07 10:31 ` [PATCH v7 6/6] drm/msm: iommu: Replace runtime calls with runtime suppliers Vivek Gautam
2018-02-13 9:10 ` Tomasz Figa
[not found] ` <CAAFQd5AjopiX6fDgD+mO+-+d0yj-swEnVCNvccWRBSMO+XVJkA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-02-13 16:42 ` Jordan Crouse
2018-02-14 3:31 ` Tomasz Figa
[not found] ` <CAAFQd5CjQRFATfh-mRQv5J=WefYuxBVTkk=Ju09FoqA-Or5Cvg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-02-14 15:48 ` Jordan Crouse
[not found] ` <20180214154850.GA25422-9PYrDHPZ2Orvke4nUoYGnHL1okKdlPRT@public.gmane.org>
2018-02-14 16:12 ` [Freedreno] " Rob Clark
2018-02-15 4:09 ` Tomasz Figa
[not found] ` <CAAFQd5C-9mbd3hDSvz10a1oiO0--FT-L4EpsAYcALxxUvk6Fjg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-02-15 14:14 ` Rob Clark
2018-02-13 18:03 ` Rob Clark
2018-02-14 1:59 ` Tomasz Figa
[not found] ` <CAAFQd5BKRumpEfAKNF_RKS-ZZ8D671DfOz4vB2+w1SV3aG9NxQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-02-14 2:13 ` Rob Clark
[not found] ` <CAF6AEGuNZJKtwGZ5mLfqNND2jtU+HYM11UONfAtVTzoM0QVpdg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-02-14 3:01 ` Tomasz Figa
[not found] ` <CAAFQd5BZJ1G0RG32hYErNzPRvisBhhiSNCBsjbzfm0WzO=DnsQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-02-14 4:17 ` Vivek Gautam
[not found] ` <CAFp+6iHaycK=CcE1S15EeuMkaw8LnW0ebptU0hM6tUtWdeEOtA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-02-14 5:38 ` Tomasz Figa
[not found] ` <CAAFQd5Afj-Bj+3wHwmF2tT7y=46EsYEtO_mXfY6stXBgHutEUg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-02-14 9:13 ` Vivek Gautam
[not found] ` <CAFp+6iGX6pr+MdPSSHHG=qOnhHky_8OHiDqAcJ9UudEUv=JMHg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-02-14 9:16 ` Tomasz Figa
[not found] ` <CAAFQd5DiwAugGnPOTw0+XrEfef9x-n-vx59JFuXpNawjiXHwCw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-02-14 10:33 ` Vivek Gautam
[not found] ` <CAFp+6iEW0faeHDfzN_F1bRrHGcVo3sPCk4HSY=t9dnEvHkDkYw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-02-14 16:03 ` Robin Murphy
2018-02-15 3:17 ` Tomasz Figa
[not found] ` <CAAFQd5AmG1zSm+CouXOCJbs8SNGFk1-RqfU1nWGjMGJMB-qfvw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-02-15 4:17 ` Tomasz Figa
[not found] ` <CAAFQd5A9B-di9svtiJbvk2hz1U1xo61rTY5vt6AD+KR5iMcG-A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-02-15 17:14 ` Robin Murphy
[not found] ` <7406f1ce-c2c9-a6bd-2886-5a34de45add6-5wv7dgnIgG8@public.gmane.org>
2018-02-16 0:13 ` Tomasz Figa
[not found] ` <CAAFQd5DkLtq2w00=Zd4sMDB4QOWqi7R-zgydECJXLdTmaHty+g-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-02-22 8:13 ` Tomasz Figa
[not found] ` <CAAFQd5CQoDqunAunwoVo7W=QXa=ET=eJ2s_j9j+3YgAR2EGgCg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-02-22 13:30 ` Rob Clark
2018-02-22 13:45 ` Robin Murphy
2018-02-22 14:12 ` Tomasz Figa
[not found] ` <CAAFQd5CzOJ0oS8LLcKP-DgyXSXgzafg5CWPAvnR-QDPS+DZAUg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-02-22 17:24 ` 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=CAAFQd5AVUDmxjFNBUU1Si6jU75kY6-mt8oVxHpG5k+y280Kc-A@mail.gmail.com \
--to=tfiga@chromium.org \
--cc=joro@8bytes.org \
--cc=mark.rutland@arm.com \
--cc=rjw@rjwysocki.net \
--cc=robdclark@gmail.com \
--cc=robh+dt@kernel.org \
--cc=robin.murphy@arm.com \
--cc=vivek.gautam@codeaurora.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).