diff mbox series

[2/6] dt-bindings: reserved-memory: Support framebuffer reserved memory

Message ID 20220905163300.391692-3-thierry.reding@gmail.com (mailing list archive)
State New, archived
Headers show
Series drm/simpledrm: Support system memory framebuffers | expand

Commit Message

Thierry Reding Sept. 5, 2022, 4:32 p.m. UTC
From: Thierry Reding <treding@nvidia.com>

Document the "framebuffer" compatible string for reserved memory nodes
to annotate reserved memory regions used for framebuffer carveouts.

Signed-off-by: Thierry Reding <treding@nvidia.com>
---
 .../bindings/reserved-memory/framebuffer.yaml | 46 +++++++++++++++++++
 1 file changed, 46 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/reserved-memory/framebuffer.yaml

Comments

Rob Herring (Arm) Sept. 6, 2022, 2:29 a.m. UTC | #1
On Mon, 05 Sep 2022 18:32:56 +0200, Thierry Reding wrote:
> From: Thierry Reding <treding@nvidia.com>
> 
> Document the "framebuffer" compatible string for reserved memory nodes
> to annotate reserved memory regions used for framebuffer carveouts.
> 
> Signed-off-by: Thierry Reding <treding@nvidia.com>
> ---
>  .../bindings/reserved-memory/framebuffer.yaml | 46 +++++++++++++++++++
>  1 file changed, 46 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/reserved-memory/framebuffer.yaml
> 

My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check'
on your patch (DT_CHECKER_FLAGS is new in v5.13):

yamllint warnings/errors:

dtschema/dtc warnings/errors:
Documentation/devicetree/bindings/reserved-memory/framebuffer.example.dts:18.16-23.11: Warning (chosen_node_is_root): /example-0/chosen: chosen node must be at root node

doc reference errors (make refcheckdocs):

See https://patchwork.ozlabs.org/patch/

This check can fail if there are any dependencies. The base for a patch
series is generally the most recent rc1.

If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:

pip3 install dtschema --upgrade

Please check and re-submit.
Rob Herring (Arm) Sept. 6, 2022, 2:27 p.m. UTC | #2
On Mon, Sep 05, 2022 at 06:32:56PM +0200, Thierry Reding wrote:
> From: Thierry Reding <treding@nvidia.com>
> 
> Document the "framebuffer" compatible string for reserved memory nodes
> to annotate reserved memory regions used for framebuffer carveouts.
> 
> Signed-off-by: Thierry Reding <treding@nvidia.com>
> ---
>  .../bindings/reserved-memory/framebuffer.yaml | 46 +++++++++++++++++++
>  1 file changed, 46 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/reserved-memory/framebuffer.yaml
> 
> diff --git a/Documentation/devicetree/bindings/reserved-memory/framebuffer.yaml b/Documentation/devicetree/bindings/reserved-memory/framebuffer.yaml
> new file mode 100644
> index 000000000000..80574854025d
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/reserved-memory/framebuffer.yaml
> @@ -0,0 +1,46 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/reserved-memory/framebuffer.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: /reserved-memory framebuffer node bindings
> +
> +maintainers:
> +  - devicetree-spec@vger.kernel.org
> +
> +allOf:
> +  - $ref: "reserved-memory.yaml"

Don't need quotes.

> +
> +properties:
> +  compatible:
> +    const: framebuffer
> +    description: >
> +      This indicates a region of memory meant to be used as a framebuffer for
> +      a set of display devices. It can be used by an operating system to keep
> +      the framebuffer from being overwritten and use it as the backing memory
> +      for a display device (such as simple-framebuffer).

I'm on the fence whether we need this. It doesn't really add anything 
because 'simple-framebuffer' will reference this node and you can find 
it that way. I guess a bootloader may not setup 'simple-framebuffer', 
but then it should probably not have this node either.

On the flip side, better to have compatibles than not to identify nodes.

> +
> +unevaluatedProperties: false
> +
> +examples:
> +  - |

Use '/ {' to skip the boilerplate causing the error.

