[PATCH 2/3] drm/etnaviv: Don't ignore errors on getting clocks

Russell King - ARM Linux admin linux at armlinux.org.uk
Thu May 14 08:53:08 UTC 2020


On Thu, May 14, 2020 at 10:40:58AM +0200, Lucas Stach wrote:
> 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 at gmail.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.

That may be your desire, but that is impossible without knowing that
(a) it has the clocks
(b) what those clocks are connected to

I guess we could "make something up" but as DT is supposed to describe
hardware, I don't see how we can satisfy that and your requirement.

The only thing that is known from the documentation is that there is
one clock for the GPU on Dove.

-- 
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTC broadband for 0.8mile line in suburbia: sync at 10.2Mbps down 587kbps up


More information about the dri-devel mailing list