Re: [Freedreno] [v4] drm/msm/disp/dpu1: add support for dspp sub block flush in sc7280
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
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
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
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
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
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
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
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
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