[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ab384507b90474b0030d8ce64fdcfe868b52c3cb.camel@pengutronix.de>
Date: Thu, 14 May 2020 10:40:58 +0200
From: Lucas Stach <l.stach@...gutronix.de>
To: Russell King - ARM Linux admin <linux@...linux.org.uk>
Cc: Fabio Estevam <festevam@...il.com>,
Lubomir Rintel <lkundrak@...sk>,
linux-kernel <linux-kernel@...r.kernel.org>,
DRI mailing list <dri-devel@...ts.freedesktop.org>,
The etnaviv authors <etnaviv@...ts.freedesktop.org>,
Christian Gmeiner <christian.gmeiner@...il.com>
Subject: Re: [PATCH 2/3] drm/etnaviv: Don't ignore errors on getting clocks
Am Donnerstag, den 14.05.2020, 09:27 +0100 schrieb Russell King - ARM Linux admin:
> On Thu, May 14, 2020 at 10:18:02AM +0200, Lucas Stach wrote:
> > Am Mittwoch, den 13.05.2020, 23:41 -0300 schrieb Fabio Estevam:
> > > On Wed, May 13, 2020 at 2:09 PM Fabio Estevam <festevam@...il.com> wrote:
> > >
> > > > The binding doc Documentation/devicetree/bindings/gpu/vivante,gc.yaml
> > > > says that only the 'reg' clock could be optional, the others are
> > > > required.
> > >
> > > arch/arm/boot/dts/dove.dtsi only uses the 'core' clock.
> > > arch/arm/boot/dts/stm32mp157.dtsi uses 'bus' and 'core'
> > >
> > > Maybe the binding needs to be updated and it seems that using
> > > devm_clk_get_optional() like you propose is safe.
> >
> > The binding is correct as-is. We want to require those clocks to be
> > present, but the dove DT was added before the binding was finalized, so
> > the driver still treats the clocks as optional to not break
> > compatibility with old DTs. Maybe this warrants a comment in the
> > code...
>
> The binding doc in mainline says:
>
> clocks:
> items:
> - description: AXI/master interface clock
> - description: GPU core clock
> - description: Shader clock (only required if GPU has feature PIPE_3D)
> - description: AHB/slave interface clock (only required if GPU can gate slave interface independently)
> minItems: 1
> maxItems: 4
>
> clock-names:
> items:
> enum: [ bus, core, shader, reg ]
> minItems: 1
> maxItems: 4
>
> which looks correct to me - and means that Dove is compliant with that.
The YAML binding actually did loose something in translation here,
which I didn't notice. Previously all those clocks were listed under
"Required properties", with the exceptions listed in parenthesis. So
the Dove GPU, which is a combined 2D/3D core should have axi, core and
shader clocks specified.
Regards,
Lucas
Powered by blists - more mailing lists