devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Will Deacon <will.deacon-5wv7dgnIgG8@public.gmane.org>
To: Vivek Gautam <vivek.gautam-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
Cc: Mark Rutland <mark.rutland-5wv7dgnIgG8@public.gmane.org>,
	"open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS"
	<devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	alex.williamson-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org,
	Linux PM <linux-pm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	sboyd-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org,
	linux-arm-msm
	<linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	"Rafael J. Wysocki" <rjw-LthD3rsA81gm4RdzfppkhA@public.gmane.org>,
	open list <linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	"list-Y9sIeH5OGRo@public.gmane.org:IOMMU DRIVERS
	<iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org>,
	Joerg Roedel <joro-zLv9SwRftAIdnm+yROfE0A@public.gmane.org>,
	"
	<iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org>,
	robh+dt <robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
	freedreno
	<freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org>,
	Robin Murphy <robin.murphy-5wv7dgnIgG8@public.gmane.org>
Subject: Re: [RESEND PATCH v17 5/5] iommu/arm-smmu: Add support for qcom,smmu-v2 variant
Date: Fri, 23 Nov 2018 18:34:29 +0000	[thread overview]
Message-ID: <20181123183428.GD21183@arm.com> (raw)
In-Reply-To: <CAFp+6iFhBRJWGY4Hj30tWedGpEUcnkBJrOvffmbpD2m9QMZB3A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>

On Fri, Nov 23, 2018 at 03:06:29PM +0530, Vivek Gautam wrote:
> On Fri, Nov 23, 2018 at 2:52 PM Tomasz Figa <tfiga-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org> wrote:
> > On Fri, Nov 23, 2018 at 6:13 PM Vivek Gautam
> > <vivek.gautam-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org> wrote:
> > > On Wed, Nov 21, 2018 at 11:09 PM Will Deacon <will.deacon-5wv7dgnIgG8@public.gmane.org> wrote:
> > > > On Fri, Nov 16, 2018 at 04:54:30PM +0530, Vivek Gautam wrote:
> > > > > @@ -2026,6 +2027,17 @@ 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 qcom_smmuv2_clks[] = {
> > > > > +     "bus", "iface",
> > > > > +};
> > > > > +
> > > > > +static const struct arm_smmu_match_data qcom_smmuv2 = {
> > > > > +     .version = ARM_SMMU_V2,
> > > > > +     .model = QCOM_SMMUV2,
> > > > > +     .clks = qcom_smmuv2_clks,
> > > > > +     .num_clks = ARRAY_SIZE(qcom_smmuv2_clks),
> > > > > +};
> > > >
> > > > These seems redundant if we go down the route proposed by Thor, where we
> > > > just pull all of the clocks out of the device-tree. In which case, why
> > > > do we need this match_data at all?
> > >
> > > Which is better? Driver relying solely on the device tree to tell
> > > which all clocks
> > > are required to be enabled,
> > > or, the driver deciding itself based on the platform's match data,
> > > that it should
> > > have X, Y, & Z clocks that should be supplied from the device tree.
> >
> > The former would simplify the driver, but would also make it
> > impossible to spot mistakes in DT, which would ultimately surface out
> > as very hard to debug bugs (likely complete system lockups).
> 
> Thanks.
> Yea, this is how I understand things presently. Relying on device tree
> puts the things out of driver's control.

But it also has the undesirable effect of having to update the driver
code whenever we want to add support for a new SMMU implementation. If
we do this all in the DT, as Thor is trying to do, then older kernels
will work well with new hardware.

> Hi Will,
> Am I unable to understand the intentions here for Thor's clock-fetch
> design change?

I'm having trouble parsing your question, sorry. Please work with Thor
so that we have a single way to get the clock information. My preference
is to take it from the firmware, for the reason I stated above.

