Re: [Freedreno] [v4] drm/msm/disp/dpu1: add support for dspp sub block flush in sc7280

2022-09-11 Thread Stephen Boyd
Quoting Kalyan Thota (2022-09-08 00:26:28)
> diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_ctl.c 
> b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_ctl.c
> index a35ecb6..bbda09a 100644
> --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_ctl.c
> +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_ctl.c
> @@ -307,6 +309,31 @@ static void dpu_hw_ctl_update_pending_flush_dspp(struct 
> dpu_hw_ctl *ctx,
> }
>  }
>
> +static void dpu_hw_ctl_update_pending_flush_dspp_subblocks(
> +   struct dpu_hw_ctl *ctx, enum dpu_dspp dspp, u32 dspp_sub_blk)
> +{
> +   uint32_t flushbits = 0, active;

Please use u32 in the kernel. It's shorter.


Re: [Freedreno] [PATCH v6 01/12] dt-bindings: display/msm: split qcom, mdss bindings

2022-09-11 Thread Krzysztof Kozlowski
On 11/09/2022 20:36, Krzysztof Kozlowski wrote:

>> If your child schema fails, the referencing schema fails as well...
> 
> 
> Although now with DSI-PHY I cannot reproduce it and I am pretty sure I
> reproduced it with DPU controllers after modifying the DTS to lack a
> property... Hmmm

https://github.com/devicetree-org/dt-schema/pull/82


Best regards,
Krzysztof


Re: [Freedreno] [PATCH v6 01/12] dt-bindings: display/msm: split qcom, mdss bindings

2022-09-11 Thread Krzysztof Kozlowski
On 11/09/2022 20:36, Krzysztof Kozlowski wrote:

>> /home/krzk/dev/linux/linux/out/arch/arm64/boot/dts/qcom/sda660-inforce-ifc6560.dtb:
>> dsi@c994000: 'vdda-supply' does not match any of the regexes:
>> 'pinctrl-[0-9]+'
>>
>>
>>
>> If your child schema fails, the referencing schema fails as well...
> 
> 
> Although now with DSI-PHY I cannot reproduce it and I am pretty sure I
> reproduced it with DPU controllers after modifying the DTS to lack a
> property... Hmmm
> 
I think I have a fix for this in DT schema.

Best regards,
Krzysztof


Re: [Freedreno] [PATCH v6 01/12] dt-bindings: display/msm: split qcom, mdss bindings

2022-09-11 Thread Krzysztof Kozlowski
On 11/09/2022 20:32, Krzysztof Kozlowski wrote:
> On 11/09/2022 19:45, Dmitry Baryshkov wrote:
>> On Sun, 11 Sept 2022 at 16:57, Krzysztof Kozlowski
>>  wrote:
>>>
>>> On 11/09/2022 15:45, Dmitry Baryshkov wrote:
 On Sun, 11 Sept 2022 at 14:27, Krzysztof Kozlowski
  wrote:
>
> On 10/09/2022 14:54, Dmitry Baryshkov wrote:
>>>
>>> However I think there is no such problem, as Dmitry said, that ref
>>> changes anything. There will be always failure - either from parent
>>> schema (using $ref) or from device child schema (the one which actually
>>> misses the property).
>>
>> Initially I stumbled upon this issue with the dsi and dsi_phy nodes
>> for msm8996 devices. If I have $ref here, dsi1/dsi1_phy nodes will
>> emit warnings regarding the missing -supply properties despite nodes
>> being disabled. If I use `compatible' here, the schema checks pass.
>> Thus I'd prefer to leave `compatible' here. Not to mention that it
>> also allows specifying a tighter binding than just using the $ref.
>
> I don't think we understood each other. I claim that error will be there
> anyway, just from different schema. So your change fixes nothing in
> total schema check...

 If the node is disabled, there will be no different schema check.
>>>
>>> As I wrote before, there was.
>>
>> The following results were captured with the following command, with
>> most of the DSI and MDSS schema files fixed, using the following
>> command:
>> $ PATH=~/.local/bin/:$PATH make -C ../build-64/ ARCH=arm64
>> qcom/sda660-inforce-ifc6560.dtb  CHECK_DTBS=y
>> DT_SCHEMA_FILES=display/msm
>>
>> As you can see from the example below, when using 'compatible' I'm
>> getting warnings just for the gpu@500 node, while using $ref I
>> also got warnings for the dsi-phy@c996400 node (disabled in the DT
>> file).
>> For your reference the tree in question is uploaded to the:
>> https://git.linaro.org/people/dmitry.baryshkov/kernel.git msm-mdss-yaml
> 
> I did not say anything about msm-mdss. I said you will get errors from
> child schema anyway.
> 
>   From schema:
> /home/krzk/dev/linux/linux/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml
> 
> /home/krzk/dev/linux/linux/out/arch/arm64/boot/dts/qcom/sda660-inforce-ifc6560.dtb:
> dsi@c994000: clock-names: ['mdp_core', 'byte', 'byte_intf', 'mnoc',
> 'iface', 'bus', 'core_mmss', 'pixel', 'core'] is too long
> 
>   From schema:
> /home/krzk/dev/linux/linux/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml
> 
> /home/krzk/dev/linux/linux/out/arch/arm64/boot/dts/qcom/sda660-inforce-ifc6560.dtb:
> dsi@c994000: 'vdda-supply' does not match any of the regexes:
> 'pinctrl-[0-9]+'
> 
> 
> 
> If your child schema fails, the referencing schema fails as well...


Although now with DSI-PHY I cannot reproduce it and I am pretty sure I
reproduced it with DPU controllers after modifying the DTS to lack a
property... Hmmm


Best regards,
Krzysztof


Re: [Freedreno] [PATCH v6 01/12] dt-bindings: display/msm: split qcom, mdss bindings

2022-09-11 Thread Krzysztof Kozlowski
On 11/09/2022 19:45, Dmitry Baryshkov wrote:
> On Sun, 11 Sept 2022 at 16:57, Krzysztof Kozlowski
>  wrote:
>>
>> On 11/09/2022 15:45, Dmitry Baryshkov wrote:
>>> On Sun, 11 Sept 2022 at 14:27, Krzysztof Kozlowski
>>>  wrote:

 On 10/09/2022 14:54, Dmitry Baryshkov wrote:
>>
>> However I think there is no such problem, as Dmitry said, that ref
>> changes anything. There will be always failure - either from parent
>> schema (using $ref) or from device child schema (the one which actually
>> misses the property).
>
> Initially I stumbled upon this issue with the dsi and dsi_phy nodes
> for msm8996 devices. If I have $ref here, dsi1/dsi1_phy nodes will
> emit warnings regarding the missing -supply properties despite nodes
> being disabled. If I use `compatible' here, the schema checks pass.
> Thus I'd prefer to leave `compatible' here. Not to mention that it
> also allows specifying a tighter binding than just using the $ref.

 I don't think we understood each other. I claim that error will be there
 anyway, just from different schema. So your change fixes nothing in
 total schema check...
>>>
>>> If the node is disabled, there will be no different schema check.
>>
>> As I wrote before, there was.
> 
> The following results were captured with the following command, with
> most of the DSI and MDSS schema files fixed, using the following
> command:
> $ PATH=~/.local/bin/:$PATH make -C ../build-64/ ARCH=arm64
> qcom/sda660-inforce-ifc6560.dtb  CHECK_DTBS=y
> DT_SCHEMA_FILES=display/msm
> 
> As you can see from the example below, when using 'compatible' I'm
> getting warnings just for the gpu@500 node, while using $ref I
> also got warnings for the dsi-phy@c996400 node (disabled in the DT
> file).
> For your reference the tree in question is uploaded to the:
> https://git.linaro.org/people/dmitry.baryshkov/kernel.git msm-mdss-yaml

I did not say anything about msm-mdss. I said you will get errors from
child schema anyway.

From schema:
/home/krzk/dev/linux/linux/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml

/home/krzk/dev/linux/linux/out/arch/arm64/boot/dts/qcom/sda660-inforce-ifc6560.dtb:
dsi@c994000: clock-names: ['mdp_core', 'byte', 'byte_intf', 'mnoc',
'iface', 'bus', 'core_mmss', 'pixel', 'core'] is too long

From schema:
/home/krzk/dev/linux/linux/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml

/home/krzk/dev/linux/linux/out/arch/arm64/boot/dts/qcom/sda660-inforce-ifc6560.dtb:
dsi@c994000: 'vdda-supply' does not match any of the regexes:
'pinctrl-[0-9]+'



If your child schema fails, the referencing schema fails as well...


Best regards,
Krzysztof


Re: [Freedreno] [PATCH v6 01/12] dt-bindings: display/msm: split qcom, mdss bindings

2022-09-11 Thread Dmitry Baryshkov
On Sun, 11 Sept 2022 at 16:57, Krzysztof Kozlowski
 wrote:
>
> On 11/09/2022 15:45, Dmitry Baryshkov wrote:
> > On Sun, 11 Sept 2022 at 14:27, Krzysztof Kozlowski
> >  wrote:
> >>
> >> On 10/09/2022 14:54, Dmitry Baryshkov wrote:
> 
>  However I think there is no such problem, as Dmitry said, that ref
>  changes anything. There will be always failure - either from parent
>  schema (using $ref) or from device child schema (the one which actually
>  misses the property).
> >>>
> >>> Initially I stumbled upon this issue with the dsi and dsi_phy nodes
> >>> for msm8996 devices. If I have $ref here, dsi1/dsi1_phy nodes will
> >>> emit warnings regarding the missing -supply properties despite nodes
> >>> being disabled. If I use `compatible' here, the schema checks pass.
> >>> Thus I'd prefer to leave `compatible' here. Not to mention that it
> >>> also allows specifying a tighter binding than just using the $ref.
> >>
> >> I don't think we understood each other. I claim that error will be there
> >> anyway, just from different schema. So your change fixes nothing in
> >> total schema check...
> >
> > If the node is disabled, there will be no different schema check.
>
> As I wrote before, there was.

The following results were captured with the following command, with
most of the DSI and MDSS schema files fixed, using the following
command:
$ PATH=~/.local/bin/:$PATH make -C ../build-64/ ARCH=arm64
qcom/sda660-inforce-ifc6560.dtb  CHECK_DTBS=y
DT_SCHEMA_FILES=display/msm

As you can see from the example below, when using 'compatible' I'm
getting warnings just for the gpu@500 node, while using $ref I
also got warnings for the dsi-phy@c996400 node (disabled in the DT
file).
For your reference the tree in question is uploaded to the:
https://git.linaro.org/people/dmitry.baryshkov/kernel.git msm-mdss-yaml

Logs:

#1 mdss.yaml using compatible enum for dsi-phy:
  "^dsi-phy@[1-9a-f][0-9a-f]*$":
type: object
properties:
  compatible:
enum:
  - qcom,dsi-phy-14nm
  - qcom,dsi-phy-14nm-660
  - qcom,dsi-phy-20nm
  - qcom,dsi-phy-28nm-hpm
  - qcom,dsi-phy-28nm-lp

make: Entering directory '/home/lumag/Projects/Qcomm/build-64'
/home/lumag/Projects/Qcomm/kernel/arch/arm64/Makefile:36: Detected
assembler with broken .inst; disassembly will be unreliable
  UPD include/config/kernel.release
  LINTDocumentation/devicetree/bindings
  CHKDT   Documentation/devicetree/bindings/processed-schema.json
  SCHEMA  Documentation/devicetree/bindings/processed-schema.json
/home/lumag/Projects/Qcomm/kernel/Documentation/devicetree/bindings/regulator/qcom,spmi-regulator.yaml:
ignoring, error in schema: patternProperties:
^(5vs[1-2]|(l|s)[1-9][0-9]?|lvs[1-3])$: properties
  DTC/CHECK   arch/arm64/boot/dts/qcom/sda660-inforce-ifc6560.dtb
/home/lumag/Projects/Qcomm/build-64/arch/arm64/boot/dts/qcom/sda660-inforce-ifc6560.dtb:
gpu@500: clock-names:4: 'anyOf' conditional failed, one must be
fixed:
'core' was expected
'iface' was expected
'mem' was expected
'mem_iface' was expected
'alt_mem_iface' was expected
'gfx3d' was expected
'rbbmtimer' was expected
>From schema: 
>/home/lumag/Projects/Qcomm/kernel/Documentation/devicetree/bindings/display/msm/gpu.yaml
make: Leaving directory '/home/lumag/Projects/Qcomm/build-64'


#2 mdss.yaml having dsi-phy rewritten to $ref:
  "^dsi-phy@[1-9a-f][0-9a-f]*$":
type: object
oneOf:
  - $ref: dsi-phy-14nm.yaml
  - $ref: dsi-phy-20nm.yaml
  - $ref: dsi-phy-28nm.yaml

make: Entering directory '/home/lumag/Projects/Qcomm/build-64'
/home/lumag/Projects/Qcomm/kernel/arch/arm64/Makefile:36: Detected
assembler with broken .inst; disassembly will be unreliable
  LINTDocumentation/devicetree/bindings
  CHKDT   Documentation/devicetree/bindings/processed-schema.json
  SCHEMA  Documentation/devicetree/bindings/processed-schema.json
/home/lumag/Projects/Qcomm/kernel/Documentation/devicetree/bindings/regulator/qcom,spmi-regulator.yaml:
ignoring, error in schema: patternProperties:
^(5vs[1-2]|(l|s)[1-9][0-9]?|lvs[1-3])$: properties
  DTC/CHECK   arch/arm64/boot/dts/qcom/sda660-inforce-ifc6560.dtb
/home/lumag/Projects/Qcomm/build-64/arch/arm64/boot/dts/qcom/sda660-inforce-ifc6560.dtb:
gpu@500: clock-names:4: 'anyOf' conditional failed, one must be
fixed:
'core' was expected
'iface' was expected
'mem' was expected
'mem_iface' was expected
'alt_mem_iface' was expected
'gfx3d' was expected
'rbbmtimer' was expected
>From schema: 
>/home/lumag/Projects/Qcomm/kernel/Documentation/devicetree/bindings/display/msm/gpu.yaml
/home/lumag/Projects/Qcomm/build-64/arch/arm64/boot/dts/qcom/sda660-inforce-ifc6560.dtb:
mdss@c90: dsi-phy@c996400: 'oneOf' conditional failed, one must be
fixed:
'vcca-supply' is a required property
'vddio-supply' is a required property
Unevaluated properties are not allowed ('compatible', 'reg-names' were
unexpected)
'qcom,dsi-phy-20nm' was expected
'qcom,dsi-phy-14nm-660' is not one of

Re: [Freedreno] [PATCH v6 01/12] dt-bindings: display/msm: split qcom, mdss bindings

2022-09-11 Thread Krzysztof Kozlowski
On 11/09/2022 15:45, Dmitry Baryshkov wrote:
> On Sun, 11 Sept 2022 at 14:27, Krzysztof Kozlowski
>  wrote:
>>
>> On 10/09/2022 14:54, Dmitry Baryshkov wrote:

 However I think there is no such problem, as Dmitry said, that ref
 changes anything. There will be always failure - either from parent
 schema (using $ref) or from device child schema (the one which actually
 misses the property).
>>>
>>> Initially I stumbled upon this issue with the dsi and dsi_phy nodes
>>> for msm8996 devices. If I have $ref here, dsi1/dsi1_phy nodes will
>>> emit warnings regarding the missing -supply properties despite nodes
>>> being disabled. If I use `compatible' here, the schema checks pass.
>>> Thus I'd prefer to leave `compatible' here. Not to mention that it
>>> also allows specifying a tighter binding than just using the $ref.
>>
>> I don't think we understood each other. I claim that error will be there
>> anyway, just from different schema. So your change fixes nothing in
>> total schema check...
> 
> If the node is disabled, there will be no different schema check.

As I wrote before, there was.

Best regards,
Krzysztof


Re: [Freedreno] [PATCH v6 01/12] dt-bindings: display/msm: split qcom, mdss bindings

2022-09-11 Thread Dmitry Baryshkov
On Sun, 11 Sept 2022 at 14:27, Krzysztof Kozlowski
 wrote:
>
> On 10/09/2022 14:54, Dmitry Baryshkov wrote:
> >>
> >> However I think there is no such problem, as Dmitry said, that ref
> >> changes anything. There will be always failure - either from parent
> >> schema (using $ref) or from device child schema (the one which actually
> >> misses the property).
> >
> > Initially I stumbled upon this issue with the dsi and dsi_phy nodes
> > for msm8996 devices. If I have $ref here, dsi1/dsi1_phy nodes will
> > emit warnings regarding the missing -supply properties despite nodes
> > being disabled. If I use `compatible' here, the schema checks pass.
> > Thus I'd prefer to leave `compatible' here. Not to mention that it
> > also allows specifying a tighter binding than just using the $ref.
>
> I don't think we understood each other. I claim that error will be there
> anyway, just from different schema. So your change fixes nothing in
> total schema check...

If the node is disabled, there will be no different schema check.

-- 
With best wishes
Dmitry


Re: [Freedreno] [PATCH v6 01/12] dt-bindings: display/msm: split qcom, mdss bindings

2022-09-11 Thread Krzysztof Kozlowski
On 10/09/2022 14:54, Dmitry Baryshkov wrote:
>>
>> However I think there is no such problem, as Dmitry said, that ref
>> changes anything. There will be always failure - either from parent
>> schema (using $ref) or from device child schema (the one which actually
>> misses the property).
> 
> Initially I stumbled upon this issue with the dsi and dsi_phy nodes
> for msm8996 devices. If I have $ref here, dsi1/dsi1_phy nodes will
> emit warnings regarding the missing -supply properties despite nodes
> being disabled. If I use `compatible' here, the schema checks pass.
> Thus I'd prefer to leave `compatible' here. Not to mention that it
> also allows specifying a tighter binding than just using the $ref.

I don't think we understood each other. I claim that error will be there
anyway, just from different schema. So your change fixes nothing in
total schema check...


Best regards,
Krzysztof