> +      chosen {
> +        framebuffer {
> +          compatible = "simple-framebuffer";
> +          memory-region = <&fb>;
> +        };
> +      };
> +
> +      reserved-memory {
> +          #address-cells = <1>;
> +          #size-cells = <1>;
> +          ranges;
> +
> +          fb: framebuffer@80000000 {
> +              compatible = "framebuffer";
> +              reg = <0x80000000 0x007e9000>;
> +          };
> +      };
> +
> +...
> -- 
> 2.37.2
> 
>
Thierry Reding Sept. 14, 2022, 4:05 p.m. UTC | #3
On Tue, Sep 06, 2022 at 09:27:21AM -0500, Rob Herring wrote:
> On Mon, Sep 05, 2022 at 06:32:56PM +0200, Thierry Reding wrote:
> > From: Thierry Reding <treding@nvidia.com>
> > 
> > Document the "framebuffer" compatible string for reserved memory nodes
> > to annotate reserved memory regions used for framebuffer carveouts.
> > 
> > Signed-off-by: Thierry Reding <treding@nvidia.com>
> > ---
> >  .../bindings/reserved-memory/framebuffer.yaml | 46 +++++++++++++++++++
> >  1 file changed, 46 insertions(+)
> >  create mode 100644 Documentation/devicetree/bindings/reserved-memory/framebuffer.yaml
> > 
> > diff --git a/Documentation/devicetree/bindings/reserved-memory/framebuffer.yaml b/Documentation/devicetree/bindings/reserved-memory/framebuffer.yaml
> > new file mode 100644
> > index 000000000000..80574854025d
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/reserved-memory/framebuffer.yaml
> > @@ -0,0 +1,46 @@
> > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> > +%YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/reserved-memory/framebuffer.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: /reserved-memory framebuffer node bindings
> > +
> > +maintainers:
> > +  - devicetree-spec@vger.kernel.org
> > +
> > +allOf:
> > +  - $ref: "reserved-memory.yaml"
> 
> Don't need quotes.
> 
> > +
> > +properties:
> > +  compatible:
> > +    const: framebuffer
> > +    description: >
> > +      This indicates a region of memory meant to be used as a framebuffer for
> > +      a set of display devices. It can be used by an operating system to keep
> > +      the framebuffer from being overwritten and use it as the backing memory
> > +      for a display device (such as simple-framebuffer).
> 
> I'm on the fence whether we need this. It doesn't really add anything 
> because 'simple-framebuffer' will reference this node and you can find 
> it that way. I guess a bootloader may not setup 'simple-framebuffer', 
> but then it should probably not have this node either.
> 
> On the flip side, better to have compatibles than not to identify nodes.

Yeah, I think given some of the comments that Robin Murphy had on the
iommu-addresses thread, having some compatible string to derive more
information from will be useful. I'm not sure if "framebuffer" is the
greatest choice, but it says exactly what this is, so if there are no
better suggestions, I'll stick with that.

Adding Robin in case he has anything to contribute on this side of the
discussion. In retrospect it might have been good to have more overlap
between the recipients of both series.

Thierry

> 
> > +
> > +unevaluatedProperties: false
> > +
> > +examples:
> > +  - |
> 
> Use '/ {' to skip the boilerplate causing the error.
> 
> > +      chosen {
> > +        framebuffer {
> > +          compatible = "simple-framebuffer";
> > +          memory-region = <&fb>;
> > +        };
> > +      };
> > +
> > +      reserved-memory {
> > +          #address-cells = <1>;
> > +          #size-cells = <1>;
> > +          ranges;
> > +
> > +          fb: framebuffer@80000000 {
> > +              compatible = "framebuffer";
> > +              reg = <0x80000000 0x007e9000>;
> > +          };
> > +      };
> > +
> > +...
> > -- 
> > 2.37.2
> > 
> >
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/reserved-memory/framebuffer.yaml b/Documentation/devicetree/bindings/reserved-memory/framebuffer.yaml
new file mode 100644
index 000000000000..80574854025d
--- /dev/null
+++ b/Documentation/devicetree/bindings/reserved-memory/framebuffer.yaml
@@ -0,0 +1,46 @@ 
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/reserved-memory/framebuffer.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: /reserved-memory framebuffer node bindings
+
+maintainers:
+  - devicetree-spec@vger.kernel.org
+
+allOf:
+  - $ref: "reserved-memory.yaml"
+
+properties:
+  compatible:
+    const: framebuffer
+    description: >
+      This indicates a region of memory meant to be used as a framebuffer for
+      a set of display devices. It can be used by an operating system to keep
+      the framebuffer from being overwritten and use it as the backing memory
+      for a display device (such as simple-framebuffer).
+
+unevaluatedProperties: false
+
+examples:
+  - |
+      chosen {
+        framebuffer {
+          compatible = "simple-framebuffer";
+          memory-region = <&fb>;
+        };
+      };
+
+      reserved-memory {
+          #address-cells = <1>;
+          #size-cells = <1>;
+          ranges;
+
+          fb: framebuffer@80000000 {
+              compatible = "framebuffer";
+              reg = <0x80000000 0x007e9000>;
+          };
+      };
+
+...