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

Lucas Stach l.stach at pengutronix.de
Thu May 14 08:40:58 UTC 2020


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.

Regards,
Lucas



More information about the dri-devel mailing list