* [PATCH v2 0/5] Display enablement changes for Qualcomm SA8775P platform
@ 2024-09-26 11:01 Mahadevan
2024-09-26 11:01 ` [PATCH v2 1/5] dt-bindings: display/msm: Document MDSS on SA8775P Mahadevan
` (4 more replies)
0 siblings, 5 replies; 20+ messages in thread
From: Mahadevan @ 2024-09-26 11:01 UTC (permalink / raw)
To: robdclark, quic_abhinavk, dmitry.baryshkov, sean, marijn.suijten,
airlied, daniel, maarten.lankhorst, mripard, tzimmermann, robh,
krzk+dt, conor+dt, swboyd, konrad.dybcio, danila, bigfoot,
neil.armstrong, mailingradian, quic_jesszhan, andersson
Cc: Mahadevan, linux-arm-msm, dri-devel, freedreno, devicetree,
linux-kernel, quic_kalyant, quic_jmadiset, quic_vpolimer
This series introduces support to enable the Mobile Display Subsystem (MDSS)
and Display Processing Unit (DPU) for the Qualcomm SA8775P target. It
includes the addition of the hardware catalog, compatible string,
relevant device tree changes, and their YAML bindings.
---
In this series PATCH 5: "arm64: dts: qcom: sa8775p: add display dt nodes"
depends on the clock enablement change:
https://lore.kernel.org/all/20240816-sa8775p-mm-v3-v1-0-77d53c3c0cef@quicinc.com/
---
[v2]
- Updated cover letter subject and message. [Dmitry]
- Use fake DISPCC nodes to avoid clock dependencies in dt-bindings. [Dmitry]
- Update bindings by fixing dt_binding_check tool errors (update includes in example),
adding proper spacing and indentation in the binding example, droping unused labels,
droping status disable, adding reset node. [Dmitry, Rob, Krzysztof]
- Reorder compatible string of MDSS and DPU based on alphabetical order.[Dmitry]
- add reg_bus_bw in msm_mdss_data. [Dmitry]
- Fix indentation in the devicetree. [Dmitry]
---
Mahadevan (5):
dt-bindings: display/msm: Document MDSS on SA8775P
dt-bindings: display/msm: Document the DPU for SA8775P
drm/msm: mdss: Add SA8775P support
drm/msm/dpu: Add SA8775P support
arm64: dts: qcom: sa8775p: add display dt nodes
.../display/msm/qcom,sa8775p-dpu.yaml | 122 +++++
.../display/msm/qcom,sa8775p-mdss.yaml | 239 +++++++++
arch/arm64/boot/dts/qcom/sa8775p.dtsi | 87 ++++
.../msm/disp/dpu1/catalog/dpu_8_4_sa8775p.h | 485 ++++++++++++++++++
.../gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c | 3 +-
.../gpu/drm/msm/disp/dpu1/dpu_hw_catalog.h | 3 +-
drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c | 3 +-
drivers/gpu/drm/msm/msm_mdss.c | 11 +
8 files changed, 950 insertions(+), 3 deletions(-)
create mode 100644 Documentation/devicetree/bindings/display/msm/qcom,sa8775p-dpu.yaml
create mode 100644 Documentation/devicetree/bindings/display/msm/qcom,sa8775p-mdss.yaml
create mode 100644 drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_8_4_sa8775p.h
--
2.34.1
^ permalink raw reply [flat|nested] 20+ messages in thread
* [PATCH v2 1/5] dt-bindings: display/msm: Document MDSS on SA8775P
2024-09-26 11:01 [PATCH v2 0/5] Display enablement changes for Qualcomm SA8775P platform Mahadevan
@ 2024-09-26 11:01 ` Mahadevan
2024-09-26 12:59 ` Dmitry Baryshkov
` (3 more replies)
2024-09-26 11:01 ` [PATCH v2 2/5] dt-bindings: display/msm: Document the DPU for SA8775P Mahadevan
` (3 subsequent siblings)
4 siblings, 4 replies; 20+ messages in thread
From: Mahadevan @ 2024-09-26 11:01 UTC (permalink / raw)
To: robdclark, quic_abhinavk, dmitry.baryshkov, sean, marijn.suijten,
airlied, daniel, maarten.lankhorst, mripard, tzimmermann, robh,
krzk+dt, conor+dt, swboyd, konrad.dybcio, danila, bigfoot,
neil.armstrong, mailingradian, quic_jesszhan, andersson
Cc: Mahadevan, linux-arm-msm, dri-devel, freedreno, devicetree,
linux-kernel, quic_kalyant, quic_jmadiset, quic_vpolimer
Document the MDSS hardware found on the Qualcomm SA8775P platform.
Signed-off-by: Mahadevan <quic_mahap@quicinc.com>
---
[v2]
- Use fake DISPCC nodes to avoid clock dependencies in dt-bindings. [Dmitry]
- Update bindings by fixing dt_binding_check tool errors (update includes in example),
adding proper spacing and indentation in binding example, dropping unused labels,
dropping status disable, adding reset node. [Dmitry, Rob, Krzysztof]
---
.../display/msm/qcom,sa8775p-mdss.yaml | 239 ++++++++++++++++++
1 file changed, 239 insertions(+)
create mode 100644 Documentation/devicetree/bindings/display/msm/qcom,sa8775p-mdss.yaml
diff --git a/Documentation/devicetree/bindings/display/msm/qcom,sa8775p-mdss.yaml b/Documentation/devicetree/bindings/display/msm/qcom,sa8775p-mdss.yaml
new file mode 100644
index 000000000000..e610b66ffa9f
--- /dev/null
+++ b/Documentation/devicetree/bindings/display/msm/qcom,sa8775p-mdss.yaml
@@ -0,0 +1,239 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/display/msm/qcom,sa8775p-mdss.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Qualcomm Technologies, Inc. SA87755P Display MDSS
+
+maintainers:
+ - Mahadevan <quic_mahap@quicinc.com>
+
+description:
+ SA8775P MSM Mobile Display Subsystem(MDSS), which encapsulates sub-blocks like
+ DPU display controller, DP interfaces and EDP etc.
+
+$ref: /schemas/display/msm/mdss-common.yaml#
+
+properties:
+ compatible:
+ const: qcom,sa8775p-mdss
+
+ clocks:
+ items:
+ - description: Display AHB
+ - description: Display hf AXI
+ - description: Display core
+
+ iommus:
+ maxItems: 1
+
+ interconnects:
+ maxItems: 3
+
+ interconnect-names:
+ maxItems: 3
+
+patternProperties:
+ "^display-controller@[0-9a-f]+$":
+ type: object
+ properties:
+ compatible:
+ const: qcom,sa8775p-dpu
+
+ "^displayport-controller@[0-9a-f]+$":
+ type: object
+ properties:
+ compatible:
+ items:
+ - const: qcom,sa8775p-dp
+
+required:
+ - compatible
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/interconnect/qcom,icc.h>
+ #include <dt-bindings/interrupt-controller/arm-gic.h>
+ #include <dt-bindings/clock/qcom,sa8775p-gcc.h>
+ #include <dt-bindings/interconnect/qcom,sa8775p-rpmh.h>
+ #include <dt-bindings/power/qcom,rpmhpd.h>
+ #include <dt-bindings/power/qcom-rpmpd.h>
+
+ display-subsystem@ae00000 {
+ compatible = "qcom,sa8775p-mdss";
+ reg = <0 0x0ae00000 0 0x1000>;
+ reg-names = "mdss";
+
+ /* same path used twice */
+ interconnects = <&mmss_noc MASTER_MDP0 0 &mc_virt SLAVE_EBI1 0>,
+ <&mmss_noc MASTER_MDP1 0 &mc_virt SLAVE_EBI1 0>,
+ <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ACTIVE_ONLY
+ &config_noc SLAVE_DISPLAY_CFG QCOM_ICC_TAG_ACTIVE_ONLY>;
+ interconnect-names = "mdp0-mem",
+ "mdp1-mem",
+ "cpu-cfg";
+
+
+ resets = <&dispcc_core_bcr>;
+ power-domains = <&dispcc_gdsc>;
+
+ clocks = <&dispcc_ahb_clk>,
+ <&gcc GCC_DISP_HF_AXI_CLK>,
+ <&dispcc_mdp_clk>;
+
+ interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-controller;
+ #interrupt-cells = <1>;
+
+ iommus = <&apps_smmu 0x1000 0x402>;
+
+ #address-cells = <2>;
+ #size-cells = <2>;
+ ranges;
+
+ display-controller@ae01000 {
+ compatible = "qcom,sa8775p-dpu";
+ reg = <0 0x0ae01000 0 0x8f000>,
+ <0 0x0aeb0000 0 0x2008>;
+ reg-names = "mdp", "vbif";
+
+ clocks = <&gcc GCC_DISP_HF_AXI_CLK>,
+ <&dispcc_ahb_clk>,
+ <&dispcc_mdp_lut_clk>,
+ <&dispcc_mdp_clk>,
+ <&dispcc_mdp_vsync_clk>;
+ clock-names = "bus",
+ "iface",
+ "lut",
+ "core",
+ "vsync";
+
+ assigned-clocks = <&dispcc_mdp_vsync_clk>;
+ assigned-clock-rates = <19200000>;
+
+ operating-points-v2 = <&mdss0_mdp_opp_table>;
+ power-domains = <&rpmhpd RPMHPD_MMCX>;
+
+ interrupt-parent = <&mdss0>;
+ interrupts = <0>;
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+ dpu_intf0_out: endpoint {
+ remote-endpoint = <&mdss0_dp0_in>;
+ };
+ };
+ };
+
+ mdss0_mdp_opp_table: opp-table {
+ compatible = "operating-points-v2";
+
+ opp-375000000 {
+ opp-hz = /bits/ 64 <375000000>;
+ required-opps = <&rpmhpd_opp_svs_l1>;
+ };
+
+ opp-500000000 {
+ opp-hz = /bits/ 64 <500000000>;
+ required-opps = <&rpmhpd_opp_nom>;
+ };
+
+ opp-575000000 {
+ opp-hz = /bits/ 64 <575000000>;
+ required-opps = <&rpmhpd_opp_turbo>;
+ };
+
+ opp-650000000 {
+ opp-hz = /bits/ 64 <650000000>;
+ required-opps = <&rpmhpd_opp_turbo_l1>;
+ };
+ };
+ };
+
+ displayport-controller@af54000 {
+ compatible = "qcom,sa8775p-dp";
+
+ pinctrl-0 = <&dp_hot_plug_det>;
+ pinctrl-names = "default";
+
+ reg = <0 0xaf54000 0 0x104>,
+ <0 0xaf54200 0 0x0c0>,
+ <0 0xaf55000 0 0x770>,
+ <0 0xaf56000 0 0x09c>;
+
+ interrupt-parent = <&mdss0>;
+ interrupts = <12>;
+
+ clocks = <&dispcc_mdss_ahb_clk>,
+ <&dispcc_dptx0_aux_clk>,
+ <&dispcc_dptx0_link_clk>,
+ <&dispcc_dptx0_link_intf_clk>,
+ <&dispcc_dptx0_pixel0_clk>;
+ clock-names = "core_iface",
+ "core_aux",
+ "ctrl_link",
+ "ctrl_link_iface",
+ "stream_pixel";
+
+ assigned-clocks = <&dispcc_mdss_dptx0_link_clk_src>,
+ <&dispcc_mdss_dptx0_pixel0_clk_src>;
+ assigned-clock-parents = <&mdss0_edp_phy 0>, <&mdss0_edp_phy 1>;
+
+ phys = <&mdss0_edp_phy>;
+ phy-names = "dp";
+
+ operating-points-v2 = <&dp_opp_table>;
+ power-domains = <&rpmhpd SA8775P_MMCX>;
+
+ #sound-dai-cells = <0>;
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+ mdss0_dp0_in: endpoint {
+ remote-endpoint = <&dpu_intf0_out>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+ mdss0_dp_out: endpoint { };
+ };
+ };
+
+ dp_opp_table: opp-table {
+ compatible = "operating-points-v2";
+
+ opp-160000000 {
+ opp-hz = /bits/ 64 <160000000>;
+ required-opps = <&rpmhpd_opp_low_svs>;
+ };
+
+ opp-270000000 {
+ opp-hz = /bits/ 64 <270000000>;
+ required-opps = <&rpmhpd_opp_svs>;
+ };
+
+ opp-540000000 {
+ opp-hz = /bits/ 64 <540000000>;
+ required-opps = <&rpmhpd_opp_svs_l1>;
+ };
+
+ opp-810000000 {
+ opp-hz = /bits/ 64 <810000000>;
+ required-opps = <&rpmhpd_opp_nom>;
+ };
+ };
+ };
+ };
+...
--
2.34.1
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [PATCH v2 2/5] dt-bindings: display/msm: Document the DPU for SA8775P
2024-09-26 11:01 [PATCH v2 0/5] Display enablement changes for Qualcomm SA8775P platform Mahadevan
2024-09-26 11:01 ` [PATCH v2 1/5] dt-bindings: display/msm: Document MDSS on SA8775P Mahadevan
@ 2024-09-26 11:01 ` Mahadevan
2024-09-26 13:00 ` Dmitry Baryshkov
` (2 more replies)
2024-09-26 11:01 ` [PATCH v2 3/5] drm/msm: mdss: Add SA8775P support Mahadevan
` (2 subsequent siblings)
4 siblings, 3 replies; 20+ messages in thread
From: Mahadevan @ 2024-09-26 11:01 UTC (permalink / raw)
To: robdclark, quic_abhinavk, dmitry.baryshkov, sean, marijn.suijten,
airlied, daniel, maarten.lankhorst, mripard, tzimmermann, robh,
krzk+dt, conor+dt, swboyd, konrad.dybcio, danila, bigfoot,
neil.armstrong, mailingradian, quic_jesszhan, andersson
Cc: Mahadevan, linux-arm-msm, dri-devel, freedreno, devicetree,
linux-kernel, quic_kalyant, quic_jmadiset, quic_vpolimer
Document the DPU for Qualcomm SA8775P platform.
Signed-off-by: Mahadevan <quic_mahap@quicinc.com>
---
[v2]
- Use fake DISPCC nodes to avoid clock dependencies in dt-bindings. [Dmitry]
- Update bindings by fixing dt_binding_check tool errors (update includes in example),
adding proper spacing and indentation in binding example. [Dmitry, Rob]
- Capitalize clock names in description. [Dmitry]
---
.../display/msm/qcom,sa8775p-dpu.yaml | 122 ++++++++++++++++++
1 file changed, 122 insertions(+)
create mode 100644 Documentation/devicetree/bindings/display/msm/qcom,sa8775p-dpu.yaml
diff --git a/Documentation/devicetree/bindings/display/msm/qcom,sa8775p-dpu.yaml b/Documentation/devicetree/bindings/display/msm/qcom,sa8775p-dpu.yaml
new file mode 100644
index 000000000000..435e4c028bb8
--- /dev/null
+++ b/Documentation/devicetree/bindings/display/msm/qcom,sa8775p-dpu.yaml
@@ -0,0 +1,122 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/display/msm/qcom,sa8775p-dpu.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Qualcomm Technologies, Inc. SA8775P Display DPU
+
+maintainers:
+ - Mahadevan <quic_mahap@quicinc.com>
+
+$ref: /schemas/display/msm/dpu-common.yaml#
+
+properties:
+ compatible:
+ const: qcom,sa8775p-dpu
+
+ reg:
+ items:
+ - description: Address offset and size for mdp register set
+ - description: Address offset and size for vbif register set
+
+ reg-names:
+ items:
+ - const: mdp
+ - const: vbif
+
+ clocks:
+ items:
+ - description: Display hf AXI
+ - description: Display AHB
+ - description: Display lut
+ - description: Display core
+ - description: Display vsync
+
+ clock-names:
+ items:
+ - const: bus
+ - const: iface
+ - const: lut
+ - const: core
+ - const: vsync
+
+required:
+ - compatible
+ - reg
+ - reg-names
+ - clocks
+ - clock-names
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/clock/qcom,sa8775p-gcc.h>
+ #include <dt-bindings/interrupt-controller/arm-gic.h>
+ #include <dt-bindings/interconnect/qcom,sa8775p-rpmh.h>
+ #include <dt-bindings/power/qcom,rpmhpd.h>
+
+ display-controller@ae01000 {
+ compatible = "qcom,sa8775p-dpu";
+ reg = <0 0x0ae01000 0 0x8f000>,
+ <0 0x0aeb0000 0 0x2008>;
+ reg-names = "mdp", "vbif";
+
+ clocks = <&gcc GCC_DISP_HF_AXI_CLK>,
+ <&dispcc_ahb_clk>,
+ <&dispcc_mdp_lut_clk>,
+ <&dispcc_mdp_clk>,
+ <&dispcc_vsync_clk>;
+ clock-names = "bus",
+ "iface",
+ "lut",
+ "core",
+ "vsync";
+
+ assigned-clocks = <&dispcc_vsync_clk>;
+ assigned-clock-rates = <19200000>;
+
+ operating-points-v2 = <&mdss0_mdp_opp_table>;
+ power-domains = <&rpmhpd RPMHPD_MMCX>;
+
+ interrupt-parent = <&mdss0>;
+ interrupts = <0>;
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+ dpu_intf0_out: endpoint {
+ remote-endpoint = <&mdss0_dp0_in>;
+ };
+ };
+ };
+
+ mdss0_mdp_opp_table: opp-table {
+ compatible = "operating-points-v2";
+
+ opp-375000000 {
+ opp-hz = /bits/ 64 <375000000>;
+ required-opps = <&rpmhpd_opp_svs_l1>;
+ };
+
+ opp-500000000 {
+ opp-hz = /bits/ 64 <500000000>;
+ required-opps = <&rpmhpd_opp_nom>;
+ };
+
+ opp-575000000 {
+ opp-hz = /bits/ 64 <575000000>;
+ required-opps = <&rpmhpd_opp_turbo>;
+ };
+
+ opp-650000000 {
+ opp-hz = /bits/ 64 <650000000>;
+ required-opps = <&rpmhpd_opp_turbo_l1>;
+ };
+ };
+ };
+...
--
2.34.1
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [PATCH v2 3/5] drm/msm: mdss: Add SA8775P support
2024-09-26 11:01 [PATCH v2 0/5] Display enablement changes for Qualcomm SA8775P platform Mahadevan
2024-09-26 11:01 ` [PATCH v2 1/5] dt-bindings: display/msm: Document MDSS on SA8775P Mahadevan
2024-09-26 11:01 ` [PATCH v2 2/5] dt-bindings: display/msm: Document the DPU for SA8775P Mahadevan
@ 2024-09-26 11:01 ` Mahadevan
2024-09-26 13:02 ` Dmitry Baryshkov
2024-09-26 11:01 ` [PATCH v2 4/5] drm/msm/dpu: " Mahadevan
2024-09-26 11:01 ` [PATCH v2 5/5] arm64: dts: qcom: sa8775p: add display dt nodes Mahadevan
4 siblings, 1 reply; 20+ messages in thread
From: Mahadevan @ 2024-09-26 11:01 UTC (permalink / raw)
To: robdclark, quic_abhinavk, dmitry.baryshkov, sean, marijn.suijten,
airlied, daniel, maarten.lankhorst, mripard, tzimmermann, robh,
krzk+dt, conor+dt, swboyd, konrad.dybcio, danila, bigfoot,
neil.armstrong, mailingradian, quic_jesszhan, andersson
Cc: Mahadevan, linux-arm-msm, dri-devel, freedreno, devicetree,
linux-kernel, quic_kalyant, quic_jmadiset, quic_vpolimer
Add Mobile Display Subsystem (MDSS) support for the SA8775P platform.
Signed-off-by: Mahadevan <quic_mahap@quicinc.com>
---
[v2]
- Update commit message. [Dmitry]
- Reorder compatible string of MDSS based on alphabetical order. [Dmitry]
- add reg_bus_bw in msm_mdss_data. [Dmitry]
---
drivers/gpu/drm/msm/msm_mdss.c | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/drivers/gpu/drm/msm/msm_mdss.c b/drivers/gpu/drm/msm/msm_mdss.c
index faa88fd6eb4d..8f1d42a43bd0 100644
--- a/drivers/gpu/drm/msm/msm_mdss.c
+++ b/drivers/gpu/drm/msm/msm_mdss.c
@@ -573,6 +573,16 @@ static const struct msm_mdss_data qcm2290_data = {
.reg_bus_bw = 76800,
};
+static const struct msm_mdss_data sa8775p_data = {
+ .ubwc_enc_version = UBWC_4_0,
+ .ubwc_dec_version = UBWC_4_0,
+ .ubwc_swizzle = 4,
+ .ubwc_static = 1,
+ .highest_bank_bit = 0,
+ .macrotile_mode = 1,
+ .reg_bus_bw = 74000,
+};
+
static const struct msm_mdss_data sc7180_data = {
.ubwc_enc_version = UBWC_2_0,
.ubwc_dec_version = UBWC_2_0,
@@ -710,6 +720,7 @@ static const struct of_device_id mdss_dt_match[] = {
{ .compatible = "qcom,mdss" },
{ .compatible = "qcom,msm8998-mdss", .data = &msm8998_data },
{ .compatible = "qcom,qcm2290-mdss", .data = &qcm2290_data },
+ { .compatible = "qcom,sa8775p-mdss", .data = &sa8775p_data },
{ .compatible = "qcom,sdm670-mdss", .data = &sdm670_data },
{ .compatible = "qcom,sdm845-mdss", .data = &sdm845_data },
{ .compatible = "qcom,sc7180-mdss", .data = &sc7180_data },
--
2.34.1
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [PATCH v2 4/5] drm/msm/dpu: Add SA8775P support
2024-09-26 11:01 [PATCH v2 0/5] Display enablement changes for Qualcomm SA8775P platform Mahadevan
` (2 preceding siblings ...)
2024-09-26 11:01 ` [PATCH v2 3/5] drm/msm: mdss: Add SA8775P support Mahadevan
@ 2024-09-26 11:01 ` Mahadevan
2024-09-26 13:09 ` Dmitry Baryshkov
2024-09-26 11:01 ` [PATCH v2 5/5] arm64: dts: qcom: sa8775p: add display dt nodes Mahadevan
4 siblings, 1 reply; 20+ messages in thread
From: Mahadevan @ 2024-09-26 11:01 UTC (permalink / raw)
To: robdclark, quic_abhinavk, dmitry.baryshkov, sean, marijn.suijten,
airlied, daniel, maarten.lankhorst, mripard, tzimmermann, robh,
krzk+dt, conor+dt, swboyd, konrad.dybcio, danila, bigfoot,
neil.armstrong, mailingradian, quic_jesszhan, andersson
Cc: Mahadevan, linux-arm-msm, dri-devel, freedreno, devicetree,
linux-kernel, quic_kalyant, quic_jmadiset, quic_vpolimer
Add definitions for the display hardware used on the
Qualcomm SA8775P platform.
Signed-off-by: Mahadevan <quic_mahap@quicinc.com>
---
[v2]
- Reorder compatible string of DPU based on alphabetical order.[Dmitry]
---
.../msm/disp/dpu1/catalog/dpu_8_4_sa8775p.h | 485 ++++++++++++++++++
.../gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c | 3 +-
.../gpu/drm/msm/disp/dpu1/dpu_hw_catalog.h | 3 +-
drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c | 3 +-
4 files changed, 491 insertions(+), 3 deletions(-)
create mode 100644 drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_8_4_sa8775p.h
diff --git a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_8_4_sa8775p.h b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_8_4_sa8775p.h
new file mode 100644
index 000000000000..14d65b5d4093
--- /dev/null
+++ b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_8_4_sa8775p.h
@@ -0,0 +1,485 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved.
+ * Copyright (c) 2015-2018, 2020 The Linux Foundation. All rights reserved.
+ */
+
+#ifndef _DPU_8_4_SA8775P_H
+#define _DPU_8_4_SA8775P_H
+
+static const struct dpu_caps sa8775p_dpu_caps = {
+ .max_mixer_width = DEFAULT_DPU_OUTPUT_LINE_WIDTH,
+ .max_mixer_blendstages = 0xb,
+ .has_src_split = true,
+ .has_dim_layer = true,
+ .has_idle_pc = true,
+ .has_3d_merge = true,
+ .max_linewidth = 5120,
+ .pixel_ram_size = DEFAULT_PIXEL_RAM_SIZE,
+};
+
+static const struct dpu_mdp_cfg sa8775p_mdp = {
+ .name = "top_0",
+ .base = 0x0, .len = 0x494,
+ .features = BIT(DPU_MDP_PERIPH_0_REMOVED),
+ .clk_ctrls = {
+ [DPU_CLK_CTRL_VIG0] = { .reg_off = 0x2ac, .bit_off = 0 },
+ [DPU_CLK_CTRL_VIG1] = { .reg_off = 0x2b4, .bit_off = 0 },
+ [DPU_CLK_CTRL_VIG2] = { .reg_off = 0x2bc, .bit_off = 0 },
+ [DPU_CLK_CTRL_VIG3] = { .reg_off = 0x2c4, .bit_off = 0 },
+ [DPU_CLK_CTRL_DMA0] = { .reg_off = 0x2ac, .bit_off = 8 },
+ [DPU_CLK_CTRL_DMA1] = { .reg_off = 0x2b4, .bit_off = 8 },
+ [DPU_CLK_CTRL_DMA2] = { .reg_off = 0x2bc, .bit_off = 8 },
+ [DPU_CLK_CTRL_DMA3] = { .reg_off = 0x2c4, .bit_off = 8 },
+ [DPU_CLK_CTRL_WB2] = { .reg_off = 0x2bc, .bit_off = 16 },
+ [DPU_CLK_CTRL_REG_DMA] = { .reg_off = 0x2bc, .bit_off = 20 },
+ },
+};
+
+/* FIXME: get rid of DPU_CTL_SPLIT_DISPLAY in favour of proper ACTIVE_CTL support */
+static const struct dpu_ctl_cfg sa8775p_ctl[] = {
+ {
+ .name = "ctl_0", .id = CTL_0,
+ .base = 0x15000, .len = 0x204,
+ .features = BIT(DPU_CTL_SPLIT_DISPLAY) | CTL_SC7280_MASK,
+ .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 9),
+ }, {
+ .name = "ctl_1", .id = CTL_1,
+ .base = 0x16000, .len = 0x204,
+ .features = BIT(DPU_CTL_SPLIT_DISPLAY) | CTL_SC7280_MASK,
+ .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 10),
+ }, {
+ .name = "ctl_2", .id = CTL_2,
+ .base = 0x17000, .len = 0x204,
+ .features = CTL_SC7280_MASK,
+ .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 11),
+ }, {
+ .name = "ctl_3", .id = CTL_3,
+ .base = 0x18000, .len = 0x204,
+ .features = CTL_SC7280_MASK,
+ .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 12),
+ }, {
+ .name = "ctl_4", .id = CTL_4,
+ .base = 0x19000, .len = 0x204,
+ .features = CTL_SC7280_MASK,
+ .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 13),
+ }, {
+ .name = "ctl_5", .id = CTL_5,
+ .base = 0x1a000, .len = 0x204,
+ .features = CTL_SC7280_MASK,
+ .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 23),
+ },
+};
+
+static const struct dpu_sspp_cfg sa8775p_sspp[] = {
+ {
+ .name = "sspp_0", .id = SSPP_VIG0,
+ .base = 0x4000, .len = 0x32c,
+ .features = VIG_SDM845_MASK_SDMA,
+ .sblk = &dpu_vig_sblk_qseed3_3_1,
+ .xin_id = 0,
+ .type = SSPP_TYPE_VIG,
+ .clk_ctrl = DPU_CLK_CTRL_VIG0,
+ }, {
+ .name = "sspp_1", .id = SSPP_VIG1,
+ .base = 0x6000, .len = 0x32c,
+ .features = VIG_SDM845_MASK_SDMA,
+ .sblk = &dpu_vig_sblk_qseed3_3_1,
+ .xin_id = 4,
+ .type = SSPP_TYPE_VIG,
+ .clk_ctrl = DPU_CLK_CTRL_VIG1,
+ }, {
+ .name = "sspp_2", .id = SSPP_VIG2,
+ .base = 0x8000, .len = 0x32c,
+ .features = VIG_SDM845_MASK_SDMA,
+ .sblk = &dpu_vig_sblk_qseed3_3_1,
+ .xin_id = 8,
+ .type = SSPP_TYPE_VIG,
+ .clk_ctrl = DPU_CLK_CTRL_VIG2,
+ }, {
+ .name = "sspp_3", .id = SSPP_VIG3,
+ .base = 0xa000, .len = 0x32c,
+ .features = VIG_SDM845_MASK_SDMA,
+ .sblk = &dpu_vig_sblk_qseed3_3_1,
+ .xin_id = 12,
+ .type = SSPP_TYPE_VIG,
+ .clk_ctrl = DPU_CLK_CTRL_VIG3,
+ }, {
+ .name = "sspp_8", .id = SSPP_DMA0,
+ .base = 0x24000, .len = 0x32c,
+ .features = DMA_SDM845_MASK_SDMA,
+ .sblk = &dpu_dma_sblk,
+ .xin_id = 1,
+ .type = SSPP_TYPE_DMA,
+ .clk_ctrl = DPU_CLK_CTRL_DMA0,
+ }, {
+ .name = "sspp_9", .id = SSPP_DMA1,
+ .base = 0x26000, .len = 0x32c,
+ .features = DMA_SDM845_MASK_SDMA,
+ .sblk = &dpu_dma_sblk,
+ .xin_id = 5,
+ .type = SSPP_TYPE_DMA,
+ .clk_ctrl = DPU_CLK_CTRL_DMA1,
+ }, {
+ .name = "sspp_10", .id = SSPP_DMA2,
+ .base = 0x28000, .len = 0x32c,
+ .features = DMA_CURSOR_SDM845_MASK_SDMA,
+ .sblk = &dpu_dma_sblk,
+ .xin_id = 9,
+ .type = SSPP_TYPE_DMA,
+ .clk_ctrl = DPU_CLK_CTRL_DMA2,
+ }, {
+ .name = "sspp_11", .id = SSPP_DMA3,
+ .base = 0x2a000, .len = 0x32c,
+ .features = DMA_CURSOR_SDM845_MASK_SDMA,
+ .sblk = &dpu_dma_sblk,
+ .xin_id = 13,
+ .type = SSPP_TYPE_DMA,
+ .clk_ctrl = DPU_CLK_CTRL_DMA3,
+ },
+};
+
+static const struct dpu_lm_cfg sa8775p_lm[] = {
+ {
+ .name = "lm_0", .id = LM_0,
+ .base = 0x44000, .len = 0x400,
+ .features = MIXER_SDM845_MASK,
+ .sblk = &sdm845_lm_sblk,
+ .lm_pair = LM_1,
+ .pingpong = PINGPONG_0,
+ .dspp = DSPP_0,
+ }, {
+ .name = "lm_1", .id = LM_1,
+ .base = 0x45000, .len = 0x400,
+ .features = MIXER_SDM845_MASK,
+ .sblk = &sdm845_lm_sblk,
+ .lm_pair = LM_0,
+ .pingpong = PINGPONG_1,
+ .dspp = DSPP_1,
+ }, {
+ .name = "lm_2", .id = LM_2,
+ .base = 0x46000, .len = 0x400,
+ .features = MIXER_SDM845_MASK,
+ .sblk = &sdm845_lm_sblk,
+ .lm_pair = LM_3,
+ .pingpong = PINGPONG_2,
+ .dspp = DSPP_2,
+ }, {
+ .name = "lm_3", .id = LM_3,
+ .base = 0x47000, .len = 0x400,
+ .features = MIXER_SDM845_MASK,
+ .sblk = &sdm845_lm_sblk,
+ .lm_pair = LM_2,
+ .pingpong = PINGPONG_3,
+ .dspp = DSPP_3,
+ }, {
+ .name = "lm_4", .id = LM_4,
+ .base = 0x48000, .len = 0x400,
+ .features = MIXER_SDM845_MASK,
+ .sblk = &sdm845_lm_sblk,
+ .lm_pair = LM_5,
+ .pingpong = PINGPONG_4,
+ }, {
+ .name = "lm_5", .id = LM_5,
+ .base = 0x49000, .len = 0x400,
+ .features = MIXER_SDM845_MASK,
+ .sblk = &sdm845_lm_sblk,
+ .lm_pair = LM_4,
+ .pingpong = PINGPONG_5,
+ },
+};
+
+static const struct dpu_dspp_cfg sa8775p_dspp[] = {
+ {
+ .name = "dspp_0", .id = DSPP_0,
+ .base = 0x54000, .len = 0x1800,
+ .features = DSPP_SC7180_MASK,
+ .sblk = &sdm845_dspp_sblk,
+ }, {
+ .name = "dspp_1", .id = DSPP_1,
+ .base = 0x56000, .len = 0x1800,
+ .features = DSPP_SC7180_MASK,
+ .sblk = &sdm845_dspp_sblk,
+ }, {
+ .name = "dspp_2", .id = DSPP_2,
+ .base = 0x58000, .len = 0x1800,
+ .features = DSPP_SC7180_MASK,
+ .sblk = &sdm845_dspp_sblk,
+ }, {
+ .name = "dspp_3", .id = DSPP_3,
+ .base = 0x5a000, .len = 0x1800,
+ .features = DSPP_SC7180_MASK,
+ .sblk = &sdm845_dspp_sblk,
+ },
+};
+
+static const struct dpu_pingpong_cfg sa8775p_pp[] = {
+ {
+ .name = "pingpong_0", .id = PINGPONG_0,
+ .base = 0x69000, .len = 0,
+ .features = BIT(DPU_PINGPONG_DITHER),
+ .sblk = &sc7280_pp_sblk,
+ .merge_3d = MERGE_3D_0,
+ .intr_done = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 8),
+ }, {
+ .name = "pingpong_1", .id = PINGPONG_1,
+ .base = 0x6a000, .len = 0,
+ .features = BIT(DPU_PINGPONG_DITHER),
+ .sblk = &sc7280_pp_sblk,
+ .merge_3d = MERGE_3D_0,
+ .intr_done = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 9),
+ }, {
+ .name = "pingpong_2", .id = PINGPONG_2,
+ .base = 0x6b000, .len = 0,
+ .features = BIT(DPU_PINGPONG_DITHER),
+ .sblk = &sc7280_pp_sblk,
+ .merge_3d = MERGE_3D_1,
+ .intr_done = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 10),
+ }, {
+ .name = "pingpong_3", .id = PINGPONG_3,
+ .base = 0x6c000, .len = 0,
+ .features = BIT(DPU_PINGPONG_DITHER),
+ .sblk = &sc7280_pp_sblk,
+ .merge_3d = MERGE_3D_1,
+ .intr_done = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 11),
+ }, {
+ .name = "pingpong_4", .id = PINGPONG_4,
+ .base = 0x6d000, .len = 0,
+ .features = BIT(DPU_PINGPONG_DITHER),
+ .sblk = &sc7280_pp_sblk,
+ .merge_3d = MERGE_3D_2,
+ .intr_done = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 30),
+ }, {
+ .name = "pingpong_5", .id = PINGPONG_5,
+ .base = 0x6e000, .len = 0,
+ .features = BIT(DPU_PINGPONG_DITHER),
+ .sblk = &sc7280_pp_sblk,
+ .merge_3d = MERGE_3D_2,
+ .intr_done = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 31),
+ }, {
+ .name = "pingpong_6", .id = PINGPONG_6,
+ .base = 0x65800, .len = 0,
+ .features = BIT(DPU_PINGPONG_DITHER),
+ .sblk = &sc7280_pp_sblk,
+ .merge_3d = MERGE_3D_3,
+ }, {
+ .name = "pingpong_7", .id = PINGPONG_7,
+ .base = 0x65c00, .len = 0,
+ .features = BIT(DPU_PINGPONG_DITHER),
+ .sblk = &sc7280_pp_sblk,
+ .merge_3d = MERGE_3D_3,
+ },
+};
+
+static const struct dpu_merge_3d_cfg sa8775p_merge_3d[] = {
+ {
+ .name = "merge_3d_0", .id = MERGE_3D_0,
+ .base = 0x4e000, .len = 0x8,
+ }, {
+ .name = "merge_3d_1", .id = MERGE_3D_1,
+ .base = 0x4f000, .len = 0x8,
+ }, {
+ .name = "merge_3d_2", .id = MERGE_3D_2,
+ .base = 0x50000, .len = 0x8,
+ }, {
+ .name = "merge_3d_3", .id = MERGE_3D_3,
+ .base = 0x65f00, .len = 0x8,
+ },
+};
+
+/*
+ * NOTE: Each display compression engine (DCE) contains dual hard
+ * slice DSC encoders so both share same base address but with
+ * its own different sub block address.
+ */
+static const struct dpu_dsc_cfg sa8775p_dsc[] = {
+ {
+ .name = "dce_0_0", .id = DSC_0,
+ .base = 0x80000, .len = 0x4,
+ .features = BIT(DPU_DSC_HW_REV_1_2),
+ .sblk = &dsc_sblk_0,
+ }, {
+ .name = "dce_0_1", .id = DSC_1,
+ .base = 0x80000, .len = 0x4,
+ .features = BIT(DPU_DSC_HW_REV_1_2),
+ .sblk = &dsc_sblk_1,
+ }, {
+ .name = "dce_1_0", .id = DSC_2,
+ .base = 0x81000, .len = 0x4,
+ .features = BIT(DPU_DSC_HW_REV_1_2) | BIT(DPU_DSC_NATIVE_42x_EN),
+ .sblk = &dsc_sblk_0,
+ }, {
+ .name = "dce_1_1", .id = DSC_3,
+ .base = 0x81000, .len = 0x4,
+ .features = BIT(DPU_DSC_HW_REV_1_2) | BIT(DPU_DSC_NATIVE_42x_EN),
+ .sblk = &dsc_sblk_1,
+ }, {
+ .name = "dce_2_0", .id = DSC_4,
+ .base = 0x82000, .len = 0x4,
+ .features = BIT(DPU_DSC_HW_REV_1_2),
+ .sblk = &dsc_sblk_0,
+ }, {
+ .name = "dce_2_1", .id = DSC_5,
+ .base = 0x82000, .len = 0x4,
+ .features = BIT(DPU_DSC_HW_REV_1_2),
+ .sblk = &dsc_sblk_1,
+ },
+};
+
+static const struct dpu_wb_cfg sa8775p_wb[] = {
+ {
+ .name = "wb_2", .id = WB_2,
+ .base = 0x65000, .len = 0x2c8,
+ .features = WB_SM8250_MASK,
+ .format_list = wb2_formats_rgb_yuv,
+ .num_formats = ARRAY_SIZE(wb2_formats_rgb_yuv),
+ .clk_ctrl = DPU_CLK_CTRL_WB2,
+ .xin_id = 6,
+ .vbif_idx = VBIF_RT,
+ .maxlinewidth = 4096,
+ .intr_wb_done = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 4),
+ },
+};
+/* TODO: INTF 3, 6, 7 and 8 are used for MST, marked as INTF_NONE for now */
+static const struct dpu_intf_cfg sa8775p_intf[] = {
+ {
+ .name = "intf_0", .id = INTF_0,
+ .base = 0x34000, .len = 0x280,
+ .features = INTF_SC7280_MASK,
+ .type = INTF_DP,
+ .controller_id = MSM_DP_CONTROLLER_0,
+ .prog_fetch_lines_worst_case = 24,
+ .intr_underrun = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 24),
+ .intr_vsync = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 25),
+ }, {
+ .name = "intf_1", .id = INTF_1,
+ .base = 0x35000, .len = 0x300,
+ .features = INTF_SC7280_MASK,
+ .type = INTF_DSI,
+ .controller_id = MSM_DSI_CONTROLLER_0,
+ .prog_fetch_lines_worst_case = 24,
+ .intr_underrun = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 26),
+ .intr_vsync = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 27),
+ .intr_tear_rd_ptr = DPU_IRQ_IDX(MDP_INTF1_TEAR_INTR, 2),
+ }, {
+ .name = "intf_2", .id = INTF_2,
+ .base = 0x36000, .len = 0x300,
+ .features = INTF_SC7280_MASK,
+ .type = INTF_DSI,
+ .controller_id = MSM_DSI_CONTROLLER_1,
+ .prog_fetch_lines_worst_case = 24,
+ .intr_underrun = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 28),
+ .intr_vsync = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 29),
+ .intr_tear_rd_ptr = DPU_IRQ_IDX(MDP_INTF2_TEAR_INTR, 2),
+ }, {
+ .name = "intf_3", .id = INTF_3,
+ .base = 0x37000, .len = 0x280,
+ .features = INTF_SC7280_MASK,
+ .type = INTF_NONE,
+ .controller_id = MSM_DP_CONTROLLER_0, /* pair with intf_0 for DP MST */
+ .prog_fetch_lines_worst_case = 24,
+ .intr_underrun = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 30),
+ .intr_vsync = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 31),
+ }, {
+ .name = "intf_4", .id = INTF_4,
+ .base = 0x38000, .len = 0x280,
+ .features = INTF_SC7280_MASK,
+ .type = INTF_DP,
+ .controller_id = MSM_DP_CONTROLLER_1,
+ .prog_fetch_lines_worst_case = 24,
+ .intr_underrun = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 20),
+ .intr_vsync = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 21),
+ }, {
+ .name = "intf_6", .id = INTF_6,
+ .base = 0x3A000, .len = 0x280,
+ .features = INTF_SC7280_MASK,
+ .type = INTF_NONE,
+ .controller_id = MSM_DP_CONTROLLER_0, /* pair with intf_0 for DP MST */
+ .prog_fetch_lines_worst_case = 24,
+ .intr_underrun = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 17),
+ .intr_vsync = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 16),
+ }, {
+ .name = "intf_7", .id = INTF_7,
+ .base = 0x3b000, .len = 0x280,
+ .features = INTF_SC7280_MASK,
+ .type = INTF_NONE,
+ .controller_id = MSM_DP_CONTROLLER_0, /* pair with intf_0 for DP MST */
+ .prog_fetch_lines_worst_case = 24,
+ .intr_underrun = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 18),
+ .intr_vsync = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 19),
+ }, {
+ .name = "intf_8", .id = INTF_8,
+ .base = 0x3c000, .len = 0x280,
+ .features = INTF_SC7280_MASK,
+ .type = INTF_NONE,
+ .controller_id = MSM_DP_CONTROLLER_1, /* pair with intf_4 for DP MST */
+ .prog_fetch_lines_worst_case = 24,
+ .intr_underrun = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 12),
+ .intr_vsync = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 13),
+ },
+};
+
+static const struct dpu_perf_cfg sa8775p_perf_data = {
+ .max_bw_low = 13600000,
+ .max_bw_high = 18200000,
+ .min_core_ib = 2500000,
+ .min_llcc_ib = 0,
+ .min_dram_ib = 800000,
+ .min_prefill_lines = 35,
+ /* FIXME: lut tables */
+ .danger_lut_tbl = {0x3ffff, 0x3ffff, 0x0},
+ .safe_lut_tbl = {0xfff0, 0xfff0, 0x1},
+ .qos_lut_tbl = {
+ {.nentry = ARRAY_SIZE(sm6350_qos_linear_macrotile),
+ .entries = sm6350_qos_linear_macrotile
+ },
+ {.nentry = ARRAY_SIZE(sm6350_qos_linear_macrotile),
+ .entries = sm6350_qos_linear_macrotile
+ },
+ {.nentry = ARRAY_SIZE(sc7180_qos_nrt),
+ .entries = sc7180_qos_nrt
+ },
+ /* TODO: macrotile-qseed is different from macrotile */
+ },
+ .cdp_cfg = {
+ {.rd_enable = 1, .wr_enable = 1},
+ {.rd_enable = 1, .wr_enable = 0}
+ },
+ .clk_inefficiency_factor = 105,
+ .bw_inefficiency_factor = 120,
+};
+
+static const struct dpu_mdss_version sa8775p_mdss_ver = {
+ .core_major_ver = 8,
+ .core_minor_ver = 4,
+};
+
+const struct dpu_mdss_cfg dpu_sa8775p_cfg = {
+ .mdss_ver = &sa8775p_mdss_ver,
+ .caps = &sa8775p_dpu_caps,
+ .mdp = &sa8775p_mdp,
+ .cdm = &sc7280_cdm,
+ .ctl_count = ARRAY_SIZE(sa8775p_ctl),
+ .ctl = sa8775p_ctl,
+ .sspp_count = ARRAY_SIZE(sa8775p_sspp),
+ .sspp = sa8775p_sspp,
+ .mixer_count = ARRAY_SIZE(sa8775p_lm),
+ .mixer = sa8775p_lm,
+ .dspp_count = ARRAY_SIZE(sa8775p_dspp),
+ .dspp = sa8775p_dspp,
+ .pingpong_count = ARRAY_SIZE(sa8775p_pp),
+ .pingpong = sa8775p_pp,
+ .dsc_count = ARRAY_SIZE(sa8775p_dsc),
+ .dsc = sa8775p_dsc,
+ .merge_3d_count = ARRAY_SIZE(sa8775p_merge_3d),
+ .merge_3d = sa8775p_merge_3d,
+ .wb_count = ARRAY_SIZE(sa8775p_wb),
+ .wb = sa8775p_wb,
+ .intf_count = ARRAY_SIZE(sa8775p_intf),
+ .intf = sa8775p_intf,
+ .vbif_count = ARRAY_SIZE(sdm845_vbif),
+ .vbif = sdm845_vbif,
+ .perf = &sa8775p_perf_data,
+};
+
+#endif
diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c
index dcb4fd85e73b..6f60fff2c9a6 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c
+++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c
@@ -1,6 +1,6 @@
// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (c) 2015-2018, The Linux Foundation. All rights reserved.
- * Copyright (c) 2022-2023, Qualcomm Innovation Center, Inc. All rights reserved.
+ * Copyright (c) 2022-2024, Qualcomm Innovation Center, Inc. All rights reserved.
*/
#define pr_fmt(fmt) "[drm:%s:%d] " fmt, __func__, __LINE__
@@ -699,6 +699,7 @@ static const struct dpu_qos_lut_entry sc7180_qos_nrt[] = {
#include "catalog/dpu_8_0_sc8280xp.h"
#include "catalog/dpu_8_1_sm8450.h"
+#include "catalog/dpu_8_4_sa8775p.h"
#include "catalog/dpu_9_0_sm8550.h"
diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.h b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.h
index 37e18e820a20..cff16dcf277f 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.h
+++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.h
@@ -1,6 +1,6 @@
/* SPDX-License-Identifier: GPL-2.0-only */
/*
- * Copyright (c) 2022-2023, Qualcomm Innovation Center, Inc. All rights reserved.
+ * Copyright (c) 2022-2024, Qualcomm Innovation Center, Inc. All rights reserved.
* Copyright (c) 2015-2018, 2020 The Linux Foundation. All rights reserved.
*/
@@ -850,6 +850,7 @@ extern const struct dpu_mdss_cfg dpu_sm8350_cfg;
extern const struct dpu_mdss_cfg dpu_sc7280_cfg;
extern const struct dpu_mdss_cfg dpu_sc8280xp_cfg;
extern const struct dpu_mdss_cfg dpu_sm8450_cfg;
+extern const struct dpu_mdss_cfg dpu_sa8775p_cfg;
extern const struct dpu_mdss_cfg dpu_sm8550_cfg;
extern const struct dpu_mdss_cfg dpu_sm8650_cfg;
extern const struct dpu_mdss_cfg dpu_x1e80100_cfg;
diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c
index 9bcae53c4f45..16a0b417435e 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c
+++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c
@@ -2,7 +2,7 @@
/*
* Copyright (C) 2013 Red Hat
* Copyright (c) 2014-2018, The Linux Foundation. All rights reserved.
- * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
+ * Copyright (c) 2022, 2024 Qualcomm Innovation Center, Inc. All rights reserved.
*
* Author: Rob Clark <robdclark@gmail.com>
*/
@@ -1447,6 +1447,7 @@ static const struct dev_pm_ops dpu_pm_ops = {
static const struct of_device_id dpu_dt_match[] = {
{ .compatible = "qcom,msm8998-dpu", .data = &dpu_msm8998_cfg, },
{ .compatible = "qcom,qcm2290-dpu", .data = &dpu_qcm2290_cfg, },
+ { .compatible = "qcom,sa8775p-dpu", .data = &dpu_sa8775p_cfg, },
{ .compatible = "qcom,sdm630-mdp5", .data = &dpu_sdm630_cfg, },
{ .compatible = "qcom,sdm660-mdp5", .data = &dpu_sdm660_cfg, },
{ .compatible = "qcom,sdm670-dpu", .data = &dpu_sdm670_cfg, },
--
2.34.1
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [PATCH v2 5/5] arm64: dts: qcom: sa8775p: add display dt nodes
2024-09-26 11:01 [PATCH v2 0/5] Display enablement changes for Qualcomm SA8775P platform Mahadevan
` (3 preceding siblings ...)
2024-09-26 11:01 ` [PATCH v2 4/5] drm/msm/dpu: " Mahadevan
@ 2024-09-26 11:01 ` Mahadevan
2024-09-26 13:12 ` Dmitry Baryshkov
4 siblings, 1 reply; 20+ messages in thread
From: Mahadevan @ 2024-09-26 11:01 UTC (permalink / raw)
To: robdclark, quic_abhinavk, dmitry.baryshkov, sean, marijn.suijten,
airlied, daniel, maarten.lankhorst, mripard, tzimmermann, robh,
krzk+dt, conor+dt, swboyd, konrad.dybcio, danila, bigfoot,
neil.armstrong, mailingradian, quic_jesszhan, andersson
Cc: Mahadevan, linux-arm-msm, dri-devel, freedreno, devicetree,
linux-kernel, quic_kalyant, quic_jmadiset, quic_vpolimer
Add mdss0 and mdp devicetree nodes for sa8775p target.
Signed-off-by: Mahadevan <quic_mahap@quicinc.com>
---
This patch depends on the clock enablement change:
https://lore.kernel.org/all/20240816-sa8775p-mm-v3-v1-0-77d53c3c0cef@quicinc.com/
---
[v2]
- Update commit message mentioning enablement of mdss0 only is done. [Dmitry]
- Add resets node and fix indentation. [Dmitry]
---
arch/arm64/boot/dts/qcom/sa8775p.dtsi | 87 +++++++++++++++++++++++++++
1 file changed, 87 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/sa8775p.dtsi b/arch/arm64/boot/dts/qcom/sa8775p.dtsi
index 93be4683a31f..27ab1921c1f3 100644
--- a/arch/arm64/boot/dts/qcom/sa8775p.dtsi
+++ b/arch/arm64/boot/dts/qcom/sa8775p.dtsi
@@ -6,6 +6,7 @@
#include <dt-bindings/interconnect/qcom,icc.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/clock/qcom,rpmh.h>
+#include <dt-bindings/clock/qcom,sa8775p-dispcc.h>
#include <dt-bindings/clock/qcom,sa8775p-gcc.h>
#include <dt-bindings/clock/qcom,sa8775p-gpucc.h>
#include <dt-bindings/interconnect/qcom,sa8775p-rpmh.h>
@@ -2937,6 +2938,92 @@ camcc: clock-controller@ade0000 {
#power-domain-cells = <1>;
};
+ mdss0: display-subsystem@ae00000 {
+ compatible = "qcom,sa8775p-mdss";
+ reg = <0x0 0x0ae00000 0x0 0x1000>;
+ reg-names = "mdss";
+
+ /* same path used twice */
+ interconnects = <&mmss_noc MASTER_MDP0 0 &mc_virt SLAVE_EBI1 0>,
+ <&mmss_noc MASTER_MDP1 0 &mc_virt SLAVE_EBI1 0>,
+ <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ACTIVE_ONLY
+ &config_noc SLAVE_DISPLAY_CFG QCOM_ICC_TAG_ACTIVE_ONLY>;
+ interconnect-names = "mdp0-mem",
+ "mdp1-mem",
+ "cpu-cfg";
+
+ resets = <&dispcc0 MDSS_DISP_CC_MDSS_CORE_BCR>;
+
+ power-domains = <&dispcc0 MDSS_DISP_CC_MDSS_CORE_GDSC>;
+
+ clocks = <&dispcc0 MDSS_DISP_CC_MDSS_AHB_CLK>,
+ <&gcc GCC_DISP_HF_AXI_CLK>,
+ <&dispcc0 MDSS_DISP_CC_MDSS_MDP_CLK>;
+
+ interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-controller;
+ #interrupt-cells = <1>;
+
+ iommus = <&apps_smmu 0x1000 0x402>;
+
+ #address-cells = <2>;
+ #size-cells = <2>;
+ ranges;
+
+ status = "disabled";
+
+ mdss0_mdp: display-controller@ae01000 {
+ compatible = "qcom,sa8775p-dpu";
+ reg = <0x0 0x0ae01000 0x0 0x8f000>,
+ <0x0 0x0aeb0000 0x0 0x2008>;
+ reg-names = "mdp", "vbif";
+
+ clocks = <&gcc GCC_DISP_HF_AXI_CLK>,
+ <&dispcc0 MDSS_DISP_CC_MDSS_AHB_CLK>,
+ <&dispcc0 MDSS_DISP_CC_MDSS_MDP_LUT_CLK>,
+ <&dispcc0 MDSS_DISP_CC_MDSS_MDP_CLK>,
+ <&dispcc0 MDSS_DISP_CC_MDSS_VSYNC_CLK>;
+ clock-names = "bus",
+ "iface",
+ "lut",
+ "core",
+ "vsync";
+
+ assigned-clocks = <&dispcc0 MDSS_DISP_CC_MDSS_VSYNC_CLK>;
+ assigned-clock-rates = <19200000>;
+
+ operating-points-v2 = <&mdss0_mdp_opp_table>;
+ power-domains = <&rpmhpd RPMHPD_MMCX>;
+
+ interrupt-parent = <&mdss0>;
+ interrupts = <0>;
+
+ mdss0_mdp_opp_table: opp-table {
+ compatible = "operating-points-v2";
+
+ opp-375000000 {
+ opp-hz = /bits/ 64 <375000000>;
+ required-opps = <&rpmhpd_opp_svs_l1>;
+ };
+
+ opp-500000000 {
+ opp-hz = /bits/ 64 <500000000>;
+ required-opps = <&rpmhpd_opp_nom>;
+ };
+
+ opp-575000000 {
+ opp-hz = /bits/ 64 <575000000>;
+ required-opps = <&rpmhpd_opp_turbo>;
+ };
+
+ opp-650000000 {
+ opp-hz = /bits/ 64 <650000000>;
+ required-opps = <&rpmhpd_opp_turbo_l1>;
+ };
+ };
+ };
+ };
+
dispcc0: clock-controller@af00000 {
compatible = "qcom,sa8775p-dispcc0";
reg = <0x0 0x0af00000 0x0 0x20000>;
--
2.34.1
^ permalink raw reply related [flat|nested] 20+ messages in thread
* Re: [PATCH v2 1/5] dt-bindings: display/msm: Document MDSS on SA8775P
2024-09-26 11:01 ` [PATCH v2 1/5] dt-bindings: display/msm: Document MDSS on SA8775P Mahadevan
@ 2024-09-26 12:59 ` Dmitry Baryshkov
2024-09-26 13:01 ` Rob Herring (Arm)
` (2 subsequent siblings)
3 siblings, 0 replies; 20+ messages in thread
From: Dmitry Baryshkov @ 2024-09-26 12:59 UTC (permalink / raw)
To: Mahadevan
Cc: robdclark, quic_abhinavk, sean, marijn.suijten, airlied, daniel,
maarten.lankhorst, mripard, tzimmermann, robh, krzk+dt, conor+dt,
swboyd, konrad.dybcio, danila, bigfoot, neil.armstrong,
mailingradian, quic_jesszhan, andersson, linux-arm-msm, dri-devel,
freedreno, devicetree, linux-kernel, quic_kalyant, quic_jmadiset,
quic_vpolimer
On Thu, Sep 26, 2024 at 04:31:33PM GMT, Mahadevan wrote:
> Document the MDSS hardware found on the Qualcomm SA8775P platform.
>
> Signed-off-by: Mahadevan <quic_mahap@quicinc.com>
> ---
>
> [v2]
> - Use fake DISPCC nodes to avoid clock dependencies in dt-bindings. [Dmitry]
> - Update bindings by fixing dt_binding_check tool errors (update includes in example),
> adding proper spacing and indentation in binding example, dropping unused labels,
> dropping status disable, adding reset node. [Dmitry, Rob, Krzysztof]
>
> ---
> .../display/msm/qcom,sa8775p-mdss.yaml | 239 ++++++++++++++++++
> 1 file changed, 239 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/display/msm/qcom,sa8775p-mdss.yaml
>
> diff --git a/Documentation/devicetree/bindings/display/msm/qcom,sa8775p-mdss.yaml b/Documentation/devicetree/bindings/display/msm/qcom,sa8775p-mdss.yaml
> new file mode 100644
> index 000000000000..e610b66ffa9f
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/display/msm/qcom,sa8775p-mdss.yaml
> @@ -0,0 +1,239 @@
> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/display/msm/qcom,sa8775p-mdss.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Qualcomm Technologies, Inc. SA87755P Display MDSS
> +
> +maintainers:
> + - Mahadevan <quic_mahap@quicinc.com>
> +
> +description:
> + SA8775P MSM Mobile Display Subsystem(MDSS), which encapsulates sub-blocks like
> + DPU display controller, DP interfaces and EDP etc.
> +
> +$ref: /schemas/display/msm/mdss-common.yaml#
> +
> +properties:
> + compatible:
> + const: qcom,sa8775p-mdss
> +
> + clocks:
> + items:
> + - description: Display AHB
> + - description: Display hf AXI
> + - description: Display core
> +
> + iommus:
> + maxItems: 1
> +
> + interconnects:
> + maxItems: 3
> +
> + interconnect-names:
> + maxItems: 3
> +
> +patternProperties:
> + "^display-controller@[0-9a-f]+$":
> + type: object
> + properties:
> + compatible:
> + const: qcom,sa8775p-dpu
> +
> + "^displayport-controller@[0-9a-f]+$":
> + type: object
> + properties:
> + compatible:
> + items:
> + - const: qcom,sa8775p-dp
> +
> +required:
> + - compatible
> +
> +unevaluatedProperties: false
> +
> +examples:
> + - |
> + #include <dt-bindings/interconnect/qcom,icc.h>
> + #include <dt-bindings/interrupt-controller/arm-gic.h>
> + #include <dt-bindings/clock/qcom,sa8775p-gcc.h>
> + #include <dt-bindings/interconnect/qcom,sa8775p-rpmh.h>
> + #include <dt-bindings/power/qcom,rpmhpd.h>
> + #include <dt-bindings/power/qcom-rpmpd.h>
> +
> + display-subsystem@ae00000 {
> + compatible = "qcom,sa8775p-mdss";
> + reg = <0 0x0ae00000 0 0x1000>;
0x0, not just 0, please. Here and alsmost everywhere else.
> + reg-names = "mdss";
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH v2 2/5] dt-bindings: display/msm: Document the DPU for SA8775P
2024-09-26 11:01 ` [PATCH v2 2/5] dt-bindings: display/msm: Document the DPU for SA8775P Mahadevan
@ 2024-09-26 13:00 ` Dmitry Baryshkov
2024-09-26 13:01 ` Rob Herring (Arm)
2024-09-26 13:47 ` Krzysztof Kozlowski
2 siblings, 0 replies; 20+ messages in thread
From: Dmitry Baryshkov @ 2024-09-26 13:00 UTC (permalink / raw)
To: Mahadevan
Cc: robdclark, quic_abhinavk, sean, marijn.suijten, airlied, daniel,
maarten.lankhorst, mripard, tzimmermann, robh, krzk+dt, conor+dt,
swboyd, konrad.dybcio, danila, bigfoot, neil.armstrong,
mailingradian, quic_jesszhan, andersson, linux-arm-msm, dri-devel,
freedreno, devicetree, linux-kernel, quic_kalyant, quic_jmadiset,
quic_vpolimer
On Thu, Sep 26, 2024 at 04:31:34PM GMT, Mahadevan wrote:
> Document the DPU for Qualcomm SA8775P platform.
>
> Signed-off-by: Mahadevan <quic_mahap@quicinc.com>
> ---
>
> [v2]
> - Use fake DISPCC nodes to avoid clock dependencies in dt-bindings. [Dmitry]
> - Update bindings by fixing dt_binding_check tool errors (update includes in example),
> adding proper spacing and indentation in binding example. [Dmitry, Rob]
> - Capitalize clock names in description. [Dmitry]
>
> ---
> .../display/msm/qcom,sa8775p-dpu.yaml | 122 ++++++++++++++++++
> 1 file changed, 122 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/display/msm/qcom,sa8775p-dpu.yaml
>
> diff --git a/Documentation/devicetree/bindings/display/msm/qcom,sa8775p-dpu.yaml b/Documentation/devicetree/bindings/display/msm/qcom,sa8775p-dpu.yaml
> new file mode 100644
> index 000000000000..435e4c028bb8
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/display/msm/qcom,sa8775p-dpu.yaml
> @@ -0,0 +1,122 @@
> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/display/msm/qcom,sa8775p-dpu.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Qualcomm Technologies, Inc. SA8775P Display DPU
> +
> +maintainers:
> + - Mahadevan <quic_mahap@quicinc.com>
> +
> +$ref: /schemas/display/msm/dpu-common.yaml#
> +
> +properties:
> + compatible:
> + const: qcom,sa8775p-dpu
> +
> + reg:
> + items:
> + - description: Address offset and size for mdp register set
> + - description: Address offset and size for vbif register set
> +
> + reg-names:
> + items:
> + - const: mdp
> + - const: vbif
> +
> + clocks:
> + items:
> + - description: Display hf AXI
> + - description: Display AHB
> + - description: Display lut
> + - description: Display core
> + - description: Display vsync
> +
> + clock-names:
> + items:
> + - const: bus
> + - const: iface
> + - const: lut
> + - const: core
> + - const: vsync
> +
> +required:
> + - compatible
> + - reg
> + - reg-names
> + - clocks
> + - clock-names
> +
> +unevaluatedProperties: false
> +
> +examples:
> + - |
> + #include <dt-bindings/clock/qcom,sa8775p-gcc.h>
> + #include <dt-bindings/interrupt-controller/arm-gic.h>
> + #include <dt-bindings/interconnect/qcom,sa8775p-rpmh.h>
> + #include <dt-bindings/power/qcom,rpmhpd.h>
> +
> + display-controller@ae01000 {
> + compatible = "qcom,sa8775p-dpu";
> + reg = <0 0x0ae01000 0 0x8f000>,
> + <0 0x0aeb0000 0 0x2008>;
Same here. 0x0 instead of just 0.
> + reg-names = "mdp", "vbif";
> +
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH v2 1/5] dt-bindings: display/msm: Document MDSS on SA8775P
2024-09-26 11:01 ` [PATCH v2 1/5] dt-bindings: display/msm: Document MDSS on SA8775P Mahadevan
2024-09-26 12:59 ` Dmitry Baryshkov
@ 2024-09-26 13:01 ` Rob Herring (Arm)
2024-09-26 13:24 ` Bjorn Andersson
2024-09-26 13:46 ` Krzysztof Kozlowski
3 siblings, 0 replies; 20+ messages in thread
From: Rob Herring (Arm) @ 2024-09-26 13:01 UTC (permalink / raw)
To: Mahadevan
Cc: danila, andersson, quic_jesszhan, linux-arm-msm, krzk+dt, daniel,
neil.armstrong, dri-devel, quic_vpolimer, conor+dt, tzimmermann,
devicetree, maarten.lankhorst, robdclark, quic_jmadiset, swboyd,
konrad.dybcio, mripard, sean, dmitry.baryshkov, bigfoot, airlied,
linux-kernel, marijn.suijten, quic_abhinavk, freedreno,
mailingradian, quic_kalyant
On Thu, 26 Sep 2024 16:31:33 +0530, Mahadevan wrote:
> Document the MDSS hardware found on the Qualcomm SA8775P platform.
>
> Signed-off-by: Mahadevan <quic_mahap@quicinc.com>
> ---
>
> [v2]
> - Use fake DISPCC nodes to avoid clock dependencies in dt-bindings. [Dmitry]
> - Update bindings by fixing dt_binding_check tool errors (update includes in example),
> adding proper spacing and indentation in binding example, dropping unused labels,
> dropping status disable, adding reset node. [Dmitry, Rob, Krzysztof]
>
> ---
> .../display/msm/qcom,sa8775p-mdss.yaml | 239 ++++++++++++++++++
> 1 file changed, 239 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/display/msm/qcom,sa8775p-mdss.yaml
>
My bot found errors running 'make dt_binding_check' on your patch:
yamllint warnings/errors:
dtschema/dtc warnings/errors:
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/display/msm/qcom,sa8775p-mdss.yaml: ^display-controller@[0-9a-f]+$: Missing additionalProperties/unevaluatedProperties constraint
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/display/msm/qcom,sa8775p-mdss.yaml: ^displayport-controller@[0-9a-f]+$: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/display/msm/qcom,sa8775p-mdss.example.dts:61.13-20: Warning (ranges_format): /example-0/display-subsystem@ae00000:ranges: empty "ranges" property but its #address-cells (2) differs from /example-0 (1)
Documentation/devicetree/bindings/display/msm/qcom,sa8775p-mdss.example.dts:61.13-20: Warning (ranges_format): /example-0/display-subsystem@ae00000:ranges: empty "ranges" property but its #size-cells (2) differs from /example-0 (1)
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/display/msm/qcom,sa8775p-mdss.example.dtb: display-subsystem@ae00000: reg: [[0, 182452224], [0, 4096]] is too long
from schema $id: http://devicetree.org/schemas/display/msm/qcom,sa8775p-mdss.yaml#
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/display/msm/qcom,sa8775p-mdss.example.dtb: display-subsystem@ae00000: Unevaluated properties are not allowed ('reg' was unexpected)
from schema $id: http://devicetree.org/schemas/display/msm/qcom,sa8775p-mdss.yaml#
doc reference errors (make refcheckdocs):
See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20240926110137.2200158-2-quic_mahap@quicinc.com
The base for the series is generally the latest rc1. A different dependency
should be noted in *this* patch.
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 after running the above command yourself. Note
that DT_SCHEMA_FILES can be set to your schema file to speed up checking
your schema. However, it must be unset to test all examples with your schema.
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH v2 2/5] dt-bindings: display/msm: Document the DPU for SA8775P
2024-09-26 11:01 ` [PATCH v2 2/5] dt-bindings: display/msm: Document the DPU for SA8775P Mahadevan
2024-09-26 13:00 ` Dmitry Baryshkov
@ 2024-09-26 13:01 ` Rob Herring (Arm)
2024-09-26 13:47 ` Krzysztof Kozlowski
2 siblings, 0 replies; 20+ messages in thread
From: Rob Herring (Arm) @ 2024-09-26 13:01 UTC (permalink / raw)
To: Mahadevan
Cc: marijn.suijten, krzk+dt, danila, bigfoot, tzimmermann,
mailingradian, quic_jesszhan, conor+dt, swboyd, robdclark,
andersson, dri-devel, devicetree, quic_kalyant, linux-arm-msm,
sean, linux-kernel, daniel, konrad.dybcio, quic_abhinavk,
freedreno, neil.armstrong, quic_jmadiset, quic_vpolimer, airlied,
mripard, maarten.lankhorst, dmitry.baryshkov
On Thu, 26 Sep 2024 16:31:34 +0530, Mahadevan wrote:
> Document the DPU for Qualcomm SA8775P platform.
>
> Signed-off-by: Mahadevan <quic_mahap@quicinc.com>
> ---
>
> [v2]
> - Use fake DISPCC nodes to avoid clock dependencies in dt-bindings. [Dmitry]
> - Update bindings by fixing dt_binding_check tool errors (update includes in example),
> adding proper spacing and indentation in binding example. [Dmitry, Rob]
> - Capitalize clock names in description. [Dmitry]
>
> ---
> .../display/msm/qcom,sa8775p-dpu.yaml | 122 ++++++++++++++++++
> 1 file changed, 122 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/display/msm/qcom,sa8775p-dpu.yaml
>
My bot found errors running 'make dt_binding_check' on your patch:
yamllint warnings/errors:
dtschema/dtc warnings/errors:
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/display/msm/qcom,sa8775p-dpu.example.dtb: display-controller@ae01000: reg: [[0, 182456320], [0, 585728], [0, 183173120], [0, 8200]] is too long
from schema $id: http://devicetree.org/schemas/display/msm/qcom,sa8775p-dpu.yaml#
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/display/msm/qcom,sa8775p-dpu.example.dtb: display-controller@ae01000: Unevaluated properties are not allowed ('reg' was unexpected)
from schema $id: http://devicetree.org/schemas/display/msm/qcom,sa8775p-dpu.yaml#
doc reference errors (make refcheckdocs):
See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20240926110137.2200158-3-quic_mahap@quicinc.com
The base for the series is generally the latest rc1. A different dependency
should be noted in *this* patch.
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 after running the above command yourself. Note
that DT_SCHEMA_FILES can be set to your schema file to speed up checking
your schema. However, it must be unset to test all examples with your schema.
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH v2 3/5] drm/msm: mdss: Add SA8775P support
2024-09-26 11:01 ` [PATCH v2 3/5] drm/msm: mdss: Add SA8775P support Mahadevan
@ 2024-09-26 13:02 ` Dmitry Baryshkov
2024-09-27 6:44 ` Mahadevan P
0 siblings, 1 reply; 20+ messages in thread
From: Dmitry Baryshkov @ 2024-09-26 13:02 UTC (permalink / raw)
To: Mahadevan
Cc: robdclark, quic_abhinavk, sean, marijn.suijten, airlied, daniel,
maarten.lankhorst, mripard, tzimmermann, robh, krzk+dt, conor+dt,
swboyd, konrad.dybcio, danila, bigfoot, neil.armstrong,
mailingradian, quic_jesszhan, andersson, linux-arm-msm, dri-devel,
freedreno, devicetree, linux-kernel, quic_kalyant, quic_jmadiset,
quic_vpolimer
On Thu, Sep 26, 2024 at 04:31:35PM GMT, Mahadevan wrote:
> Add Mobile Display Subsystem (MDSS) support for the SA8775P platform.
>
> Signed-off-by: Mahadevan <quic_mahap@quicinc.com>
> ---
>
> [v2]
> - Update commit message. [Dmitry]
> - Reorder compatible string of MDSS based on alphabetical order. [Dmitry]
> - add reg_bus_bw in msm_mdss_data. [Dmitry]
>
> ---
> drivers/gpu/drm/msm/msm_mdss.c | 11 +++++++++++
> 1 file changed, 11 insertions(+)
>
> diff --git a/drivers/gpu/drm/msm/msm_mdss.c b/drivers/gpu/drm/msm/msm_mdss.c
> index faa88fd6eb4d..8f1d42a43bd0 100644
> --- a/drivers/gpu/drm/msm/msm_mdss.c
> +++ b/drivers/gpu/drm/msm/msm_mdss.c
> @@ -573,6 +573,16 @@ static const struct msm_mdss_data qcm2290_data = {
> .reg_bus_bw = 76800,
> };
>
> +static const struct msm_mdss_data sa8775p_data = {
> + .ubwc_enc_version = UBWC_4_0,
> + .ubwc_dec_version = UBWC_4_0,
Just 4.0 or 4.3?
> + .ubwc_swizzle = 4,
> + .ubwc_static = 1,
> + .highest_bank_bit = 0,
> + .macrotile_mode = 1,
> + .reg_bus_bw = 74000,
> +};
> +
> static const struct msm_mdss_data sc7180_data = {
> .ubwc_enc_version = UBWC_2_0,
> .ubwc_dec_version = UBWC_2_0,
> @@ -710,6 +720,7 @@ static const struct of_device_id mdss_dt_match[] = {
> { .compatible = "qcom,mdss" },
> { .compatible = "qcom,msm8998-mdss", .data = &msm8998_data },
> { .compatible = "qcom,qcm2290-mdss", .data = &qcm2290_data },
> + { .compatible = "qcom,sa8775p-mdss", .data = &sa8775p_data },
> { .compatible = "qcom,sdm670-mdss", .data = &sdm670_data },
> { .compatible = "qcom,sdm845-mdss", .data = &sdm845_data },
> { .compatible = "qcom,sc7180-mdss", .data = &sc7180_data },
> --
> 2.34.1
>
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH v2 4/5] drm/msm/dpu: Add SA8775P support
2024-09-26 11:01 ` [PATCH v2 4/5] drm/msm/dpu: " Mahadevan
@ 2024-09-26 13:09 ` Dmitry Baryshkov
2024-09-30 15:41 ` Mahadevan P
0 siblings, 1 reply; 20+ messages in thread
From: Dmitry Baryshkov @ 2024-09-26 13:09 UTC (permalink / raw)
To: Mahadevan
Cc: robdclark, quic_abhinavk, sean, marijn.suijten, airlied, daniel,
maarten.lankhorst, mripard, tzimmermann, robh, krzk+dt, conor+dt,
swboyd, konrad.dybcio, danila, bigfoot, neil.armstrong,
mailingradian, quic_jesszhan, andersson, linux-arm-msm, dri-devel,
freedreno, devicetree, linux-kernel, quic_kalyant, quic_jmadiset,
quic_vpolimer
On Thu, Sep 26, 2024 at 04:31:36PM GMT, Mahadevan wrote:
> Add definitions for the display hardware used on the
> Qualcomm SA8775P platform.
>
> Signed-off-by: Mahadevan <quic_mahap@quicinc.com>
> ---
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Minor nit below.
> [v2]
> - Reorder compatible string of DPU based on alphabetical order.[Dmitry]
>
> ---
> .../msm/disp/dpu1/catalog/dpu_8_4_sa8775p.h | 485 ++++++++++++++++++
> .../gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c | 3 +-
> .../gpu/drm/msm/disp/dpu1/dpu_hw_catalog.h | 3 +-
> drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c | 3 +-
> 4 files changed, 491 insertions(+), 3 deletions(-)
> create mode 100644 drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_8_4_sa8775p.h
>
> diff --git a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_8_4_sa8775p.h b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_8_4_sa8775p.h
> new file mode 100644
> index 000000000000..14d65b5d4093
> --- /dev/null
> +++ b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_8_4_sa8775p.h
> @@ -0,0 +1,485 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
> +/*
> + * Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved.
> + * Copyright (c) 2015-2018, 2020 The Linux Foundation. All rights reserved.
What exactly is copyrighted by LF?
> + */
> diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c
> index dcb4fd85e73b..6f60fff2c9a6 100644
> --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c
> +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c
> @@ -1,6 +1,6 @@
> // SPDX-License-Identifier: GPL-2.0-only
> /* Copyright (c) 2015-2018, The Linux Foundation. All rights reserved.
> - * Copyright (c) 2022-2023, Qualcomm Innovation Center, Inc. All rights reserved.
> + * Copyright (c) 2022-2024, Qualcomm Innovation Center, Inc. All rights reserved.
I am not a lawyer, but I don't think a single #include is copyrightable.
Neither are single data lines in other files.
> */
>
> #define pr_fmt(fmt) "[drm:%s:%d] " fmt, __func__, __LINE__
> @@ -699,6 +699,7 @@ static const struct dpu_qos_lut_entry sc7180_qos_nrt[] = {
>
> #include "catalog/dpu_8_0_sc8280xp.h"
> #include "catalog/dpu_8_1_sm8450.h"
> +#include "catalog/dpu_8_4_sa8775p.h"
>
> #include "catalog/dpu_9_0_sm8550.h"
>
> diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.h b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.h
> index 37e18e820a20..cff16dcf277f 100644
> --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.h
> +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.h
> @@ -1,6 +1,6 @@
> /* SPDX-License-Identifier: GPL-2.0-only */
> /*
> - * Copyright (c) 2022-2023, Qualcomm Innovation Center, Inc. All rights reserved.
> + * Copyright (c) 2022-2024, Qualcomm Innovation Center, Inc. All rights reserved.
> * Copyright (c) 2015-2018, 2020 The Linux Foundation. All rights reserved.
> */
>
> @@ -850,6 +850,7 @@ extern const struct dpu_mdss_cfg dpu_sm8350_cfg;
> extern const struct dpu_mdss_cfg dpu_sc7280_cfg;
> extern const struct dpu_mdss_cfg dpu_sc8280xp_cfg;
> extern const struct dpu_mdss_cfg dpu_sm8450_cfg;
> +extern const struct dpu_mdss_cfg dpu_sa8775p_cfg;
> extern const struct dpu_mdss_cfg dpu_sm8550_cfg;
> extern const struct dpu_mdss_cfg dpu_sm8650_cfg;
> extern const struct dpu_mdss_cfg dpu_x1e80100_cfg;
> diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c
> index 9bcae53c4f45..16a0b417435e 100644
> --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c
> +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c
> @@ -2,7 +2,7 @@
> /*
> * Copyright (C) 2013 Red Hat
> * Copyright (c) 2014-2018, The Linux Foundation. All rights reserved.
> - * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
> + * Copyright (c) 2022, 2024 Qualcomm Innovation Center, Inc. All rights reserved.
> *
> * Author: Rob Clark <robdclark@gmail.com>
> */
> @@ -1447,6 +1447,7 @@ static const struct dev_pm_ops dpu_pm_ops = {
> static const struct of_device_id dpu_dt_match[] = {
> { .compatible = "qcom,msm8998-dpu", .data = &dpu_msm8998_cfg, },
> { .compatible = "qcom,qcm2290-dpu", .data = &dpu_qcm2290_cfg, },
> + { .compatible = "qcom,sa8775p-dpu", .data = &dpu_sa8775p_cfg, },
> { .compatible = "qcom,sdm630-mdp5", .data = &dpu_sdm630_cfg, },
> { .compatible = "qcom,sdm660-mdp5", .data = &dpu_sdm660_cfg, },
> { .compatible = "qcom,sdm670-dpu", .data = &dpu_sdm670_cfg, },
> --
> 2.34.1
>
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH v2 5/5] arm64: dts: qcom: sa8775p: add display dt nodes
2024-09-26 11:01 ` [PATCH v2 5/5] arm64: dts: qcom: sa8775p: add display dt nodes Mahadevan
@ 2024-09-26 13:12 ` Dmitry Baryshkov
0 siblings, 0 replies; 20+ messages in thread
From: Dmitry Baryshkov @ 2024-09-26 13:12 UTC (permalink / raw)
To: Mahadevan
Cc: robdclark, quic_abhinavk, sean, marijn.suijten, airlied, daniel,
maarten.lankhorst, mripard, tzimmermann, robh, krzk+dt, conor+dt,
swboyd, konrad.dybcio, danila, bigfoot, neil.armstrong,
mailingradian, quic_jesszhan, andersson, linux-arm-msm, dri-devel,
freedreno, devicetree, linux-kernel, quic_kalyant, quic_jmadiset,
quic_vpolimer
On Thu, Sep 26, 2024 at 04:31:37PM GMT, Mahadevan wrote:
> Add mdss0 and mdp devicetree nodes for sa8775p target.
>
> Signed-off-by: Mahadevan <quic_mahap@quicinc.com>
>
> ---
>
> This patch depends on the clock enablement change:
> https://lore.kernel.org/all/20240816-sa8775p-mm-v3-v1-0-77d53c3c0cef@quicinc.com/
>
> ---
>
> [v2]
> - Update commit message mentioning enablement of mdss0 only is done. [Dmitry]
It doesn't
> - Add resets node and fix indentation. [Dmitry]
> ---
> arch/arm64/boot/dts/qcom/sa8775p.dtsi | 87 +++++++++++++++++++++++++++
> 1 file changed, 87 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/sa8775p.dtsi b/arch/arm64/boot/dts/qcom/sa8775p.dtsi
> index 93be4683a31f..27ab1921c1f3 100644
> --- a/arch/arm64/boot/dts/qcom/sa8775p.dtsi
> +++ b/arch/arm64/boot/dts/qcom/sa8775p.dtsi
> @@ -6,6 +6,7 @@
> #include <dt-bindings/interconnect/qcom,icc.h>
> #include <dt-bindings/interrupt-controller/arm-gic.h>
> #include <dt-bindings/clock/qcom,rpmh.h>
> +#include <dt-bindings/clock/qcom,sa8775p-dispcc.h>
> #include <dt-bindings/clock/qcom,sa8775p-gcc.h>
> #include <dt-bindings/clock/qcom,sa8775p-gpucc.h>
> #include <dt-bindings/interconnect/qcom,sa8775p-rpmh.h>
> @@ -2937,6 +2938,92 @@ camcc: clock-controller@ade0000 {
> #power-domain-cells = <1>;
> };
>
> + mdss0: display-subsystem@ae00000 {
> + compatible = "qcom,sa8775p-mdss";
> + reg = <0x0 0x0ae00000 0x0 0x1000>;
> + reg-names = "mdss";
> +
> + /* same path used twice */
> + interconnects = <&mmss_noc MASTER_MDP0 0 &mc_virt SLAVE_EBI1 0>,
> + <&mmss_noc MASTER_MDP1 0 &mc_virt SLAVE_EBI1 0>,
QCOM_ICC_TAG_ACTIVE_ONLY ?
> + <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ACTIVE_ONLY
> + &config_noc SLAVE_DISPLAY_CFG QCOM_ICC_TAG_ACTIVE_ONLY>;
> + interconnect-names = "mdp0-mem",
> + "mdp1-mem",
> + "cpu-cfg";
> +
> + resets = <&dispcc0 MDSS_DISP_CC_MDSS_CORE_BCR>;
> +
> + power-domains = <&dispcc0 MDSS_DISP_CC_MDSS_CORE_GDSC>;
> +
> + clocks = <&dispcc0 MDSS_DISP_CC_MDSS_AHB_CLK>,
> + <&gcc GCC_DISP_HF_AXI_CLK>,
> + <&dispcc0 MDSS_DISP_CC_MDSS_MDP_CLK>;
> +
> + interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>;
> + interrupt-controller;
> + #interrupt-cells = <1>;
> +
> + iommus = <&apps_smmu 0x1000 0x402>;
> +
> + #address-cells = <2>;
> + #size-cells = <2>;
> + ranges;
> +
> + status = "disabled";
> +
> + mdss0_mdp: display-controller@ae01000 {
> + compatible = "qcom,sa8775p-dpu";
> + reg = <0x0 0x0ae01000 0x0 0x8f000>,
> + <0x0 0x0aeb0000 0x0 0x2008>;
> + reg-names = "mdp", "vbif";
> +
> + clocks = <&gcc GCC_DISP_HF_AXI_CLK>,
> + <&dispcc0 MDSS_DISP_CC_MDSS_AHB_CLK>,
> + <&dispcc0 MDSS_DISP_CC_MDSS_MDP_LUT_CLK>,
> + <&dispcc0 MDSS_DISP_CC_MDSS_MDP_CLK>,
> + <&dispcc0 MDSS_DISP_CC_MDSS_VSYNC_CLK>;
> + clock-names = "bus",
> + "iface",
> + "lut",
> + "core",
> + "vsync";
> +
> + assigned-clocks = <&dispcc0 MDSS_DISP_CC_MDSS_VSYNC_CLK>;
> + assigned-clock-rates = <19200000>;
> +
> + operating-points-v2 = <&mdss0_mdp_opp_table>;
> + power-domains = <&rpmhpd RPMHPD_MMCX>;
> +
> + interrupt-parent = <&mdss0>;
> + interrupts = <0>;
> +
> + mdss0_mdp_opp_table: opp-table {
> + compatible = "operating-points-v2";
> +
> + opp-375000000 {
> + opp-hz = /bits/ 64 <375000000>;
> + required-opps = <&rpmhpd_opp_svs_l1>;
> + };
> +
> + opp-500000000 {
> + opp-hz = /bits/ 64 <500000000>;
> + required-opps = <&rpmhpd_opp_nom>;
> + };
> +
> + opp-575000000 {
> + opp-hz = /bits/ 64 <575000000>;
> + required-opps = <&rpmhpd_opp_turbo>;
> + };
> +
> + opp-650000000 {
> + opp-hz = /bits/ 64 <650000000>;
> + required-opps = <&rpmhpd_opp_turbo_l1>;
> + };
> + };
> + };
> + };
> +
> dispcc0: clock-controller@af00000 {
> compatible = "qcom,sa8775p-dispcc0";
> reg = <0x0 0x0af00000 0x0 0x20000>;
> --
> 2.34.1
>
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH v2 1/5] dt-bindings: display/msm: Document MDSS on SA8775P
2024-09-26 11:01 ` [PATCH v2 1/5] dt-bindings: display/msm: Document MDSS on SA8775P Mahadevan
2024-09-26 12:59 ` Dmitry Baryshkov
2024-09-26 13:01 ` Rob Herring (Arm)
@ 2024-09-26 13:24 ` Bjorn Andersson
2024-09-30 9:01 ` Mahadevan P
2024-09-26 13:46 ` Krzysztof Kozlowski
3 siblings, 1 reply; 20+ messages in thread
From: Bjorn Andersson @ 2024-09-26 13:24 UTC (permalink / raw)
To: Mahadevan
Cc: robdclark, quic_abhinavk, dmitry.baryshkov, sean, marijn.suijten,
airlied, daniel, maarten.lankhorst, mripard, tzimmermann, robh,
krzk+dt, conor+dt, swboyd, konrad.dybcio, danila, bigfoot,
neil.armstrong, mailingradian, quic_jesszhan, andersson,
linux-arm-msm, dri-devel, freedreno, devicetree, linux-kernel,
quic_kalyant, quic_jmadiset, quic_vpolimer
On Thu, Sep 26, 2024 at 04:31:33PM +0530, Mahadevan wrote:
> Document the MDSS hardware found on the Qualcomm SA8775P platform.
>
> Signed-off-by: Mahadevan <quic_mahap@quicinc.com>
> ---
>
> [v2]
> - Use fake DISPCC nodes to avoid clock dependencies in dt-bindings. [Dmitry]
> - Update bindings by fixing dt_binding_check tool errors (update includes in example),
> adding proper spacing and indentation in binding example, dropping unused labels,
> dropping status disable, adding reset node. [Dmitry, Rob, Krzysztof]
No concerns with the changelog, but please adopt b4 (go/upstream has
instructions) for sending patches upstream.
>
> ---
> .../display/msm/qcom,sa8775p-mdss.yaml | 239 ++++++++++++++++++
> 1 file changed, 239 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/display/msm/qcom,sa8775p-mdss.yaml
>
> diff --git a/Documentation/devicetree/bindings/display/msm/qcom,sa8775p-mdss.yaml b/Documentation/devicetree/bindings/display/msm/qcom,sa8775p-mdss.yaml
> new file mode 100644
> index 000000000000..e610b66ffa9f
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/display/msm/qcom,sa8775p-mdss.yaml
> @@ -0,0 +1,239 @@
> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/display/msm/qcom,sa8775p-mdss.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Qualcomm Technologies, Inc. SA87755P Display MDSS
> +
> +maintainers:
> + - Mahadevan <quic_mahap@quicinc.com>
Please use Firstname Lastname, if possible
> +
> +description:
> + SA8775P MSM Mobile Display Subsystem(MDSS), which encapsulates sub-blocks like
> + DPU display controller, DP interfaces and EDP etc.
> +
> +$ref: /schemas/display/msm/mdss-common.yaml#
> +
[..]
> +
> +examples:
> + - |
> + #include <dt-bindings/interconnect/qcom,icc.h>
> + #include <dt-bindings/interrupt-controller/arm-gic.h>
> + #include <dt-bindings/clock/qcom,sa8775p-gcc.h>
> + #include <dt-bindings/interconnect/qcom,sa8775p-rpmh.h>
> + #include <dt-bindings/power/qcom,rpmhpd.h>
> + #include <dt-bindings/power/qcom-rpmpd.h>
> +
> + display-subsystem@ae00000 {
> + compatible = "qcom,sa8775p-mdss";
> + reg = <0 0x0ae00000 0 0x1000>;
#address-cells and #size-cells are 1 in the example root node, so drop
the two 0 entries.
> + reg-names = "mdss";
> +
> + /* same path used twice */
What do you mean? All three paths below are unique.
> + interconnects = <&mmss_noc MASTER_MDP0 0 &mc_virt SLAVE_EBI1 0>,
> + <&mmss_noc MASTER_MDP1 0 &mc_virt SLAVE_EBI1 0>,
> + <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ACTIVE_ONLY
> + &config_noc SLAVE_DISPLAY_CFG QCOM_ICC_TAG_ACTIVE_ONLY>;
> + interconnect-names = "mdp0-mem",
> + "mdp1-mem",
> + "cpu-cfg";
> +
> +
Regards,
Bjorn
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH v2 1/5] dt-bindings: display/msm: Document MDSS on SA8775P
2024-09-26 11:01 ` [PATCH v2 1/5] dt-bindings: display/msm: Document MDSS on SA8775P Mahadevan
` (2 preceding siblings ...)
2024-09-26 13:24 ` Bjorn Andersson
@ 2024-09-26 13:46 ` Krzysztof Kozlowski
3 siblings, 0 replies; 20+ messages in thread
From: Krzysztof Kozlowski @ 2024-09-26 13:46 UTC (permalink / raw)
To: Mahadevan, robdclark, quic_abhinavk, dmitry.baryshkov, sean,
marijn.suijten, airlied, daniel, maarten.lankhorst, mripard,
tzimmermann, robh, krzk+dt, conor+dt, swboyd, konrad.dybcio,
danila, bigfoot, neil.armstrong, mailingradian, quic_jesszhan,
andersson
Cc: linux-arm-msm, dri-devel, freedreno, devicetree, linux-kernel,
quic_kalyant, quic_jmadiset, quic_vpolimer
On 26/09/2024 13:01, Mahadevan wrote:
> +
> + clocks:
> + items:
> + - description: Display AHB
> + - description: Display hf AXI
> + - description: Display core
> +
> + iommus:
> + maxItems: 1
> +
> + interconnects:
> + maxItems: 3
> +
> + interconnect-names:
> + maxItems: 3
> +
> +patternProperties:
> + "^display-controller@[0-9a-f]+$":
> + type: object
> + properties:
> + compatible:
> + const: qcom,sa8775p-dpu
Which binding did you used as an example?
On which kernel was this developed?
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH v2 2/5] dt-bindings: display/msm: Document the DPU for SA8775P
2024-09-26 11:01 ` [PATCH v2 2/5] dt-bindings: display/msm: Document the DPU for SA8775P Mahadevan
2024-09-26 13:00 ` Dmitry Baryshkov
2024-09-26 13:01 ` Rob Herring (Arm)
@ 2024-09-26 13:47 ` Krzysztof Kozlowski
2 siblings, 0 replies; 20+ messages in thread
From: Krzysztof Kozlowski @ 2024-09-26 13:47 UTC (permalink / raw)
To: Mahadevan, robdclark, quic_abhinavk, dmitry.baryshkov, sean,
marijn.suijten, airlied, daniel, maarten.lankhorst, mripard,
tzimmermann, robh, krzk+dt, conor+dt, swboyd, konrad.dybcio,
danila, bigfoot, neil.armstrong, mailingradian, quic_jesszhan,
andersson
Cc: linux-arm-msm, dri-devel, freedreno, devicetree, linux-kernel,
quic_kalyant, quic_jmadiset, quic_vpolimer
On 26/09/2024 13:01, Mahadevan wrote:
> Document the DPU for Qualcomm SA8775P platform.
>
> Signed-off-by: Mahadevan <quic_mahap@quicinc.com>
> ---
>
> [v2]
> - Use fake DISPCC nodes to avoid clock dependencies in dt-bindings. [Dmitry]
> - Update bindings by fixing dt_binding_check tool errors (update includes in example),
> adding proper spacing and indentation in binding example. [Dmitry, Rob]
> - Capitalize clock names in description. [Dmitry]
>
Please start testing patches before you send them.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH v2 3/5] drm/msm: mdss: Add SA8775P support
2024-09-26 13:02 ` Dmitry Baryshkov
@ 2024-09-27 6:44 ` Mahadevan P
2024-09-27 8:42 ` Dmitry Baryshkov
0 siblings, 1 reply; 20+ messages in thread
From: Mahadevan P @ 2024-09-27 6:44 UTC (permalink / raw)
To: Dmitry Baryshkov
Cc: robdclark, quic_abhinavk, sean, marijn.suijten, airlied, daniel,
maarten.lankhorst, mripard, tzimmermann, robh, krzk+dt, conor+dt,
swboyd, konrad.dybcio, danila, bigfoot, neil.armstrong,
mailingradian, quic_jesszhan, andersson, linux-arm-msm, dri-devel,
freedreno, devicetree, linux-kernel, quic_kalyant, quic_jmadiset,
quic_vpolimer
On 9/26/2024 6:32 PM, Dmitry Baryshkov wrote:
> On Thu, Sep 26, 2024 at 04:31:35PM GMT, Mahadevan wrote:
>> Add Mobile Display Subsystem (MDSS) support for the SA8775P platform.
>>
>> Signed-off-by: Mahadevan <quic_mahap@quicinc.com>
>> ---
>>
>> [v2]
>> - Update commit message. [Dmitry]
>> - Reorder compatible string of MDSS based on alphabetical order. [Dmitry]
>> - add reg_bus_bw in msm_mdss_data. [Dmitry]
>>
>> ---
>> drivers/gpu/drm/msm/msm_mdss.c | 11 +++++++++++
>> 1 file changed, 11 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/msm/msm_mdss.c b/drivers/gpu/drm/msm/msm_mdss.c
>> index faa88fd6eb4d..8f1d42a43bd0 100644
>> --- a/drivers/gpu/drm/msm/msm_mdss.c
>> +++ b/drivers/gpu/drm/msm/msm_mdss.c
>> @@ -573,6 +573,16 @@ static const struct msm_mdss_data qcm2290_data = {
>> .reg_bus_bw = 76800,
>> };
>>
>> +static const struct msm_mdss_data sa8775p_data = {
>> + .ubwc_enc_version = UBWC_4_0,
>> + .ubwc_dec_version = UBWC_4_0,
> Just 4.0 or 4.3?
UBWC version has to be 4.0 as per UBWC reference document of sa8775p.
>
>> + .ubwc_swizzle = 4,
>> + .ubwc_static = 1,
>> + .highest_bank_bit = 0,
>> + .macrotile_mode = 1,
>> + .reg_bus_bw = 74000,
>> +};
>> +
>> static const struct msm_mdss_data sc7180_data = {
>> .ubwc_enc_version = UBWC_2_0,
>> .ubwc_dec_version = UBWC_2_0,
>> @@ -710,6 +720,7 @@ static const struct of_device_id mdss_dt_match[] = {
>> { .compatible = "qcom,mdss" },
>> { .compatible = "qcom,msm8998-mdss", .data = &msm8998_data },
>> { .compatible = "qcom,qcm2290-mdss", .data = &qcm2290_data },
>> + { .compatible = "qcom,sa8775p-mdss", .data = &sa8775p_data },
>> { .compatible = "qcom,sdm670-mdss", .data = &sdm670_data },
>> { .compatible = "qcom,sdm845-mdss", .data = &sdm845_data },
>> { .compatible = "qcom,sc7180-mdss", .data = &sc7180_data },
>> --
>> 2.34.1
>>
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH v2 3/5] drm/msm: mdss: Add SA8775P support
2024-09-27 6:44 ` Mahadevan P
@ 2024-09-27 8:42 ` Dmitry Baryshkov
0 siblings, 0 replies; 20+ messages in thread
From: Dmitry Baryshkov @ 2024-09-27 8:42 UTC (permalink / raw)
To: Mahadevan P
Cc: robdclark, quic_abhinavk, sean, marijn.suijten, airlied, daniel,
maarten.lankhorst, mripard, tzimmermann, robh, krzk+dt, conor+dt,
swboyd, konrad.dybcio, danila, bigfoot, neil.armstrong,
mailingradian, quic_jesszhan, andersson, linux-arm-msm, dri-devel,
freedreno, devicetree, linux-kernel, quic_kalyant, quic_jmadiset,
quic_vpolimer
On Fri, Sep 27, 2024 at 12:14:16PM GMT, Mahadevan P wrote:
>
> On 9/26/2024 6:32 PM, Dmitry Baryshkov wrote:
> > On Thu, Sep 26, 2024 at 04:31:35PM GMT, Mahadevan wrote:
> > > Add Mobile Display Subsystem (MDSS) support for the SA8775P platform.
> > >
> > > Signed-off-by: Mahadevan <quic_mahap@quicinc.com>
> > > ---
> > >
> > > [v2]
> > > - Update commit message. [Dmitry]
> > > - Reorder compatible string of MDSS based on alphabetical order. [Dmitry]
> > > - add reg_bus_bw in msm_mdss_data. [Dmitry]
> > >
> > > ---
> > > drivers/gpu/drm/msm/msm_mdss.c | 11 +++++++++++
> > > 1 file changed, 11 insertions(+)
> > >
> > > diff --git a/drivers/gpu/drm/msm/msm_mdss.c b/drivers/gpu/drm/msm/msm_mdss.c
> > > index faa88fd6eb4d..8f1d42a43bd0 100644
> > > --- a/drivers/gpu/drm/msm/msm_mdss.c
> > > +++ b/drivers/gpu/drm/msm/msm_mdss.c
> > > @@ -573,6 +573,16 @@ static const struct msm_mdss_data qcm2290_data = {
> > > .reg_bus_bw = 76800,
> > > };
> > > +static const struct msm_mdss_data sa8775p_data = {
> > > + .ubwc_enc_version = UBWC_4_0,
> > > + .ubwc_dec_version = UBWC_4_0,
> > Just 4.0 or 4.3?
>
>
> UBWC version has to be 4.0 as per UBWC reference document of sa8775p.
Thanks for the confirmation.
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH v2 1/5] dt-bindings: display/msm: Document MDSS on SA8775P
2024-09-26 13:24 ` Bjorn Andersson
@ 2024-09-30 9:01 ` Mahadevan P
0 siblings, 0 replies; 20+ messages in thread
From: Mahadevan P @ 2024-09-30 9:01 UTC (permalink / raw)
To: Bjorn Andersson
Cc: robdclark, quic_abhinavk, dmitry.baryshkov, sean, marijn.suijten,
airlied, daniel, maarten.lankhorst, mripard, tzimmermann, robh,
krzk+dt, conor+dt, swboyd, konrad.dybcio, danila, bigfoot,
neil.armstrong, mailingradian, quic_jesszhan, andersson,
linux-arm-msm, dri-devel, freedreno, devicetree, linux-kernel,
quic_kalyant, quic_jmadiset, quic_vpolimer
On 9/26/2024 6:54 PM, Bjorn Andersson wrote:
> On Thu, Sep 26, 2024 at 04:31:33PM +0530, Mahadevan wrote:
>> Document the MDSS hardware found on the Qualcomm SA8775P platform.
>>
>> Signed-off-by: Mahadevan <quic_mahap@quicinc.com>
>> ---
>>
>> [v2]
>> - Use fake DISPCC nodes to avoid clock dependencies in dt-bindings. [Dmitry]
>> - Update bindings by fixing dt_binding_check tool errors (update includes in example),
>> adding proper spacing and indentation in binding example, dropping unused labels,
>> dropping status disable, adding reset node. [Dmitry, Rob, Krzysztof]
> No concerns with the changelog, but please adopt b4 (go/upstream has
> instructions) for sending patches upstream.
Sure, will follow while posting next patch.
>
>> ---
>> .../display/msm/qcom,sa8775p-mdss.yaml | 239 ++++++++++++++++++
>> 1 file changed, 239 insertions(+)
>> create mode 100644 Documentation/devicetree/bindings/display/msm/qcom,sa8775p-mdss.yaml
>>
>> diff --git a/Documentation/devicetree/bindings/display/msm/qcom,sa8775p-mdss.yaml b/Documentation/devicetree/bindings/display/msm/qcom,sa8775p-mdss.yaml
>> new file mode 100644
>> index 000000000000..e610b66ffa9f
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/display/msm/qcom,sa8775p-mdss.yaml
>> @@ -0,0 +1,239 @@
>> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/display/msm/qcom,sa8775p-mdss.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: Qualcomm Technologies, Inc. SA87755P Display MDSS
>> +
>> +maintainers:
>> + - Mahadevan <quic_mahap@quicinc.com>
> Please use Firstname Lastname, if possible
My name has only First name, can I please go ahead with this.
>
>> +
>> +description:
>> + SA8775P MSM Mobile Display Subsystem(MDSS), which encapsulates sub-blocks like
>> + DPU display controller, DP interfaces and EDP etc.
>> +
>> +$ref: /schemas/display/msm/mdss-common.yaml#
>> +
> [..]
>> +
>> +examples:
>> + - |
>> + #include <dt-bindings/interconnect/qcom,icc.h>
>> + #include <dt-bindings/interrupt-controller/arm-gic.h>
>> + #include <dt-bindings/clock/qcom,sa8775p-gcc.h>
>> + #include <dt-bindings/interconnect/qcom,sa8775p-rpmh.h>
>> + #include <dt-bindings/power/qcom,rpmhpd.h>
>> + #include <dt-bindings/power/qcom-rpmpd.h>
>> +
>> + display-subsystem@ae00000 {
>> + compatible = "qcom,sa8775p-mdss";
>> + reg = <0 0x0ae00000 0 0x1000>;
> #address-cells and #size-cells are 1 in the example root node, so drop
> the two 0 entries.
>
>> + reg-names = "mdss";
>> +
>> + /* same path used twice */
> What do you mean? All three paths below are unique.
Yes all three are paths are unique, its same sm8450-mdss.
Will remove the comment /* same path used twice */.
>
>> + interconnects = <&mmss_noc MASTER_MDP0 0 &mc_virt SLAVE_EBI1 0>,
>> + <&mmss_noc MASTER_MDP1 0 &mc_virt SLAVE_EBI1 0>,
>> + <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ACTIVE_ONLY
>> + &config_noc SLAVE_DISPLAY_CFG QCOM_ICC_TAG_ACTIVE_ONLY>;
>> + interconnect-names = "mdp0-mem",
>> + "mdp1-mem",
>> + "cpu-cfg";
>> +
>> +
> Regards,
> Bjorn
Thanks,
Mahadevan
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH v2 4/5] drm/msm/dpu: Add SA8775P support
2024-09-26 13:09 ` Dmitry Baryshkov
@ 2024-09-30 15:41 ` Mahadevan P
0 siblings, 0 replies; 20+ messages in thread
From: Mahadevan P @ 2024-09-30 15:41 UTC (permalink / raw)
To: Dmitry Baryshkov
Cc: robdclark, quic_abhinavk, sean, marijn.suijten, airlied, daniel,
maarten.lankhorst, mripard, tzimmermann, robh, krzk+dt, conor+dt,
swboyd, konrad.dybcio, danila, bigfoot, neil.armstrong,
mailingradian, quic_jesszhan, andersson, linux-arm-msm, dri-devel,
freedreno, devicetree, linux-kernel, quic_kalyant, quic_jmadiset,
quic_vpolimer
On 9/26/2024 6:39 PM, Dmitry Baryshkov wrote:
> On Thu, Sep 26, 2024 at 04:31:36PM GMT, Mahadevan wrote:
>> Add definitions for the display hardware used on the
>> Qualcomm SA8775P platform.
>>
>> Signed-off-by: Mahadevan <quic_mahap@quicinc.com>
>> ---
> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
>
> Minor nit below.
>
>> [v2]
>> - Reorder compatible string of DPU based on alphabetical order.[Dmitry]
>>
>> ---
>> .../msm/disp/dpu1/catalog/dpu_8_4_sa8775p.h | 485 ++++++++++++++++++
>> .../gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c | 3 +-
>> .../gpu/drm/msm/disp/dpu1/dpu_hw_catalog.h | 3 +-
>> drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c | 3 +-
>> 4 files changed, 491 insertions(+), 3 deletions(-)
>> create mode 100644 drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_8_4_sa8775p.h
>>
>> diff --git a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_8_4_sa8775p.h b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_8_4_sa8775p.h
>> new file mode 100644
>> index 000000000000..14d65b5d4093
>> --- /dev/null
>> +++ b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_8_4_sa8775p.h
>> @@ -0,0 +1,485 @@
>> +/* SPDX-License-Identifier: GPL-2.0-only */
>> +/*
>> + * Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved.
>> + * Copyright (c) 2015-2018, 2020 The Linux Foundation. All rights reserved.
> What exactly is copyrighted by LF?
LF copyright is not needed.
Thanks for pointing out the copyrights in other files too. Will update
in subsequent patch.
>
>> + */
>> diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c
>> index dcb4fd85e73b..6f60fff2c9a6 100644
>> --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c
>> +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c
>> @@ -1,6 +1,6 @@
>> // SPDX-License-Identifier: GPL-2.0-only
>> /* Copyright (c) 2015-2018, The Linux Foundation. All rights reserved.
>> - * Copyright (c) 2022-2023, Qualcomm Innovation Center, Inc. All rights reserved.
>> + * Copyright (c) 2022-2024, Qualcomm Innovation Center, Inc. All rights reserved.
> I am not a lawyer, but I don't think a single #include is copyrightable.
> Neither are single data lines in other files.
>
>> */
>>
>> #define pr_fmt(fmt) "[drm:%s:%d] " fmt, __func__, __LINE__
>> @@ -699,6 +699,7 @@ static const struct dpu_qos_lut_entry sc7180_qos_nrt[] = {
>>
>> #include "catalog/dpu_8_0_sc8280xp.h"
>> #include "catalog/dpu_8_1_sm8450.h"
>> +#include "catalog/dpu_8_4_sa8775p.h"
>>
>> #include "catalog/dpu_9_0_sm8550.h"
>>
>> diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.h b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.h
>> index 37e18e820a20..cff16dcf277f 100644
>> --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.h
>> +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.h
>> @@ -1,6 +1,6 @@
>> /* SPDX-License-Identifier: GPL-2.0-only */
>> /*
>> - * Copyright (c) 2022-2023, Qualcomm Innovation Center, Inc. All rights reserved.
>> + * Copyright (c) 2022-2024, Qualcomm Innovation Center, Inc. All rights reserved.
>> * Copyright (c) 2015-2018, 2020 The Linux Foundation. All rights reserved.
>> */
>>
>> @@ -850,6 +850,7 @@ extern const struct dpu_mdss_cfg dpu_sm8350_cfg;
>> extern const struct dpu_mdss_cfg dpu_sc7280_cfg;
>> extern const struct dpu_mdss_cfg dpu_sc8280xp_cfg;
>> extern const struct dpu_mdss_cfg dpu_sm8450_cfg;
>> +extern const struct dpu_mdss_cfg dpu_sa8775p_cfg;
>> extern const struct dpu_mdss_cfg dpu_sm8550_cfg;
>> extern const struct dpu_mdss_cfg dpu_sm8650_cfg;
>> extern const struct dpu_mdss_cfg dpu_x1e80100_cfg;
>> diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c
>> index 9bcae53c4f45..16a0b417435e 100644
>> --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c
>> +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c
>> @@ -2,7 +2,7 @@
>> /*
>> * Copyright (C) 2013 Red Hat
>> * Copyright (c) 2014-2018, The Linux Foundation. All rights reserved.
>> - * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
>> + * Copyright (c) 2022, 2024 Qualcomm Innovation Center, Inc. All rights reserved.
>> *
>> * Author: Rob Clark <robdclark@gmail.com>
>> */
>> @@ -1447,6 +1447,7 @@ static const struct dev_pm_ops dpu_pm_ops = {
>> static const struct of_device_id dpu_dt_match[] = {
>> { .compatible = "qcom,msm8998-dpu", .data = &dpu_msm8998_cfg, },
>> { .compatible = "qcom,qcm2290-dpu", .data = &dpu_qcm2290_cfg, },
>> + { .compatible = "qcom,sa8775p-dpu", .data = &dpu_sa8775p_cfg, },
>> { .compatible = "qcom,sdm630-mdp5", .data = &dpu_sdm630_cfg, },
>> { .compatible = "qcom,sdm660-mdp5", .data = &dpu_sdm660_cfg, },
>> { .compatible = "qcom,sdm670-dpu", .data = &dpu_sdm670_cfg, },
>> --
>> 2.34.1
>>
^ permalink raw reply [flat|nested] 20+ messages in thread
end of thread, other threads:[~2024-09-30 15:42 UTC | newest]
Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-09-26 11:01 [PATCH v2 0/5] Display enablement changes for Qualcomm SA8775P platform Mahadevan
2024-09-26 11:01 ` [PATCH v2 1/5] dt-bindings: display/msm: Document MDSS on SA8775P Mahadevan
2024-09-26 12:59 ` Dmitry Baryshkov
2024-09-26 13:01 ` Rob Herring (Arm)
2024-09-26 13:24 ` Bjorn Andersson
2024-09-30 9:01 ` Mahadevan P
2024-09-26 13:46 ` Krzysztof Kozlowski
2024-09-26 11:01 ` [PATCH v2 2/5] dt-bindings: display/msm: Document the DPU for SA8775P Mahadevan
2024-09-26 13:00 ` Dmitry Baryshkov
2024-09-26 13:01 ` Rob Herring (Arm)
2024-09-26 13:47 ` Krzysztof Kozlowski
2024-09-26 11:01 ` [PATCH v2 3/5] drm/msm: mdss: Add SA8775P support Mahadevan
2024-09-26 13:02 ` Dmitry Baryshkov
2024-09-27 6:44 ` Mahadevan P
2024-09-27 8:42 ` Dmitry Baryshkov
2024-09-26 11:01 ` [PATCH v2 4/5] drm/msm/dpu: " Mahadevan
2024-09-26 13:09 ` Dmitry Baryshkov
2024-09-30 15:41 ` Mahadevan P
2024-09-26 11:01 ` [PATCH v2 5/5] arm64: dts: qcom: sa8775p: add display dt nodes Mahadevan
2024-09-26 13:12 ` Dmitry Baryshkov
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).