Will

  parent reply	other threads:[~2018-11-23 18:34 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-11-16 11:24 [RESEND PATCH v17 0/5] iommu/arm-smmu: Add runtime pm/sleep support Vivek Gautam
2018-11-16 11:24 ` [RESEND PATCH v17 1/5] iommu/arm-smmu: Add pm_runtime/sleep ops Vivek Gautam
2018-11-16 11:24 ` [RESEND PATCH v17 2/5] iommu/arm-smmu: Invoke pm_runtime during probe, add/remove device Vivek Gautam
     [not found]   ` <20181116112430.31248-3-vivek.gautam-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2018-11-21 17:37     ` Will Deacon
     [not found]       ` <20181121173757.GA9801-5wv7dgnIgG8@public.gmane.org>
2018-11-22 12:02         ` Vivek Gautam
     [not found]           ` <CAFp+6iEH7_XEcZNsbZfn6iBF5_o-ZKBj=DpturH7N85LU289qg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-11-23 18:36             ` Will Deacon
     [not found]               ` <20181123183555.GE21183-5wv7dgnIgG8@public.gmane.org>
2018-11-26  6:03                 ` Vivek Gautam
     [not found]                   ` <9064c01e-cef0-9306-078a-8d303cd6614b-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2018-11-26 11:26                     ` Vivek Gautam
     [not found]                       ` <d66c5dbf-2e44-a915-14a0-1968c8ede832-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2018-11-26 19:31                         ` Will Deacon
     [not found] ` <20181116112430.31248-1-vivek.gautam-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2018-11-16 11:24   ` [RESEND PATCH v17 3/5] iommu/arm-smmu: Add the device_link between masters and smmu Vivek Gautam
2018-11-16 11:24   ` [RESEND PATCH v17 4/5] dt-bindings: arm-smmu: Add bindings for qcom, smmu-v2 Vivek Gautam
2018-11-16 11:24   ` [RESEND PATCH v17 5/5] iommu/arm-smmu: Add support for qcom, smmu-v2 variant Vivek Gautam
     [not found]     ` <20181116112430.31248-6-vivek.gautam-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2018-11-21 17:38       ` Will Deacon
     [not found]         ` <20181121173803.GB9801-5wv7dgnIgG8@public.gmane.org>
2018-11-23  9:13           ` Vivek Gautam
     [not found]             ` <CAFp+6iELH7Mw3Ue2ksEyV+Ac8hG8--Ki69xrPCA4F-AcireRow-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-11-23  9:22               ` [RESEND PATCH v17 5/5] iommu/arm-smmu: Add support for qcom,smmu-v2 variant Tomasz Figa
     [not found]                 ` <CAAFQd5B-bZR8dmjARb8L4oqgET2YAjXhexAO0GKAvU4JoVU=7g-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-11-23  9:36                   ` [RESEND PATCH v17 5/5] iommu/arm-smmu: Add support for qcom, smmu-v2 variant Vivek Gautam
     [not found]                     ` <CAFp+6iFhBRJWGY4Hj30tWedGpEUcnkBJrOvffmbpD2m9QMZB3A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-11-23 18:34                       ` Will Deacon [this message]
     [not found]                         ` <20181123183428.GD21183-5wv7dgnIgG8@public.gmane.org>
2018-11-26  4:02                           ` [RESEND PATCH v17 5/5] iommu/arm-smmu: Add support for qcom,smmu-v2 variant Tomasz Figa
2018-11-26 10:55                           ` [RESEND PATCH v17 5/5] iommu/arm-smmu: Add support for qcom, smmu-v2 variant Vivek Gautam
2018-11-26 14:41                             ` [RESEND PATCH v17 5/5] iommu/arm-smmu: Add support for qcom,smmu-v2 variant Thor Thayer
     [not found]                               ` <ca287382-1d21-ad73-1648-00291a5da21b-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2018-11-26 17:55                                 ` [RESEND PATCH v17 5/5] iommu/arm-smmu: Add support for qcom, smmu-v2 variant 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=20181123183428.GD21183@arm.com \
    --to=will.deacon-5wv7dgnigg8@public.gmane.org \
    --cc=alex.williamson-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
    --cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org \
    --cc=iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org \
    --cc=linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-pm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=mark.rutland-5wv7dgnIgG8@public.gmane.org \
    --cc=rjw-LthD3rsA81gm4RdzfppkhA@public.gmane.org \
    --cc=robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    --cc=robin.murphy-5wv7dgnIgG8@public.gmane.org \
    --cc=sboyd-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    --cc=vivek.gautam-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org \
    /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).