Message ID | 1606746513-30909-2-git-send-email-kevin3.tang@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Add Unisoc's drm kms module | expand |
Hi Rob Rob Herring <robh+dt@kernel.org> 于2020年12月1日周二 上午4:29写道: > > On Mon, Nov 30, 2020 at 7:28 AM Kevin Tang <kevin3.tang@gmail.com> wrote: > > > > From: Kevin Tang <kevin.tang@unisoc.com> > > Once again, DT patches must Cc the DT list if you want them reviewed. Ok, i will add DT list to my Cc list. > > > > > The Unisoc DRM master device is a virtual device needed to list all > > DPU devices or other display interface nodes that comprise the > > graphics subsystem > > > > Cc: Orson Zhai <orsonzhai@gmail.com> > > Cc: Chunyan Zhang <zhang.lyra@gmail.com> > > Signed-off-by: Kevin Tang <kevin.tang@unisoc.com> > > --- > > .../display/sprd/sprd,display-subsystem.yaml | 39 ++++++++++++++++++++++ > > 1 file changed, 39 insertions(+) > > create mode 100644 Documentation/devicetree/bindings/display/sprd/sprd,display-subsystem.yaml > > > > diff --git a/Documentation/devicetree/bindings/display/sprd/sprd,display-subsystem.yaml b/Documentation/devicetree/bindings/display/sprd/sprd,display-subsystem.yaml > > new file mode 100644 > > index 0000000..9487a39 > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/display/sprd/sprd,display-subsystem.yaml > > @@ -0,0 +1,39 @@ > > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > > +%YAML 1.2 > > +--- > > +$id: http://devicetree.org/schemas/display/sprd/sprd,display-subsystem.yaml# > > +$schema: http://devicetree.org/meta-schemas/core.yaml# > > + > > +title: Unisoc DRM master device > > + > > +maintainers: > > + - Kevin Tang <kevin.tang@unisoc.com> > > + > > +description: | > > + The Unisoc DRM master device is a virtual device needed to list all > > + DPU devices or other display interface nodes that comprise the > > + graphics subsystem. > > + > > +properties: > > + compatible: > > + const: sprd,display-subsystem > > As I said before, we try to avoid these virtual nodes. Make the DRM > driver bind to the DPU node. > > The case where this might be needed is if you have h/w that's a > mixture of shared and discrete blocks. I don't see anything here > matching that. This is how I understand this sentence: "h/w that's a mixture of shared and discrete blocks" We have multiple display controllers and corresponding physical interfaces, typical dual-screen display scenario E.g: 1. dpu0 and dpu1 both binding to DSI for dual mipi-dsi display; 2. dpu0 binding to DSI for primary display, and dpu1 binding to DP for external display; It looks like this: dpu0------>MIPI-DSI------>DPHY/CPHY Combo------>Panel0 ^ ----------------| | dpu1------>DisplayPort------>PHY------>Panel1 For DTS like this: display-subsystem { compatible = "sprd,display-subsystem"; ports = <&dpu0_out>, <&dpu1_out>; }; But this is our first time submitting code to the community, following the suggestions of other reviewers, we only submitted a basic version. Other virtual nodes and corresponding drivers will be submitted later. > > Rob
On Tue, Dec 1, 2020 at 12:36 AM Kevin Tang <kevin3.tang@gmail.com> wrote: > > Hi Rob > > Rob Herring <robh+dt@kernel.org> 于2020年12月1日周二 上午4:29写道: > > > > On Mon, Nov 30, 2020 at 7:28 AM Kevin Tang <kevin3.tang@gmail.com> wrote: > > > > > > From: Kevin Tang <kevin.tang@unisoc.com> > > > > Once again, DT patches must Cc the DT list if you want them reviewed. > Ok, i will add DT list to my Cc list. > > > > > > > > The Unisoc DRM master device is a virtual device needed to list all > > > DPU devices or other display interface nodes that comprise the > > > graphics subsystem > > > > > > Cc: Orson Zhai <orsonzhai@gmail.com> > > > Cc: Chunyan Zhang <zhang.lyra@gmail.com> > > > Signed-off-by: Kevin Tang <kevin.tang@unisoc.com> > > > --- > > > .../display/sprd/sprd,display-subsystem.yaml | 39 ++++++++++++++++++++++ > > > 1 file changed, 39 insertions(+) > > > create mode 100644 Documentation/devicetree/bindings/display/sprd/sprd,display-subsystem.yaml > > > > > > diff --git a/Documentation/devicetree/bindings/display/sprd/sprd,display-subsystem.yaml b/Documentation/devicetree/bindings/display/sprd/sprd,display-subsystem.yaml > > > new file mode 100644 > > > index 0000000..9487a39 > > > --- /dev/null > > > +++ b/Documentation/devicetree/bindings/display/sprd/sprd,display-subsystem.yaml > > > @@ -0,0 +1,39 @@ > > > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > > > +%YAML 1.2 > > > +--- > > > +$id: http://devicetree.org/schemas/display/sprd/sprd,display-subsystem.yaml# > > > +$schema: http://devicetree.org/meta-schemas/core.yaml# > > > + > > > +title: Unisoc DRM master device > > > + > > > +maintainers: > > > + - Kevin Tang <kevin.tang@unisoc.com> > > > + > > > +description: | > > > + The Unisoc DRM master device is a virtual device needed to list all > > > + DPU devices or other display interface nodes that comprise the > > > + graphics subsystem. > > > + > > > +properties: > > > + compatible: > > > + const: sprd,display-subsystem > > > > As I said before, we try to avoid these virtual nodes. Make the DRM > > driver bind to the DPU node. > > > > The case where this might be needed is if you have h/w that's a > > mixture of shared and discrete blocks. I don't see anything here > > matching that. > > This is how I understand this sentence: "h/w that's a mixture of shared and discrete blocks" > We have multiple display controllers and corresponding physical interfaces, typical dual-screen display scenario > E.g: > 1. dpu0 and dpu1 both binding to DSI for dual mipi-dsi display; > 2. dpu0 binding to DSI for primary display, and dpu1 binding to DP for external display; > > It looks like this: > dpu0------>MIPI-DSI------>DPHY/CPHY Combo------>Panel0 > ^ > ----------------| > | > dpu1------>DisplayPort------>PHY------>Panel1 > > For DTS like this: > display-subsystem { > compatible = "sprd,display-subsystem"; > ports = <&dpu0_out>, <&dpu1_out>; > }; Yeah, this would be one such case. Just make this scenario clear in commit message. Rob
diff --git a/Documentation/devicetree/bindings/display/sprd/sprd,display-subsystem.yaml b/Documentation/devicetree/bindings/display/sprd/sprd,display-subsystem.yaml new file mode 100644 index 0000000..9487a39 --- /dev/null +++ b/Documentation/devicetree/bindings/display/sprd/sprd,display-subsystem.yaml @@ -0,0 +1,39 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/display/sprd/sprd,display-subsystem.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Unisoc DRM master device + +maintainers: + - Kevin Tang <kevin.tang@unisoc.com> + +description: | + The Unisoc DRM master device is a virtual device needed to list all + DPU devices or other display interface nodes that comprise the + graphics subsystem. + +properties: + compatible: + const: sprd,display-subsystem + + ports: + $ref: /schemas/types.yaml#/definitions/phandle-array + description: + Should contain a list of phandles pointing to display interface port + of DPU devices. + +required: + - compatible + - ports + +additionalProperties: false + +examples: + - | + display-subsystem { + compatible = "sprd,display-subsystem"; + ports = <&dpu_out>; + }; +