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

From: Russell King - ARM Linux admin
Date: Thu May 14 2020 - 04:28:14 EST


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@xxxxxxxxx> 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.

--
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