devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Rob Herring <robh@kernel.org>
To: freedreno <freedreno@lists.freedesktop.org>,
	dri-devel <dri-devel@lists.freedesktop.org>,
	Nishanth Menon <nm@ti.com>,
	devicetree@vger.kernel.org,
	Rajendra Nayak <rnayak@codeaurora.org>,
	"open list:THERMAL" <linux-pm@vger.kernel.org>,
	linux-arm-msm <linux-arm-msm@vger.kernel.org>,
	Doug Anderson <dianders@chromium.org>,
	Viresh Kumar <vireshk@kernel.org>,
	"moderated list:ARM/FREESCALE IMX / MXC ARM ARCHITECTURE"
	<linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH v6 1/2] dt-bindings: drm/msm/a6xx: Document GMU and update GPU bindings
Date: Tue, 8 Jan 2019 13:43:46 -0600	[thread overview]
Message-ID: <CAL_JsqLSsS2n4dpjhPu52czi6TuB6eoxJd-6ecEXb0g9D_MFwg@mail.gmail.com> (raw)
In-Reply-To: <20181217220146.GA18380@jcrouse-lnx.qualcomm.com>



On Mon, Dec 17, 2018 at 4:01 PM Jordan Crouse <jcrouse@codeaurora.org> wrote:
>
> On Mon, Dec 17, 2018 at 03:20:10PM -0600, Rob Herring wrote:
> > On Wed, Dec 12, 2018 at 02:18:47PM -0700, Jordan Crouse wrote:
> > > Update the GPU bindings and document the new bindings for the GMU
> > > device found with Adreno a6xx targets.
> > >
> > > Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
> > > ---
> > >  .../devicetree/bindings/display/msm/gmu.txt   | 56 +++++++++++++++++++
> > >  .../devicetree/bindings/display/msm/gpu.txt   | 41 +++++++++++++-
> > >  2 files changed, 94 insertions(+), 3 deletions(-)
> > >  create mode 100644 Documentation/devicetree/bindings/display/msm/gmu.txt
> > >
> > > diff --git a/Documentation/devicetree/bindings/display/msm/gmu.txt b/Documentation/devicetree/bindings/display/msm/gmu.txt
> > > new file mode 100644
> > > index 000000000000..6152cb551d29
> > > --- /dev/null
> > > +++ b/Documentation/devicetree/bindings/display/msm/gmu.txt
> > > @@ -0,0 +1,56 @@
> > > +Qualcomm adreno/snapdragon GMU (Graphics management unit)
> > > +
> > > +The GMU is a programmable power controller for the GPU. the CPU controls the
> > > +GMU which in turn handles power controls for the GPU.
> > > +
> > > +Required properties:
> > > +- compatible:
> > > +  * "qcom,adreno-gmu"
> >
> > I probably asked before, but this needs a specific compatible unless you
> > have reliable version/capability registers. If you do, please state that
> > here.
>
> Most of our decisions are made based on the type of GPU attached but it wouldn't
> hurt to make this future proof.  I'll do it.
>
> > > +- reg: Physical base address and length of the GMU registers.
> > > +- reg-names: Matching names for the register regions
> > > +  * "gmu"
> > > +  * "gmu_pdc"
> > > +  * "gmu_pdc_seg"
> > > +- interrupts: The interrupt signals from the GMU.
> > > +- interrupt-names: Matching names for the interrupts
> > > +  * "hfi"
> > > +  * "gmu"
> > > +- clocks: phandles to the device clocks
> > > +- clock-names: Matching names for the clocks
> > > +   * "gmu"
> > > +   * "cxo"
> > > +   * "axi"
> > > +   * "mnoc"
> > > +- power-domains: should be <&clock_gpucc GPU_CX_GDSC>
> > > +- iommus: phandle to the adreno iommu
> > > +- operating-points-v2: phandle to the OPP operating points
> > > +
> > > +Example:
> > > +
> > > +/ {
> > > +   ...
> > > +
> > > +   gmu: gmu@506a000 {
> > > +           compatible="qcom,adreno-gmu";
> > > +
> > > +           reg = <0x506a000 0x30000>,
> > > +                   <0xb280000 0x10000>,
> > > +                   <0xb480000 0x10000>;
> > > +           reg-names = "gmu", "gmu_pdc", "gmu_pdc_seq";
> > > +
> > > +           interrupts = <GIC_SPI 304 IRQ_TYPE_LEVEL_HIGH>,
> > > +                <GIC_SPI 305 IRQ_TYPE_LEVEL_HIGH>;
> > > +           interrupt-names = "hfi", "gmu";
> > > +
> > > +           clocks = <&gpucc GPU_CC_CX_GMU_CLK>,
> > > +                   <&gpucc GPU_CC_CXO_CLK>,
> > > +                   <&gcc GCC_DDRSS_GPU_AXI_CLK>,
> > > +                   <&gcc GCC_GPU_MEMNOC_GFX_CLK>;
> > > +           clock-names = "gmu", "cxo", "axi", "memnoc";
> > > +
> > > +           power-domains = <&gpucc GPU_CX_GDSC>;
> > > +           iommus = <&adreno_smmu 5>;
> > > +
> > > +           operating-points-v2 = <&gmu_opp_table>;
> > > +   };
> > > +};
> > > diff --git a/Documentation/devicetree/bindings/display/msm/gpu.txt b/Documentation/devicetree/bindings/display/msm/gpu.txt
> > > index 43fac0fe09bb..8d9415180c22 100644
> > > --- a/Documentation/devicetree/bindings/display/msm/gpu.txt
> > > +++ b/Documentation/devicetree/bindings/display/msm/gpu.txt
> > > @@ -8,14 +8,21 @@ Required properties:
> > >    with the chip-id.
> > >  - reg: Physical base address and length of the controller's registers.
> > >  - interrupts: The interrupt signal from the gpu.
> > > -- clocks: device clocks
> > > +- interrupt-names: List of names for the interrupt signals. The following can be
> > > +  provided:
> > > +  * "kgsl_3d0_irq"
> >
> > I'm pretty sure 'kgsl' is not a hardware thing. You don't need *-names
> > when there is only one of something.
>
> This has mainly existed just for compatibility issues.  We do only have the one
> interrupt so lets zap the downstream name and never look back.
>
> > > +- clocks: device clocks (if applicable)
> >
> > What does this mean? They are now optional? If so, move to an "Optional"
> > section. Likewise for the others.
>
> They are indeed optional now.
>
> > Really, you should add a new compatible so we can validate when clocks
> > not being present is valid vs. an error in the DT.
>
> We could use the GPU revision for that, but our approach has been to make all
> clocks optional for all targets.  Eventually when we go to power up if the GPU
> core ends up needing a clock and it isn't defined we fail probe at that point.
> I'm not sure if that is resilient enough for DT purposes though.
>
> Jordan
>
> --
> The Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
> a Linux Foundation Collaborative Project

  reply	other threads:[~2019-01-08 19:43 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-12-12 21:18 [PATCH v6 0/2] arm64: dts: Add sdm845 GPU/GMU and SMMU Jordan Crouse
     [not found] ` <20181212211848.26768-1-jcrouse-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2018-12-12 21:18   ` [PATCH v6 1/2] dt-bindings: drm/msm/a6xx: Document GMU and update GPU bindings Jordan Crouse
     [not found]     ` <20181212211848.26768-2-jcrouse-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2018-12-13 18:39       ` Doug Anderson
2018-12-17 21:20       ` Rob Herring
2018-12-17 22:01         ` Jordan Crouse
2019-01-08 19:43           ` Rob Herring [this message]
2018-12-12 21:18   ` [PATCH v6 2/2] arm64: dts: sdm845: Add gpu and gmu device nodes Jordan Crouse
2018-12-13 18:40     ` Doug Anderson
     [not found]     ` <20181212211848.26768-3-jcrouse-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2018-12-14  4:40       ` Viresh Kumar
2018-12-14 17:04         ` Doug Anderson
     [not found]           ` <CAD=FV=VQEtQtnPJyo6vLm7ndPjowZ35FY-cibJyN_imZMoVU3w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-12-17  7:06             ` Viresh Kumar
2018-12-18  0:34               ` Doug Anderson
2018-12-18 18:40                 ` Stephen Boyd
     [not found]                   ` <154515840025.238328.5075439774176447808-n1Xw8LXHxjTHt/MElyovVYaSKrA+ACpX0E9HWUfgJXw@public.gmane.org>
2018-12-18 19:05                     ` Doug Anderson
     [not found]                       ` <CAD=FV=XeFYmOJx9Wxy7hLQwSq1GoF84eQ93Y4KgrO1JM-g9ZiA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-12-19  4:49                         ` Viresh Kumar
2018-12-19 20:08                           ` Rob Herring
     [not found]                             ` <CAL_JsqLs69=nr=2J_48N3VtD0qNRnxAgDU8uMRwY_Qqp6Dzs_Q-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-12-19 20:40                               ` Doug Anderson
     [not found]                                 ` <CAD=FV=VMMYKoW4RU_TTjLdyrNcWZU-Gyou9b6qynKFX9wDn5Mw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-12-19 22:40                                   ` Doug Anderson
     [not found]                                     ` <CAD=FV=Utko6B6OycYpef3OQAF1v-rthcdgAKMm0GLxRM4=ummg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-12-19 23:47                                       ` Rob Herring
2018-12-20 21:29                                         ` Stephen Boyd
     [not found]                                           ` <154534136449.79149.14097954220921296509-n1Xw8LXHxjTHt/MElyovVYaSKrA+ACpX0E9HWUfgJXw@public.gmane.org>
2018-12-21  4:52                                             ` Rajendra Nayak
     [not found]                                               ` <7e310416-78d3-b7e5-5013-0bcc8bfd0351-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2018-12-29  1:29                                                 ` Stephen Boyd
     [not found]                                                   ` <154604698217.179992.9966831118584978893-n1Xw8LXHxjTHt/MElyovVYaSKrA+ACpX0E9HWUfgJXw@public.gmane.org>
2019-01-03  8:45                                                     ` Rajendra Nayak
     [not found]                                                       ` <dcb3e046-d0bd-af68-e42d-1db0db3bf2df-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2019-01-04 20:59                                                         ` Stephen Boyd

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=CAL_JsqLSsS2n4dpjhPu52czi6TuB6eoxJd-6ecEXb0g9D_MFwg@mail.gmail.com \
    --to=robh@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=dianders@chromium.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=freedreno@lists.freedesktop.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=nm@ti.com \
    --cc=rnayak@codeaurora.org \
    --cc=vireshk@kernel.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).