* Re: [PATCH v3 12/14] dt-bindings: msm/dp: Add bindings for HDCP registers
2021-10-01 15:11 ` [PATCH v3 12/14] dt-bindings: msm/dp: Add bindings for HDCP registers Sean Paul
@ 2021-10-01 19:03 ` Rob Herring
2021-10-04 19:58 ` Bjorn Andersson
2021-10-04 20:00 ` Bjorn Andersson
2 siblings, 0 replies; 6+ messages in thread
From: Rob Herring @ 2021-10-01 19:03 UTC (permalink / raw)
To: Sean Paul
Cc: Rob Clark, jani.nikula, swboyd, intel-gfx, freedreno,
linux-arm-msm, Daniel Vetter, Kuogee Hsieh, devicetree, dri-devel,
Rob Herring, Sean Paul, David Airlie
On Fri, 01 Oct 2021 11:11:41 -0400, Sean Paul wrote:
> From: Sean Paul <seanpaul@chromium.org>
>
> This patch adds the bindings for the MSM DisplayPort HDCP registers
> which are required to write the HDCP key into the display controller as
> well as the registers to enable HDCP authentication/key
> exchange/encryption.
>
> We'll use a new compatible string for this since the fields are optional.
>
> Cc: Rob Herring <robh@kernel.org>
> Cc: Stephen Boyd <swboyd@chromium.org>
> Signed-off-by: Sean Paul <seanpaul@chromium.org>
> Link: https://patchwork.freedesktop.org/patch/msgid/20210913175747.47456-13-sean@poorly.run #v1
> Link: https://patchwork.freedesktop.org/patch/msgid/20210915203834.1439-13-sean@poorly.run #v2
>
> Changes in v2:
> -Drop register range names (Stephen)
> -Fix yaml errors (Rob)
> Changes in v3:
> -Add new compatible string for dp-hdcp
> -Add descriptions to reg
> -Add minItems/maxItems to reg
> -Make reg depend on the new hdcp compatible string
> ---
>
> Disclaimer: I really don't know if this is the right way to approach
> this. I tried using examples from other bindings, but feedback would be
> very much welcome on how I could add the optional register ranges.
>
>
> .../bindings/display/msm/dp-controller.yaml | 34 ++++++++++++++++---
> 1 file changed, 30 insertions(+), 4 deletions(-)
>
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:
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/display/msm/dp-controller.example.dt.yaml: example-0: displayport-controller@ae90000:reg:0: [0, 183042048, 0, 5120] is too long
From schema: /usr/local/lib/python3.8/dist-packages/dtschema/schemas/reg.yaml
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/display/msm/dp-controller.example.dt.yaml: example-0: displayport-controller@ae90000:reg:1: [0, 183308288, 0, 372] is too long
From schema: /usr/local/lib/python3.8/dist-packages/dtschema/schemas/reg.yaml
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/display/msm/dp-controller.example.dt.yaml: example-0: displayport-controller@ae90000:reg:2: [0, 183373824, 0, 44] is too long
From schema: /usr/local/lib/python3.8/dist-packages/dtschema/schemas/reg.yaml
doc reference errors (make refcheckdocs):
See https://patchwork.ozlabs.org/patch/1535361
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.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v3 12/14] dt-bindings: msm/dp: Add bindings for HDCP registers
2021-10-01 15:11 ` [PATCH v3 12/14] dt-bindings: msm/dp: Add bindings for HDCP registers Sean Paul
2021-10-01 19:03 ` Rob Herring
@ 2021-10-04 19:58 ` Bjorn Andersson
2021-10-29 14:21 ` Sean Paul
2021-10-04 20:00 ` Bjorn Andersson
2 siblings, 1 reply; 6+ messages in thread
From: Bjorn Andersson @ 2021-10-04 19:58 UTC (permalink / raw)
To: Sean Paul
Cc: dri-devel, intel-gfx, freedreno, swboyd, jani.nikula, Sean Paul,
Rob Herring, Rob Clark, David Airlie, Daniel Vetter, Rob Herring,
Kuogee Hsieh, linux-arm-msm, devicetree
On Fri 01 Oct 10:11 CDT 2021, Sean Paul wrote:
> From: Sean Paul <seanpaul@chromium.org>
>
> This patch adds the bindings for the MSM DisplayPort HDCP registers
> which are required to write the HDCP key into the display controller as
> well as the registers to enable HDCP authentication/key
> exchange/encryption.
>
> We'll use a new compatible string for this since the fields are optional.
>
I don't think you need a new compatible, in particular since I presume
we should use the hdcp compatible in all platforms? Or is there a reason
for not picking that one?
Instead I suggest that you simply do minItems: 1, maxItems: 3 and detect
which of the two cases you have in the driver.
PS. I hope to get
https://lore.kernel.org/linux-arm-msm/20211001174400.981707-1-bjorn.andersson@linaro.org/
landed before we add these new optional regions...
Regards,
Bjorn
> Cc: Rob Herring <robh@kernel.org>
> Cc: Stephen Boyd <swboyd@chromium.org>
> Signed-off-by: Sean Paul <seanpaul@chromium.org>
> Link: https://patchwork.freedesktop.org/patch/msgid/20210913175747.47456-13-sean@poorly.run #v1
> Link: https://patchwork.freedesktop.org/patch/msgid/20210915203834.1439-13-sean@poorly.run #v2
>
> Changes in v2:
> -Drop register range names (Stephen)
> -Fix yaml errors (Rob)
> Changes in v3:
> -Add new compatible string for dp-hdcp
> -Add descriptions to reg
> -Add minItems/maxItems to reg
> -Make reg depend on the new hdcp compatible string
> ---
>
> Disclaimer: I really don't know if this is the right way to approach
> this. I tried using examples from other bindings, but feedback would be
> very much welcome on how I could add the optional register ranges.
>
>
> .../bindings/display/msm/dp-controller.yaml | 34 ++++++++++++++++---
> 1 file changed, 30 insertions(+), 4 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/display/msm/dp-controller.yaml b/Documentation/devicetree/bindings/display/msm/dp-controller.yaml
> index 64d8d9e5e47a..a176f97b2f4c 100644
> --- a/Documentation/devicetree/bindings/display/msm/dp-controller.yaml
> +++ b/Documentation/devicetree/bindings/display/msm/dp-controller.yaml
> @@ -17,9 +17,10 @@ properties:
> compatible:
> enum:
> - qcom,sc7180-dp
> + - qcom,sc7180-dp-hdcp
>
> - reg:
> - maxItems: 1
> + # See compatible-specific constraints below.
> + reg: true
>
> interrupts:
> maxItems: 1
> @@ -89,6 +90,29 @@ required:
> - power-domains
> - ports
>
> +allOf:
> + - if:
> + properties:
> + compatible:
> + contains:
> + const: qcom,sc7180-dp-hdcp
> + then:
> + properties:
> + reg:
> + minItems: 3
> + maxItems: 3
> + items:
> + - description: Registers for base DP functionality
> + - description: (Optional) Registers for HDCP device key injection
> + - description: (Optional) Registers for HDCP TrustZone interaction
> + else:
> + properties:
> + reg:
> + minItems: 1
> + maxItems: 1
> + items:
> + - description: Registers for base DP functionality
> +
> additionalProperties: false
>
> examples:
> @@ -99,8 +123,10 @@ examples:
> #include <dt-bindings/power/qcom-rpmpd.h>
>
> displayport-controller@ae90000 {
> - compatible = "qcom,sc7180-dp";
> - reg = <0xae90000 0x1400>;
> + compatible = "qcom,sc7180-dp-hdcp";
> + reg = <0 0x0ae90000 0 0x1400>,
> + <0 0x0aed1000 0 0x174>,
> + <0 0x0aee1000 0 0x2c>;
> interrupt-parent = <&mdss>;
> interrupts = <12>;
> clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>,
> --
> Sean Paul, Software Engineer, Google / Chromium OS
>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v3 12/14] dt-bindings: msm/dp: Add bindings for HDCP registers
2021-10-04 19:58 ` Bjorn Andersson
@ 2021-10-29 14:21 ` Sean Paul
0 siblings, 0 replies; 6+ messages in thread
From: Sean Paul @ 2021-10-29 14:21 UTC (permalink / raw)
To: Bjorn Andersson
Cc: Sean Paul, dri-devel, intel-gfx, freedreno, swboyd, jani.nikula,
Sean Paul, Rob Herring, Rob Clark, David Airlie, Daniel Vetter,
Rob Herring, Kuogee Hsieh, linux-arm-msm, devicetree
On Mon, Oct 04, 2021 at 02:58:41PM -0500, Bjorn Andersson wrote:
> On Fri 01 Oct 10:11 CDT 2021, Sean Paul wrote:
>
> > From: Sean Paul <seanpaul@chromium.org>
> >
> > This patch adds the bindings for the MSM DisplayPort HDCP registers
> > which are required to write the HDCP key into the display controller as
> > well as the registers to enable HDCP authentication/key
> > exchange/encryption.
> >
> > We'll use a new compatible string for this since the fields are optional.
> >
>
> I don't think you need a new compatible, in particular since I presume
> we should use the hdcp compatible in all platforms? Or is there a reason
> for not picking that one?
>
> Instead I suggest that you simply do minItems: 1, maxItems: 3 and detect
> which of the two cases you have in the driver.
Thanks for your review, Bjorn! I had done this in v2 (see [1] & [2]), but it was
suggested that a new compatible would be better. I'll change it back to this
method rebased on top of your changes.
Sean
[1]- https://patchwork.freedesktop.org/patch/454066/?series=94712&rev=1
[2]- https://patchwork.freedesktop.org/patch/454068/?series=94712&rev=1
>
> PS. I hope to get
> https://lore.kernel.org/linux-arm-msm/20211001174400.981707-1-bjorn.andersson@linaro.org/
> landed before we add these new optional regions...
>
> Regards,
> Bjorn
>
> > Cc: Rob Herring <robh@kernel.org>
> > Cc: Stephen Boyd <swboyd@chromium.org>
> > Signed-off-by: Sean Paul <seanpaul@chromium.org>
> > Link: https://patchwork.freedesktop.org/patch/msgid/20210913175747.47456-13-sean@poorly.run #v1
> > Link: https://patchwork.freedesktop.org/patch/msgid/20210915203834.1439-13-sean@poorly.run #v2
> >
> > Changes in v2:
> > -Drop register range names (Stephen)
> > -Fix yaml errors (Rob)
> > Changes in v3:
> > -Add new compatible string for dp-hdcp
> > -Add descriptions to reg
> > -Add minItems/maxItems to reg
> > -Make reg depend on the new hdcp compatible string
> > ---
> >
> > Disclaimer: I really don't know if this is the right way to approach
> > this. I tried using examples from other bindings, but feedback would be
> > very much welcome on how I could add the optional register ranges.
> >
> >
> > .../bindings/display/msm/dp-controller.yaml | 34 ++++++++++++++++---
> > 1 file changed, 30 insertions(+), 4 deletions(-)
> >
> > diff --git a/Documentation/devicetree/bindings/display/msm/dp-controller.yaml b/Documentation/devicetree/bindings/display/msm/dp-controller.yaml
> > index 64d8d9e5e47a..a176f97b2f4c 100644
> > --- a/Documentation/devicetree/bindings/display/msm/dp-controller.yaml
> > +++ b/Documentation/devicetree/bindings/display/msm/dp-controller.yaml
> > @@ -17,9 +17,10 @@ properties:
> > compatible:
> > enum:
> > - qcom,sc7180-dp
> > + - qcom,sc7180-dp-hdcp
> >
> > - reg:
> > - maxItems: 1
> > + # See compatible-specific constraints below.
> > + reg: true
> >
> > interrupts:
> > maxItems: 1
> > @@ -89,6 +90,29 @@ required:
> > - power-domains
> > - ports
> >
> > +allOf:
> > + - if:
> > + properties:
> > + compatible:
> > + contains:
> > + const: qcom,sc7180-dp-hdcp
> > + then:
> > + properties:
> > + reg:
> > + minItems: 3
> > + maxItems: 3
> > + items:
> > + - description: Registers for base DP functionality
> > + - description: (Optional) Registers for HDCP device key injection
> > + - description: (Optional) Registers for HDCP TrustZone interaction
> > + else:
> > + properties:
> > + reg:
> > + minItems: 1
> > + maxItems: 1
> > + items:
> > + - description: Registers for base DP functionality
> > +
> > additionalProperties: false
> >
> > examples:
> > @@ -99,8 +123,10 @@ examples:
> > #include <dt-bindings/power/qcom-rpmpd.h>
> >
> > displayport-controller@ae90000 {
> > - compatible = "qcom,sc7180-dp";
> > - reg = <0xae90000 0x1400>;
> > + compatible = "qcom,sc7180-dp-hdcp";
> > + reg = <0 0x0ae90000 0 0x1400>,
> > + <0 0x0aed1000 0 0x174>,
> > + <0 0x0aee1000 0 0x2c>;
> > interrupt-parent = <&mdss>;
> > interrupts = <12>;
> > clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>,
> > --
> > Sean Paul, Software Engineer, Google / Chromium OS
> >
--
Sean Paul, Software Engineer, Google / Chromium OS
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v3 12/14] dt-bindings: msm/dp: Add bindings for HDCP registers
2021-10-01 15:11 ` [PATCH v3 12/14] dt-bindings: msm/dp: Add bindings for HDCP registers Sean Paul
2021-10-01 19:03 ` Rob Herring
2021-10-04 19:58 ` Bjorn Andersson
@ 2021-10-04 20:00 ` Bjorn Andersson
2 siblings, 0 replies; 6+ messages in thread
From: Bjorn Andersson @ 2021-10-04 20:00 UTC (permalink / raw)
To: Sean Paul
Cc: dri-devel, intel-gfx, freedreno, swboyd, jani.nikula, Sean Paul,
Rob Herring, Rob Clark, David Airlie, Daniel Vetter, Rob Herring,
Kuogee Hsieh, linux-arm-msm, devicetree
On Fri 01 Oct 10:11 CDT 2021, Sean Paul wrote:
> From: Sean Paul <seanpaul@chromium.org>
>
> This patch adds the bindings for the MSM DisplayPort HDCP registers
> which are required to write the HDCP key into the display controller as
> well as the registers to enable HDCP authentication/key
> exchange/encryption.
>
> We'll use a new compatible string for this since the fields are optional.
>
> Cc: Rob Herring <robh@kernel.org>
> Cc: Stephen Boyd <swboyd@chromium.org>
> Signed-off-by: Sean Paul <seanpaul@chromium.org>
> Link: https://patchwork.freedesktop.org/patch/msgid/20210913175747.47456-13-sean@poorly.run #v1
> Link: https://patchwork.freedesktop.org/patch/msgid/20210915203834.1439-13-sean@poorly.run #v2
>
> Changes in v2:
> -Drop register range names (Stephen)
> -Fix yaml errors (Rob)
> Changes in v3:
> -Add new compatible string for dp-hdcp
> -Add descriptions to reg
> -Add minItems/maxItems to reg
> -Make reg depend on the new hdcp compatible string
> ---
>
> Disclaimer: I really don't know if this is the right way to approach
> this. I tried using examples from other bindings, but feedback would be
> very much welcome on how I could add the optional register ranges.
>
>
> .../bindings/display/msm/dp-controller.yaml | 34 ++++++++++++++++---
> 1 file changed, 30 insertions(+), 4 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/display/msm/dp-controller.yaml b/Documentation/devicetree/bindings/display/msm/dp-controller.yaml
> index 64d8d9e5e47a..a176f97b2f4c 100644
> --- a/Documentation/devicetree/bindings/display/msm/dp-controller.yaml
> +++ b/Documentation/devicetree/bindings/display/msm/dp-controller.yaml
> @@ -17,9 +17,10 @@ properties:
> compatible:
> enum:
> - qcom,sc7180-dp
> + - qcom,sc7180-dp-hdcp
>
> - reg:
> - maxItems: 1
> + # See compatible-specific constraints below.
> + reg: true
>
> interrupts:
> maxItems: 1
> @@ -89,6 +90,29 @@ required:
> - power-domains
> - ports
>
> +allOf:
> + - if:
> + properties:
> + compatible:
> + contains:
> + const: qcom,sc7180-dp-hdcp
> + then:
> + properties:
> + reg:
> + minItems: 3
> + maxItems: 3
> + items:
> + - description: Registers for base DP functionality
> + - description: (Optional) Registers for HDCP device key injection
> + - description: (Optional) Registers for HDCP TrustZone interaction
> + else:
> + properties:
> + reg:
> + minItems: 1
> + maxItems: 1
> + items:
> + - description: Registers for base DP functionality
> +
> additionalProperties: false
>
> examples:
> @@ -99,8 +123,10 @@ examples:
> #include <dt-bindings/power/qcom-rpmpd.h>
>
> displayport-controller@ae90000 {
> - compatible = "qcom,sc7180-dp";
> - reg = <0xae90000 0x1400>;
> + compatible = "qcom,sc7180-dp-hdcp";
> + reg = <0 0x0ae90000 0 0x1400>,
> + <0 0x0aed1000 0 0x174>,
> + <0 0x0aee1000 0 0x2c>;
Forgot to mention, #address-cells = #size-cells = <1> in the example
"environment", so you have to omit the lone 0s in the example to make it
pass the tests.
Regards,
Bjorn
> interrupt-parent = <&mdss>;
> interrupts = <12>;
> clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>,
> --
> Sean Paul, Software Engineer, Google / Chromium OS
>
^ permalink raw reply [flat|nested] 6+ messages in thread