Re: [PATCH 1/2] dt-bindings: ufs: qcom: allow 'dma-coherent' property

From: Johan Hovold
Date: Mon Dec 05 2022 - 07:27:37 EST


On Mon, Dec 05, 2022 at 05:50:18PM +0530, Manivannan Sadhasivam wrote:
> On Mon, Dec 05, 2022 at 01:07:16PM +0100, Johan Hovold wrote:
> > On Mon, Dec 05, 2022 at 05:29:06PM +0530, Manivannan Sadhasivam wrote:
> > > On Mon, Dec 05, 2022 at 11:08:36AM +0100, Johan Hovold wrote:
> > > > UFS controllers may be cache coherent and must be marked as such in the
> > > > devicetree to avoid data corruption.
> > > >
> > > > This is specifically needed on recent Qualcomm platforms like SC8280XP.
> > > >
> > > > Signed-off-by: Johan Hovold <johan+linaro@xxxxxxxxxx>
> > > > ---
> > > > Documentation/devicetree/bindings/ufs/qcom,ufs.yaml | 2 ++
> > > > 1 file changed, 2 insertions(+)
> > > >
> > > > diff --git a/Documentation/devicetree/bindings/ufs/qcom,ufs.yaml b/Documentation/devicetree/bindings/ufs/qcom,ufs.yaml
> > > > index f2d6298d926c..1f1d286749c0 100644
> > > > --- a/Documentation/devicetree/bindings/ufs/qcom,ufs.yaml
> > > > +++ b/Documentation/devicetree/bindings/ufs/qcom,ufs.yaml
> > > > @@ -44,6 +44,8 @@ properties:
> > > > minItems: 8
> > > > maxItems: 11
> > > >
> > > > + dma-coherent: true
> > > > +
> > >
> > > This property is not applicable to all SoCs. So setting true here will make it
> > > valid for all.
> >
> > Yes, it would be a valid, but it will only be added to the DTs of SoCs
> > that actually require it. No need to re-encode the dtsi in the binding.
> >
>
> But if you make a property valid in the binding then it implies that anyone
> could add it to DTS which is wrong. You should make this property valid for
> SoCs that actually support it.

No, it's not wrong.

Note that the binding only requires 'compatible' and 'regs', all other
properties are optional, and you could, for example, add a
'reset' property to a node for a device which does not have a reset
without the DT validation failing.

It's the devicetree which is supposed to describe hardware, you don't
have to encode it also in the binding.

Johan