Re: [PATCH 1/5] dt-bindings: display/msm: Document MDSS on QCS8300

2024-11-29 Thread Yongxing Mou




On 2024/11/27 20:01, Krzysztof Kozlowski wrote:

On 27/11/2024 12:02, Yongxing Mou wrote:


doc reference errors (make refcheckdocs):

See 
https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20241127-mdss_qcs8300-v1-1-29b2c3ee9...@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.


Thank you for your checking. I rechecked this file and indeed found some
issues. I will fix them in the next patchset. But i did not see issues
related to this header file in local. Maybe it is dependency or tool
issues. I will and update tool and recheck this issue and fix it in the
next patchset.



Read the instruction carefully, including statement about base.

Thank you very much for your reminder. I will carefully read and execute 
these suggestions.



Best regards,
Krzysztof




Re: [PATCH 2/5] dt-bindings: display/msm: Document the DPU for QCS8300

2024-11-29 Thread Yongxing Mou




On 2024/11/27 21:56, Dmitry Baryshkov wrote:

On Wed, Nov 27, 2024 at 03:05:02PM +0800, Yongxing Mou wrote:

Document the DPU for Qualcomm QCS8300 platform.

Signed-off-by: Yongxing Mou 
---
  Documentation/devicetree/bindings/display/msm/qcom,sm8650-dpu.yaml | 1 +
  1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/display/msm/qcom,sm8650-dpu.yaml 
b/Documentation/devicetree/bindings/display/msm/qcom,sm8650-dpu.yaml
index 
01cf79bd754b491349c52c5aef49ba06e835d0bf..631181df2bcf2752679be4de0dee74e15e2c66c2
 100644
--- a/Documentation/devicetree/bindings/display/msm/qcom,sm8650-dpu.yaml
+++ b/Documentation/devicetree/bindings/display/msm/qcom,sm8650-dpu.yaml
@@ -14,6 +14,7 @@ $ref: /schemas/display/msm/dpu-common.yaml#
  properties:
compatible:
  enum:
+  - qcom,qcs8300-dpu


The DPU is the same as the one on SA8775P. Drop it completely.
Thanks,got it.The DPU of qcs8300 and sa8775p are exactly the same, but 
sa8775p has two DPUs, while qcs8300 has only one DPU and has removed 
intf2, intf4, and intf8. That's their difference.Can qcs8300 reuse 
sa8775p's dpu driver? if we can reuse it,will drop this patch.





- qcom,sa8775p-dpu
- qcom,sm8650-dpu
- qcom,x1e80100-dpu

--
2.34.1







Re: [PATCH 3/5] drm/msm: mdss: Add QCS8300 support

2024-11-29 Thread Yongxing Mou




On 2024/11/27 21:46, Dmitry Baryshkov wrote:

On Wed, Nov 27, 2024 at 03:05:03PM +0800, Yongxing Mou wrote:

Add Mobile Display Subsystem (MDSS) support for the QCS8300 platform.


Please mention, why do you need it at all. I see that the UBWC swizzle
and HBB settings are different. Is this really the case? Is it because
of the different memory being used on those platforms?

Thanks, will modify the comment to add more information .QCS8300 UBWC 
setting is quite different with SA8775P,it use different memory,so their 
recommended configurations are not quite the same.this is really setting.


Signed-off-by: Yongxing Mou 
---
  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 
b7bd899ead44bf86998e7295bccb31a334fa6811..90d8fe469d3134ec73f386153509ac257d75930a
 100644
--- a/drivers/gpu/drm/msm/msm_mdss.c
+++ b/drivers/gpu/drm/msm/msm_mdss.c
@@ -568,6 +568,16 @@ static const struct msm_mdss_data qcm2290_data = {
.reg_bus_bw = 76800,
  };
  
+static const struct msm_mdss_data qcs8300_data = {

+   .ubwc_enc_version = UBWC_4_0,
+   .ubwc_dec_version = UBWC_4_0,
+   .ubwc_swizzle = 6,
+   .ubwc_static = 1,
+   .highest_bank_bit = 3,
+   .macrotile_mode = 1,
+   .reg_bus_bw = 74000,
+};
+
  static const struct msm_mdss_data sa8775p_data = {
.ubwc_enc_version = UBWC_4_0,
.ubwc_dec_version = UBWC_4_0,
@@ -715,6 +725,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,qcs8300-mdss", .data = &qcs8300_data },
{ .compatible = "qcom,sa8775p-mdss", .data = &sa8775p_data },
{ .compatible = "qcom,sdm670-mdss", .data = &sdm670_data },
{ .compatible = "qcom,sdm845-mdss", .data = &sdm845_data },

--
2.34.1







Re: [PATCH 4/5] drm/msm/dpu: Add QCS8300 support

2024-11-29 Thread Yongxing Mou




On 2024/11/27 21:49, Dmitry Baryshkov wrote:

On Wed, Nov 27, 2024 at 03:05:04PM +0800, Yongxing Mou wrote:

Add definitions for the display hardware used on the
Qualcomm QCS8300 platform.

Signed-off-by: Yongxing Mou 
---
  .../drm/msm/disp/dpu1/catalog/dpu_8_4_qcs8300.h| 485 +
  drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c |   1 +
  drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.h |   1 +
  drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c|   1 +
  4 files changed, 488 insertions(+)




NAK, there is no need for this.
Got it,thanks. will modify it in next patchset.Compared to sa8775p, they 
use same dpu but qcs8300 has one less intf and two fewer dp intfs. Other 
configurations are the same.can we reuse it or a new catalog file to 
show it.







Re: [PATCH 0/5] Display enablement changes for Qualcomm QCS8300 platform

2024-11-29 Thread Yongxing Mou




On 2024/11/27 20:01, Krzysztof Kozlowski wrote:

On 27/11/2024 11:54, Yongxing Mou wrote:



On 2024/11/27 15:13, Krzysztof Kozlowski wrote:

On 27/11/2024 08:05, Yongxing Mou wrote:

This series introduces support to enable the Mobile Display Subsystem (MDSS)
and Display Processing Unit (DPU) for the Qualcomm QCS8300 target. It
includes the addition of the hardware catalog, compatible string,
relevant device tree changes, and their YAML bindings.

Signed-off-by: Yongxing Mou 
---
This series depends on following series:
https://lore.kernel.org/all/20241114-qcs8300-mm-cc-dt-patch-v1-1-7a974508c...@quicinc.com/
https://lore.kernel.org/all/20240925-qcs8300_initial_dtsi-v2-0-494c40fa2...@quicinc.com/

Above was not part of this merge window, so nothing from your patchset
can be merged for this v6.14.

If you want things to get merged, I suggest decoupling dependencies.


Thanks for reviewing.Can we keep the dependency on above changes and
merge our changes after the dependent changes are merged?

So merged in 4 months? for v6.15-rc1? You can.

Thank you for your reminder.agree with you that should decouple 
dependencies in next patchset.I will submit the drive changes and the 
dtsi changes separately.

Best regards,
Krzysztof




Re: [PATCH 0/5] Display enablement changes for Qualcomm QCS8300 platform

2024-11-29 Thread Yongxing Mou




On 2024/11/27 21:51, Dmitry Baryshkov wrote:

On Wed, Nov 27, 2024 at 06:54:10PM +0800, Yongxing Mou wrote:



On 2024/11/27 15:13, Krzysztof Kozlowski wrote:

On 27/11/2024 08:05, Yongxing Mou wrote:

This series introduces support to enable the Mobile Display Subsystem (MDSS)
and Display Processing Unit (DPU) for the Qualcomm QCS8300 target. It
includes the addition of the hardware catalog, compatible string,
relevant device tree changes, and their YAML bindings.

Signed-off-by: Yongxing Mou 
---
This series depends on following series:
https://lore.kernel.org/all/20241114-qcs8300-mm-cc-dt-patch-v1-1-7a974508c...@quicinc.com/
https://lore.kernel.org/all/20240925-qcs8300_initial_dtsi-v2-0-494c40fa2...@quicinc.com/

Above was not part of this merge window, so nothing from your patchset
can be merged for this v6.14.

If you want things to get merged, I suggest decoupling dependencies.


Thanks for reviewing.Can we keep the dependency on above changes and merge
our changes after the dependent changes are merged?


Just drop _all_dependencies from display/msm patches. Otherwise I won't
be able to pick them up until 6.15-rc. Use ephemeral DT nodes in the
examples.


Thanks, got it. will update it in next patchset.



Re: [PATCH 1/4] dt-bindings: phy: Add eDP PHY compatible for qcs8300

2024-11-29 Thread Yongxing Mou




On 2024/11/28 2:28, Krzysztof Kozlowski wrote:

On 27/11/2024 09:15, Yongxing Mou wrote:

Add compatible string for the supported eDP PHY on qcs8300 platform.



What is supported eDP PHY? Can it be unsupported? Anyway, this repeats
the diff. Say something useful instead, like why this is not compatible
with sa8775p.

Best regards,
Krzysztof


Actually,for edp phy,it is same with sa8775p, so will reuse it's driver 
in next patchset.so this patch should drop it..Thansk for reviewing.




[PATCH 2/5] dt-bindings: display/msm: Document the DPU for QCS8300

2024-11-26 Thread Yongxing Mou
Document the DPU for Qualcomm QCS8300 platform.

Signed-off-by: Yongxing Mou 
---
 Documentation/devicetree/bindings/display/msm/qcom,sm8650-dpu.yaml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/display/msm/qcom,sm8650-dpu.yaml 
b/Documentation/devicetree/bindings/display/msm/qcom,sm8650-dpu.yaml
index 
01cf79bd754b491349c52c5aef49ba06e835d0bf..631181df2bcf2752679be4de0dee74e15e2c66c2
 100644
--- a/Documentation/devicetree/bindings/display/msm/qcom,sm8650-dpu.yaml
+++ b/Documentation/devicetree/bindings/display/msm/qcom,sm8650-dpu.yaml
@@ -14,6 +14,7 @@ $ref: /schemas/display/msm/dpu-common.yaml#
 properties:
   compatible:
 enum:
+  - qcom,qcs8300-dpu
   - qcom,sa8775p-dpu
   - qcom,sm8650-dpu
   - qcom,x1e80100-dpu

-- 
2.34.1



[PATCH 4/5] drm/msm/dpu: Add QCS8300 support

2024-11-26 Thread Yongxing Mou
Add definitions for the display hardware used on the
Qualcomm QCS8300 platform.

Signed-off-by: Yongxing Mou 
---
 .../drm/msm/disp/dpu1/catalog/dpu_8_4_qcs8300.h| 485 +
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c |   1 +
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.h |   1 +
 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c|   1 +
 4 files changed, 488 insertions(+)

diff --git a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_8_4_qcs8300.h 
b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_8_4_qcs8300.h
new file mode 100644
index 
..4cfbe1a76dec2a93caccd6e2e791bbc6051cd36e
--- /dev/null
+++ b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_8_4_qcs8300.h
@@ -0,0 +1,485 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved.
+ */
+
+#ifndef _DPU_8_4_QCS8300_H
+#define _DPU_8_4_QCS8300_H
+
+static const struct dpu_caps qcs8300_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 qcs8300_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 qcs8300_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 qcs8300_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 

[PATCH 1/5] dt-bindings: display/msm: Document MDSS on QCS8300

2024-11-26 Thread Yongxing Mou
Document the MDSS hardware found on the Qualcomm QCS8300 platform.

Signed-off-by: Yongxing Mou 
---
 .../bindings/display/msm/qcom,qcs8300-mdss.yaml| 239 +
 1 file changed, 239 insertions(+)

diff --git 
a/Documentation/devicetree/bindings/display/msm/qcom,qcs8300-mdss.yaml 
b/Documentation/devicetree/bindings/display/msm/qcom,qcs8300-mdss.yaml
new file mode 100644
index 
..87d6599d30b2b7b689eb31d3690c0de511aecb95
--- /dev/null
+++ b/Documentation/devicetree/bindings/display/msm/qcom,qcs8300-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,qcs8300-mdss.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Qualcomm Technologies, Inc. QCS8300 Display MDSS
+
+maintainers:
+  - Yongxing Mou 
+
+description:
+  QCS8300 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,qcs8300-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
+additionalProperties: true
+
+properties:
+  compatible:
+const: qcom,qcs8300-dpu
+
+  "^displayport-controller@[0-9a-f]+$":
+type: object
+additionalProperties: true
+
+properties:
+  compatible:
+items:
+  - const: qcom,qcs8300-dp
+
+required:
+  - compatible
+
+unevaluatedProperties: false
+
+examples:
+  - |
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+
+mdss: display-subsystem@ae0 {
+compatible = "qcom,qcs8300-mdss";
+reg = <0 0x0ae0 0 0x1000>;
+reg-names = "mdss";
+
+interconnects = <&mmss_noc MASTER_MDP0 QCOM_ICC_TAG_ACTIVE_ONLY
+ &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ACTIVE_ONLY>,
+<&mmss_noc MASTER_MDP1 QCOM_ICC_TAG_ACTIVE_ONLY
+ &mc_virt SLAVE_EBI1 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";
+
+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 = ;
+interrupt-controller;
+#interrupt-cells = <1>;
+
+iommus = <&apps_smmu 0x1000 0x402>;
+
+#address-cells = <2>;
+#size-cells = <2>;
+ranges;
+
+status = "disabled";
+
+mdss_mdp: display-controller@ae01000 {
+compatible = "qcom,qcs8300-dpu";
+reg = <0 0x0ae01000 0 0x8f000>,
+  <0 0x0aeb 0 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 = <1920>;
+operating-points-v2 = <&mdp_opp_table>;
+power-domains = <&rpmhpd RPMHPD_MMCX>;
+
+interrupt-parent = <&mdss>;
+interrupts = <0>;
+ports {
+#address-cells = <1>;
+#size-cells = <0>;
+port@0 {
+reg = <0>;
+dpu_intf0_out: endpoint {
+ remote-endpoint = <&mdss_dp0_in>;
+};
+};
+};
+
+mdp_opp_table: opp-table {
+compatible = "operating-point

[PATCH 0/5] Display enablement changes for Qualcomm QCS8300 platform

2024-11-26 Thread Yongxing Mou
This series introduces support to enable the Mobile Display Subsystem (MDSS)
and Display Processing Unit (DPU) for the Qualcomm QCS8300 target. It
includes the addition of the hardware catalog, compatible string,
relevant device tree changes, and their YAML bindings.

Signed-off-by: Yongxing Mou 
---
This series depends on following series:
https://lore.kernel.org/all/20241114-qcs8300-mm-cc-dt-patch-v1-1-7a974508c...@quicinc.com/
https://lore.kernel.org/all/20240925-qcs8300_initial_dtsi-v2-0-494c40fa2...@quicinc.com/

---
Yongxing Mou (5):
  dt-bindings: display/msm: Document MDSS on QCS8300
  dt-bindings: display/msm: Document the DPU for QCS8300
  drm/msm: mdss: Add QCS8300 support
  drm/msm/dpu: Add QCS8300 support
  arm64: dts: qcom: qcs8300: add display dt nodes for MDSS and DPU

 .../bindings/display/msm/qcom,qcs8300-mdss.yaml| 239 ++
 .../bindings/display/msm/qcom,sm8650-dpu.yaml  |   1 +
 arch/arm64/boot/dts/qcom/qcs8300.dtsi  |  87 
 .../drm/msm/disp/dpu1/catalog/dpu_8_4_qcs8300.h| 485 +
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c |   1 +
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.h |   1 +
 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c|   1 +
 drivers/gpu/drm/msm/msm_mdss.c |  11 +
 8 files changed, 826 insertions(+)
---
base-commit: 414c97c966b69e4a6ea7b32970fa166b2f9b9ef0
change-id: 20241121-mdss_qcs8300-c31b52c0d599
prerequisite-message-id: 
20240925-qcs8300_initial_dtsi-v2-0-494c40fa2...@quicinc.com
prerequisite-patch-id: 73c78f31fa1d504124d4a82b578a6a14126cccd8
prerequisite-patch-id: 5a01283c8654ae7c696d9c69cb21505b71c5ca27
prerequisite-patch-id: dc633d5aaac790776a8a213ea2faa4890a3f665d
prerequisite-patch-id: 9ecf4cb8b5842ac64e51d6baa0e6c1fbe449ee66
prerequisite-message-id: 
20241114-qcs8300-mm-cc-dt-patch-v1-1-7a974508c...@quicinc.com
prerequisite-patch-id: 8faad5c6d8ca255935d3e4d317dcbcc32b8261ff

Best regards,
-- 
Yongxing Mou 



[PATCH 3/5] drm/msm: mdss: Add QCS8300 support

2024-11-26 Thread Yongxing Mou
Add Mobile Display Subsystem (MDSS) support for the QCS8300 platform.

Signed-off-by: Yongxing Mou 
---
 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 
b7bd899ead44bf86998e7295bccb31a334fa6811..90d8fe469d3134ec73f386153509ac257d75930a
 100644
--- a/drivers/gpu/drm/msm/msm_mdss.c
+++ b/drivers/gpu/drm/msm/msm_mdss.c
@@ -568,6 +568,16 @@ static const struct msm_mdss_data qcm2290_data = {
.reg_bus_bw = 76800,
 };
 
+static const struct msm_mdss_data qcs8300_data = {
+   .ubwc_enc_version = UBWC_4_0,
+   .ubwc_dec_version = UBWC_4_0,
+   .ubwc_swizzle = 6,
+   .ubwc_static = 1,
+   .highest_bank_bit = 3,
+   .macrotile_mode = 1,
+   .reg_bus_bw = 74000,
+};
+
 static const struct msm_mdss_data sa8775p_data = {
.ubwc_enc_version = UBWC_4_0,
.ubwc_dec_version = UBWC_4_0,
@@ -715,6 +725,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,qcs8300-mdss", .data = &qcs8300_data },
{ .compatible = "qcom,sa8775p-mdss", .data = &sa8775p_data },
{ .compatible = "qcom,sdm670-mdss", .data = &sdm670_data },
{ .compatible = "qcom,sdm845-mdss", .data = &sdm845_data },

-- 
2.34.1



[PATCH 5/5] arm64: dts: qcom: qcs8300: add display dt nodes for MDSS and DPU

2024-11-26 Thread Yongxing Mou
Add devicetree changes to enable MDSS display-subsystem and its
display-controller(DPU) for Qualcomm QCS8300 platform.

Signed-off-by: Yongxing Mou 
---
 arch/arm64/boot/dts/qcom/qcs8300.dtsi | 87 +++
 1 file changed, 87 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/qcs8300.dtsi 
b/arch/arm64/boot/dts/qcom/qcs8300.dtsi
index 
60f45d8b9d556a5909750fae286fc33dbf77b308..42a578e1f99017b8aafb1e967b8675210957812e
 100644
--- a/arch/arm64/boot/dts/qcom/qcs8300.dtsi
+++ b/arch/arm64/boot/dts/qcom/qcs8300.dtsi
@@ -926,6 +926,93 @@ camcc: clock-controller@ade {
#power-domain-cells = <1>;
};
 
+   mdss: display-subsystem@ae0 {
+   compatible = "qcom,qcs8300-mdss";
+   reg = <0x0 0x0ae0 0x0 0x1000>;
+   reg-names = "mdss";
+
+   interconnects = <&mmss_noc MASTER_MDP0 
QCOM_ICC_TAG_ACTIVE_ONLY
+&mc_virt SLAVE_EBI1 
QCOM_ICC_TAG_ACTIVE_ONLY>,
+   <&mmss_noc MASTER_MDP1 
QCOM_ICC_TAG_ACTIVE_ONLY
+&mc_virt SLAVE_EBI1 
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 = <&dispcc MDSS_DISP_CC_MDSS_CORE_BCR>;
+
+   power-domains = <&dispcc MDSS_DISP_CC_MDSS_CORE_GDSC>;
+
+   clocks = <&dispcc MDSS_DISP_CC_MDSS_AHB_CLK>,
+<&gcc GCC_DISP_HF_AXI_CLK>,
+<&dispcc MDSS_DISP_CC_MDSS_MDP_CLK>;
+
+   interrupts = ;
+   interrupt-controller;
+   #interrupt-cells = <1>;
+
+   iommus = <&apps_smmu 0x1000 0x402>;
+
+   #address-cells = <2>;
+   #size-cells = <2>;
+   ranges;
+
+   status = "disabled";
+
+   mdss_mdp: display-controller@ae01000 {
+   compatible = "qcom,qcs8300-dpu";
+   reg = <0x0 0x0ae01000 0x0 0x8f000>,
+ <0x0 0x0aeb 0x0 0x2008>;
+   reg-names = "mdp", "vbif";
+
+   clocks = <&gcc GCC_DISP_HF_AXI_CLK>,
+<&dispcc MDSS_DISP_CC_MDSS_AHB_CLK>,
+<&dispcc 
MDSS_DISP_CC_MDSS_MDP_LUT_CLK>,
+<&dispcc MDSS_DISP_CC_MDSS_MDP_CLK>,
+<&dispcc MDSS_DISP_CC_MDSS_VSYNC_CLK>;
+   clock-names = "bus",
+ "iface",
+ "lut",
+ "core",
+ "vsync";
+
+   assigned-clocks = <&dispcc 
MDSS_DISP_CC_MDSS_VSYNC_CLK>;
+   assigned-clock-rates = <1920>;
+
+   operating-points-v2 = <&mdp_opp_table>;
+   power-domains = <&rpmhpd RPMHPD_MMCX>;
+
+   interrupt-parent = <&mdss>;
+   interrupts = <0>;
+
+   mdp_opp_table: opp-table {
+   compatible = "operating-points-v2";
+
+   opp-37500 {
+   opp-hz = /bits/ 64 <37500>;
+   required-opps = 
<&rpmhpd_opp_svs_l1>;
+   };
+
+   opp-5 {
+   opp-hz = /bits/ 64 <5>;
+   required-opps = 
<&rpmhpd_opp_nom>;
+   };
+
+   opp-57500 {
+

Re: [PATCH 1/5] dt-bindings: display/msm: Document MDSS on QCS8300

2024-11-26 Thread Yongxing Mou




On 2024/11/27 15:15, Krzysztof Kozlowski wrote:

On 27/11/2024 08:05, Yongxing Mou wrote:

Document the MDSS hardware found on the Qualcomm QCS8300 platform.

Signed-off-by: Yongxing Mou 



Will fail testing, so only limited review.


Thanks for reviewing,will fix it in next patchset.

+examples:
+  - |
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+
+mdss: display-subsystem@ae0 {
+compatible = "qcom,qcs8300-mdss";
+reg = <0 0x0ae0 0 0x1000>;
+reg-names = "mdss";
+
+interconnects = <&mmss_noc MASTER_MDP0 QCOM_ICC_TAG_ACTIVE_ONLY
+ &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ACTIVE_ONLY>,
+<&mmss_noc MASTER_MDP1 QCOM_ICC_TAG_ACTIVE_ONLY
+ &mc_virt SLAVE_EBI1 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";
+
+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 = ;
+interrupt-controller;
+#interrupt-cells = <1>;
+
+iommus = <&apps_smmu 0x1000 0x402>;
+
+#address-cells = <2>;
+#size-cells = <2>;
+ranges;
+
+status = "disabled";


No, your code cannot be disabled.


Thanks, will remove it.

+
+mdss_mdp: display-controller@ae01000 {
+compatible = "qcom,qcs8300-dpu";
+reg = <0 0x0ae01000 0 0x8f000>,
+  <0 0x0aeb 0 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 = <1920>;
+operating-points-v2 = <&mdp_opp_table>;
+power-domains = <&rpmhpd RPMHPD_MMCX>;
+
+interrupt-parent = <&mdss>;
+interrupts = <0>;
+ports {
+#address-cells = <1>;
+#size-cells = <0>;
+port@0 {
+reg = <0>;
+dpu_intf0_out: endpoint {
+ remote-endpoint = <&mdss_dp0_in>;
+};
+};
+};
+
+mdp_opp_table: opp-table {
+compatible = "operating-points-v2";
+
+opp-37500 {
+opp-hz = /bits/ 64 <37500>;
+required-opps = <&rpmhpd_opp_svs_l1>;
+};
+
+opp-5 {
+opp-hz = /bits/ 64 <5>;
+required-opps = <&rpmhpd_opp_nom>;
+};
+
+opp-57500 {
+opp-hz = /bits/ 64 <57500>;
+required-opps = <&rpmhpd_opp_turbo>;
+};
+
+opp-65000 {
+opp-hz = /bits/ 64 <65000>;
+required-opps = <&rpmhpd_opp_turbo_l1>;
+};
+};
+};
+
+mdss_dp0: displayport-controller@af54000 {
+compatible = "qcom,qcs8300-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 = <&mdss>;
+interrupts = <12>;
+clocks = <&dispcc0 MDSS_DISP_CC_MDSS_AHB_CLK>,
+<&dispcc0 MDSS_DISP_CC_MDSS_DPTX0_AUX_CLK>,


Messed alignment in multiple places.


Thanks, will fix it in next patchset.

+  

[PATCH 1/4] dt-bindings: phy: Add eDP PHY compatible for qcs8300

2024-11-27 Thread Yongxing Mou
Add compatible string for the supported eDP PHY on qcs8300 platform.

Signed-off-by: Yongxing Mou 
---
 Documentation/devicetree/bindings/phy/qcom,edp-phy.yaml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/phy/qcom,edp-phy.yaml 
b/Documentation/devicetree/bindings/phy/qcom,edp-phy.yaml
index 
293fb6a9b1c330438bceba15226c91e392c840fb..e249aee9b11d58b8f2a9c8708285e0f2510bafc7
 100644
--- a/Documentation/devicetree/bindings/phy/qcom,edp-phy.yaml
+++ b/Documentation/devicetree/bindings/phy/qcom,edp-phy.yaml
@@ -17,6 +17,7 @@ description:
 properties:
   compatible:
 enum:
+  - qcom,qcs8300-edp-phy
   - qcom,sa8775p-edp-phy
   - qcom,sc7280-edp-phy
   - qcom,sc8180x-edp-phy

-- 
2.34.1



[PATCH 0/4] Add support for DisplayPort on QCS8300 platform

2024-11-27 Thread Yongxing Mou
This series adds support for the DisplayPort controller
and eDP PHY v5 found on the Qualcomm QCS8300 platform.

Signed-off-by: Yongxing Mou 
---
Yongxing Mou (4):
  dt-bindings: phy: Add eDP PHY compatible for qcs8300
  phy: qcom: edp: Add support for eDP PHY on QCS8300
  dt-bindings: display: msm: dp-controller: document QCS8300 compatible
  drm/msm/dp: Add DisplayPort controller for QCS8300

 Documentation/devicetree/bindings/display/msm/dp-controller.yaml | 1 +
 Documentation/devicetree/bindings/phy/qcom,edp-phy.yaml  | 1 +
 drivers/gpu/drm/msm/dp/dp_display.c  | 6 ++
 drivers/phy/qualcomm/phy-qcom-edp.c  | 8 
 4 files changed, 16 insertions(+)
---
base-commit: 414c97c966b69e4a6ea7b32970fa166b2f9b9ef0
change-id: 20241127-qcs8300_dp-272c591c3aea

Best regards,
-- 
Yongxing Mou 



[PATCH 2/4] phy: qcom: edp: Add support for eDP PHY on QCS8300

2024-11-27 Thread Yongxing Mou
Add support for eDP PHY v5 found on the Qualcomm QCS8300 platform.

Signed-off-by: Yongxing Mou 
---
 drivers/phy/qualcomm/phy-qcom-edp.c | 8 
 1 file changed, 8 insertions(+)

diff --git a/drivers/phy/qualcomm/phy-qcom-edp.c 
b/drivers/phy/qualcomm/phy-qcom-edp.c
index 
f1b51018683d51df064f60440864c6031638670c..90e0a399c25299ad1b2fb5df8512ba3888661046
 100644
--- a/drivers/phy/qualcomm/phy-qcom-edp.c
+++ b/drivers/phy/qualcomm/phy-qcom-edp.c
@@ -532,6 +532,13 @@ static const struct phy_ver_ops qcom_edp_phy_ops_v4 = {
.com_configure_ssc  = qcom_edp_com_configure_ssc_v4,
 };
 
+static const struct qcom_edp_phy_cfg qcs8300_dp_phy_cfg = {
+   .is_edp = false,
+   .aux_cfg = edp_phy_aux_cfg_v5,
+   .swing_pre_emph_cfg = &edp_phy_swing_pre_emph_cfg_v5,
+   .ver_ops = &qcom_edp_phy_ops_v4,
+};
+
 static const struct qcom_edp_phy_cfg sa8775p_dp_phy_cfg = {
.is_edp = false,
.aux_cfg = edp_phy_aux_cfg_v5,
@@ -1133,6 +1140,7 @@ static int qcom_edp_phy_probe(struct platform_device 
*pdev)
 }
 
 static const struct of_device_id qcom_edp_phy_match_table[] = {
+   { .compatible = "qcom,qcs8300-edp-phy", .data = &qcs8300_dp_phy_cfg, },
{ .compatible = "qcom,sa8775p-edp-phy", .data = &sa8775p_dp_phy_cfg, },
{ .compatible = "qcom,sc7280-edp-phy", .data = &sc7280_dp_phy_cfg, },
{ .compatible = "qcom,sc8180x-edp-phy", .data = &sc7280_dp_phy_cfg, },

-- 
2.34.1



[PATCH 3/4] dt-bindings: display: msm: dp-controller: document QCS8300 compatible

2024-11-27 Thread Yongxing Mou
Add compatible string for the DisplayPort controller found on the
Qualcomm QCS8300 platform.

Signed-off-by: Yongxing Mou 
---
 Documentation/devicetree/bindings/display/msm/dp-controller.yaml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/display/msm/dp-controller.yaml 
b/Documentation/devicetree/bindings/display/msm/dp-controller.yaml
index 
a212f335d5ffae545d2e5bacec95299ca45e8405..eb14cf624da6f835523499a619c09a50586ecb30
 100644
--- a/Documentation/devicetree/bindings/display/msm/dp-controller.yaml
+++ b/Documentation/devicetree/bindings/display/msm/dp-controller.yaml
@@ -17,6 +17,7 @@ properties:
   compatible:
 oneOf:
   - enum:
+  - qcom,qcs8300-dp
   - qcom,sa8775p-dp
   - qcom,sc7180-dp
   - qcom,sc7280-dp

-- 
2.34.1



[PATCH 4/4] drm/msm/dp: Add DisplayPort controller for QCS8300

2024-11-27 Thread Yongxing Mou
The Qualcomm QCS8300 platform comes with a DisplayPort controller
with same base offset with SA8775P, add support for this in the
DisplayPort driver.

Signed-off-by: Yongxing Mou 
---
 drivers/gpu/drm/msm/dp/dp_display.c | 6 ++
 1 file changed, 6 insertions(+)

diff --git a/drivers/gpu/drm/msm/dp/dp_display.c 
b/drivers/gpu/drm/msm/dp/dp_display.c
index 
aba925aab7ad7c6652e81004043864c1cb3ac370..f870faa89f26a8cb5bd7f4caf11f42e919c9efac
 100644
--- a/drivers/gpu/drm/msm/dp/dp_display.c
+++ b/drivers/gpu/drm/msm/dp/dp_display.c
@@ -118,6 +118,11 @@ struct msm_dp_desc {
bool wide_bus_supported;
 };
 
+static const struct msm_dp_desc msm_dp_desc_qcs8300[] = {
+   { .io_start = 0x0af54000, .id = MSM_DP_CONTROLLER_0, 
.wide_bus_supported = true },
+   {}
+};
+
 static const struct msm_dp_desc msm_dp_desc_sa8775p[] = {
{ .io_start = 0x0af54000, .id = MSM_DP_CONTROLLER_0, 
.wide_bus_supported = true },
{ .io_start = 0x0af5c000, .id = MSM_DP_CONTROLLER_1, 
.wide_bus_supported = true },
@@ -170,6 +175,7 @@ static const struct msm_dp_desc msm_dp_desc_x1e80100[] = {
 };
 
 static const struct of_device_id msm_dp_dt_match[] = {
+   { .compatible = "qcom,qcs8300-dp", .data = &msm_dp_desc_qcs8300 },
{ .compatible = "qcom,sa8775p-dp", .data = &msm_dp_desc_sa8775p },
{ .compatible = "qcom,sc7180-dp", .data = &msm_dp_desc_sc7180 },
{ .compatible = "qcom,sc7280-dp", .data = &msm_dp_desc_sc7280 },

-- 
2.34.1



Re: [PATCH 0/5] Display enablement changes for Qualcomm QCS8300 platform

2024-11-27 Thread Yongxing Mou




On 2024/11/27 15:13, Krzysztof Kozlowski wrote:

On 27/11/2024 08:05, Yongxing Mou wrote:

This series introduces support to enable the Mobile Display Subsystem (MDSS)
and Display Processing Unit (DPU) for the Qualcomm QCS8300 target. It
includes the addition of the hardware catalog, compatible string,
relevant device tree changes, and their YAML bindings.

Signed-off-by: Yongxing Mou 
---
This series depends on following series:
https://lore.kernel.org/all/20241114-qcs8300-mm-cc-dt-patch-v1-1-7a974508c...@quicinc.com/
https://lore.kernel.org/all/20240925-qcs8300_initial_dtsi-v2-0-494c40fa2...@quicinc.com/

Above was not part of this merge window, so nothing from your patchset
can be merged for this v6.14.

If you want things to get merged, I suggest decoupling dependencies.

Thanks for reviewing.Can we keep the dependency on above changes and 
merge our changes after the dependent changes are merged?

Best regards,
Krzysztof




Re: [PATCH 1/5] dt-bindings: display/msm: Document MDSS on QCS8300

2024-11-27 Thread Yongxing Mou




On 2024/11/27 16:21, Rob Herring (Arm) wrote:


On Wed, 27 Nov 2024 15:05:01 +0800, Yongxing Mou wrote:

Document the MDSS hardware found on the Qualcomm QCS8300 platform.

Signed-off-by: Yongxing Mou 
---
  .../bindings/display/msm/qcom,qcs8300-mdss.yaml| 239 +
  1 file changed, 239 insertions(+)



My bot found errors running 'make dt_binding_check' on your patch:

yamllint warnings/errors:

dtschema/dtc warnings/errors:
Documentation/devicetree/bindings/display/msm/qcom,qcs8300-mdss.example.dts:26:18:
 fatal error: dt-bindings/clock/qcom,qcs8300-gcc.h: No such file or directory
26 | #include 
   |  ^~
compilation terminated.
make[2]: *** [scripts/Makefile.dtbs:129: 
Documentation/devicetree/bindings/display/msm/qcom,qcs8300-mdss.example.dtb] 
Error 1
make[2]: *** Waiting for unfinished jobs
make[1]: *** [/builds/robherring/dt-review-ci/linux/Makefile:1442: 
dt_binding_check] Error 2
make: *** [Makefile:224: __sub-make] Error 2

doc reference errors (make refcheckdocs):

See 
https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20241127-mdss_qcs8300-v1-1-29b2c3ee9...@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.

Thank you for your checking. I rechecked this file and indeed found some 
issues. I will fix them in the next patchset. But i did not see issues 
related to this header file in local. Maybe it is dependency or tool 
issues. I will and update tool and recheck this issue and fix it in the 
next patchset.




Re: [PATCH 0/5] Display enablement changes for Qualcomm QCS8300 platform

2024-11-27 Thread Yongxing Mou




On 2024/11/27 19:06, Tingwei Zhang wrote:

On 11/27/2024 6:54 PM, Yongxing Mou wrote:



On 2024/11/27 15:13, Krzysztof Kozlowski wrote:

On 27/11/2024 08:05, Yongxing Mou wrote:
This series introduces support to enable the Mobile Display 
Subsystem (MDSS)

and Display Processing Unit (DPU) for the Qualcomm QCS8300 target. It
includes the addition of the hardware catalog, compatible string,
relevant device tree changes, and their YAML bindings.

Signed-off-by: Yongxing Mou 
---
This series depends on following series:
https://lore.kernel.org/all/20241114-qcs8300-mm-cc-dt-patch- 
v1-1-7a974508c...@quicinc.com/
https://lore.kernel.org/all/20240925-qcs8300_initial_dtsi- 
v2-0-494c40fa2...@quicinc.com/

Above was not part of this merge window, so nothing from your patchset
can be merged for this v6.14.

If you want things to get merged, I suggest decoupling dependencies.

Thanks for reviewing.Can we keep the dependency on above changes and 
merge our changes after the dependent changes are merged?


You can move device tree changes which have dependency to a separate 
series and keep binding/driver changes here. They don't have dependency.


Got it.we can move this dtsi to the DP enablement DTSI change series in 
next patchset.
Best regards, 
Krzysztof










Re: [PATCH 2/5] dt-bindings: display/msm: Document the DPU for QCS8300

2024-12-04 Thread Yongxing Mou




On 2024/11/29 21:44, Dmitry Baryshkov wrote:

On Fri, 29 Nov 2024 at 11:51, Yongxing Mou  wrote:




On 2024/11/27 21:56, Dmitry Baryshkov wrote:

On Wed, Nov 27, 2024 at 03:05:02PM +0800, Yongxing Mou wrote:

Document the DPU for Qualcomm QCS8300 platform.

Signed-off-by: Yongxing Mou 
---
   Documentation/devicetree/bindings/display/msm/qcom,sm8650-dpu.yaml | 1 +
   1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/display/msm/qcom,sm8650-dpu.yaml 
b/Documentation/devicetree/bindings/display/msm/qcom,sm8650-dpu.yaml
index 
01cf79bd754b491349c52c5aef49ba06e835d0bf..631181df2bcf2752679be4de0dee74e15e2c66c2
 100644
--- a/Documentation/devicetree/bindings/display/msm/qcom,sm8650-dpu.yaml
+++ b/Documentation/devicetree/bindings/display/msm/qcom,sm8650-dpu.yaml
@@ -14,6 +14,7 @@ $ref: /schemas/display/msm/dpu-common.yaml#
   properties:
 compatible:
   enum:
+  - qcom,qcs8300-dpu


The DPU is the same as the one on SA8775P. Drop it completely.

Thanks,got it.The DPU of qcs8300 and sa8775p are exactly the same, but
sa8775p has two DPUs, while qcs8300 has only one DPU and has removed
intf2, intf4, and intf8. That's their difference.Can qcs8300 reuse
sa8775p's dpu driver? if we can reuse it,will drop this patch.


Are INTF_n blocks implemented in silicon or not? What happens if one
reads one of INTF_2 or INTF_4 registers?
If they are actually RAZ or cause data aborts, you can not reuse
SA8775P catalog entry. Please add corresponding data structures to
dpu_8_4_sa8775p.h.
Sorry for later reponse,i took some time to confirm the hardware 
details.For QCS8300,DP1 CTRL/INTF_n is present in silicon.Only DP1 phy 
is removed in silicon,it not available.so i think we can reuse the 
sa8775p dpu.







 - qcom,sa8775p-dpu
 - qcom,sm8650-dpu
 - qcom,x1e80100-dpu

--
2.34.1












Re: [PATCH 3/5] drm/msm: mdss: Add QCS8300 support

2024-12-04 Thread Yongxing Mou




On 2024/11/30 2:55, Dmitry Baryshkov wrote:

On Wed, Nov 27, 2024 at 03:05:03PM +0800, Yongxing Mou wrote:

Add Mobile Display Subsystem (MDSS) support for the QCS8300 platform.

Signed-off-by: Yongxing Mou 
---
  drivers/gpu/drm/msm/msm_mdss.c | 11 +++
  1 file changed, 11 insertions(+)


Once rebased on top of [1]:

Reviewed-by: Dmitry Baryshkov 

[1] 
https://lore.kernel.org/dri-devel/20241127-msm-mdss-ubwc-v3-0-9782a7c2b...@linaro.org/


got it,thanks


diff --git a/drivers/gpu/drm/msm/msm_mdss.c b/drivers/gpu/drm/msm/msm_mdss.c
index 
b7bd899ead44bf86998e7295bccb31a334fa6811..90d8fe469d3134ec73f386153509ac257d75930a
 100644
--- a/drivers/gpu/drm/msm/msm_mdss.c
+++ b/drivers/gpu/drm/msm/msm_mdss.c
@@ -568,6 +568,16 @@ static const struct msm_mdss_data qcm2290_data = {
.reg_bus_bw = 76800,
  };
  
+static const struct msm_mdss_data qcs8300_data = {

+   .ubwc_enc_version = UBWC_4_0,
+   .ubwc_dec_version = UBWC_4_0,
+   .ubwc_swizzle = 6,
+   .ubwc_static = 1,
+   .highest_bank_bit = 3,
+   .macrotile_mode = 1,
+   .reg_bus_bw = 74000,
+};
+
  static const struct msm_mdss_data sa8775p_data = {
.ubwc_enc_version = UBWC_4_0,
.ubwc_dec_version = UBWC_4_0,
@@ -715,6 +725,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,qcs8300-mdss", .data = &qcs8300_data },
{ .compatible = "qcom,sa8775p-mdss", .data = &sa8775p_data },
{ .compatible = "qcom,sdm670-mdss", .data = &sdm670_data },
{ .compatible = "qcom,sdm845-mdss", .data = &sdm845_data },

--
2.34.1







Re: [PATCH 4/5] drm/msm/dpu: Add QCS8300 support

2024-12-05 Thread Yongxing Mou




On 2024/11/29 21:32, Dmitry Baryshkov wrote:

On Fri, 29 Nov 2024 at 12:01, Yongxing Mou  wrote:




On 2024/11/27 21:49, Dmitry Baryshkov wrote:

On Wed, Nov 27, 2024 at 03:05:04PM +0800, Yongxing Mou wrote:

Add definitions for the display hardware used on the
Qualcomm QCS8300 platform.

Signed-off-by: Yongxing Mou 
---
   .../drm/msm/disp/dpu1/catalog/dpu_8_4_qcs8300.h| 485 
+
   drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c |   1 +
   drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.h |   1 +
   drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c|   1 +
   4 files changed, 488 insertions(+)




NAK, there is no need for this.

Got it,thanks. will modify it in next patchset.Compared to sa8775p, they
use same dpu but qcs8300 has one less intf and two fewer dp intfs. Other
configurations are the same.can we reuse it or a new catalog file to
show it.


Is it actually not populated in the silicon? What happens if one
access those INTF_n registers?

yes, intf_n and ctrl is present in silicon.it is fine to dump intf/ctrl 
registers.


Re: [PATCH 3/5] drm/msm: mdss: Add QCS8300 support

2024-12-05 Thread Yongxing Mou




On 2024/11/29 21:37, Dmitry Baryshkov wrote:

On Fri, 29 Nov 2024 at 11:56, Yongxing Mou  wrote:




On 2024/11/27 21:46, Dmitry Baryshkov wrote:

On Wed, Nov 27, 2024 at 03:05:03PM +0800, Yongxing Mou wrote:

Add Mobile Display Subsystem (MDSS) support for the QCS8300 platform.


Please mention, why do you need it at all. I see that the UBWC swizzle
and HBB settings are different. Is this really the case? Is it because
of the different memory being used on those platforms?


Thanks, will modify the comment to add more information .QCS8300 UBWC
setting is quite different with SA8775P,it use different memory,so their
recommended configurations are not quite the same.this is really setting.


We had several cases where the platform should be using different HBB
if it uses different memory type. Is that the case here? If so, rather
than adding another compat entry please extend the msm_mdss to read
memory type and select HBB based on that. This will also fix several
TODO items in the driver.

As a side note, I see that your config has different ubwc_swizzle. If
that's actually different, then maybe you are right and there should
be a separate entry.

yes,ubwc_swizzle is also different with sa8775p for there recommended 
setting are different.


Signed-off-by: Yongxing Mou 
---
   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 
b7bd899ead44bf86998e7295bccb31a334fa6811..90d8fe469d3134ec73f386153509ac257d75930a
 100644
--- a/drivers/gpu/drm/msm/msm_mdss.c
+++ b/drivers/gpu/drm/msm/msm_mdss.c
@@ -568,6 +568,16 @@ static const struct msm_mdss_data qcm2290_data = {
  .reg_bus_bw = 76800,
   };

+static const struct msm_mdss_data qcs8300_data = {
+.ubwc_enc_version = UBWC_4_0,
+.ubwc_dec_version = UBWC_4_0,
+.ubwc_swizzle = 6,
+.ubwc_static = 1,
+.highest_bank_bit = 3,
+.macrotile_mode = 1,
+.reg_bus_bw = 74000,
+};
+
   static const struct msm_mdss_data sa8775p_data = {
  .ubwc_enc_version = UBWC_4_0,
  .ubwc_dec_version = UBWC_4_0,
@@ -715,6 +725,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,qcs8300-mdss", .data = &qcs8300_data },
  { .compatible = "qcom,sa8775p-mdss", .data = &sa8775p_data },
  { .compatible = "qcom,sdm670-mdss", .data = &sdm670_data },
  { .compatible = "qcom,sdm845-mdss", .data = &sdm845_data },

--
2.34.1












Re: [PATCH v2 1/5] dt-bindings: display/msm: Document the DPU for QCS8300

2025-01-07 Thread Yongxing Mou




On 2024/12/27 16:41, Krzysztof Kozlowski wrote:

On Thu, Dec 26, 2024 at 05:40:45PM +0800, Yongxing Mou wrote:

Document the DPU for Qualcomm QCS8300 platform.It use the same DPU


Missing space after full stop.


Got it. thanks, will fix it in next patch.

hardware with SA8775P and reuse it's driver.



Reviewed-by: Krzysztof Kozlowski 

Best regards,
Krzysztof





Re: [PATCH v2 4/5] dt-bindings: phy: Add eDP PHY compatible for QCS8300

2025-01-07 Thread Yongxing Mou




On 2024/12/29 12:42, Dmitry Baryshkov wrote:

On Thu, Dec 26, 2024 at 05:40:48PM +0800, Yongxing Mou wrote:

Add compatible string for the supported eDP PHY on QCS8300 platform.
QCS8300 have the same eDP PHY with SA8775P.

Signed-off-by: Yongxing Mou 
---
  .../devicetree/bindings/phy/qcom,edp-phy.yaml | 19 ---
  1 file changed, 12 insertions(+), 7 deletions(-)


Everything else is display, this one is PHY. Consider separating this
one to a separate series.

Got it. will separate in next version.




diff --git a/Documentation/devicetree/bindings/phy/qcom,edp-phy.yaml 
b/Documentation/devicetree/bindings/phy/qcom,edp-phy.yaml
index 
293fb6a9b1c330438bceba15226c91e392c840fb..eb97181cbb9579893b4ee26a39c3559ad87b2fba
 100644
--- a/Documentation/devicetree/bindings/phy/qcom,edp-phy.yaml
+++ b/Documentation/devicetree/bindings/phy/qcom,edp-phy.yaml
@@ -16,13 +16,18 @@ description:
  
  properties:

compatible:
-enum:
-  - qcom,sa8775p-edp-phy
-  - qcom,sc7280-edp-phy
-  - qcom,sc8180x-edp-phy
-  - qcom,sc8280xp-dp-phy
-  - qcom,sc8280xp-edp-phy
-  - qcom,x1e80100-dp-phy
+oneOf:
+  - enum:
+  - qcom,sa8775p-edp-phy
+  - qcom,sc7280-edp-phy
+  - qcom,sc8180x-edp-phy
+  - qcom,sc8280xp-dp-phy
+  - qcom,sc8280xp-edp-phy
+  - qcom,x1e80100-dp-phy
+  - items:
+  - enum:
+  - qcom,qcs8300-edp-phy
+  - const: qcom,sa8775p-edp-phy
  
reg:

  items:

--
2.34.1







Re: [PATCH v2 0/5] Display enablement changes for Qualcomm QCS8300 platform

2025-01-07 Thread Yongxing Mou




On 2024/12/27 16:39, Krzysztof Kozlowski wrote:

On Thu, Dec 26, 2024 at 05:40:44PM +0800, Yongxing Mou wrote:

This series introduces support to enable the Mobile Display Subsystem (MDSS)
, Display Processing Unit (DPU), DisplayPort controller and eDP PHY for
the Qualcomm QCS8300 target. It includes the addition of the hardware catalog,
compatible string, and their YAML bindings.

Signed-off-by: Yongxing Mou 
---
This series depends on following series:
https://lore.kernel.org/all/20241203-qcs8300_initial_dtsi-v4-2-d7c953484...@quicinc.com/


Then why this is not part of initial DTSI?

Sorry. it's not part of initial DTSI, These are the dependencies for 
enabling the display MDSS/DP. Not the real dependency for dt-binds and 
driver.

https://lore.kernel.org/all/20241106-qcs8300-mm-patches-v3-0-f611a8f87...@quicinc.com/
https://lore.kernel.org/all/20241114-qcs8300-mm-cc-dt-patch-v1-1-7a974508c...@quicinc.com/
https://lore.kernel.org/all/20241024-defconfig_sa8775p_clock_controllers-v2-1-a9e1cdaed...@quicinc.com/


So it cannot be tested?

Way too many dependencies for me to review.

If we are only running dt-bindings checks or compiling driver files, we 
actually don't need these dependencies. You can directly running the 
test. They are all used to enable the display MDSS and DP. So maybe i 
need to update the cover letter and remove those dependencies. Thanks 
for point it.

Best regards,
Krzysztof





Re: [PATCH v2 0/5] Display enablement changes for Qualcomm QCS8300 platform

2025-01-07 Thread Yongxing Mou




On 2024/12/29 12:44, Dmitry Baryshkov wrote:

On Thu, Dec 26, 2024 at 05:40:44PM +0800, Yongxing Mou wrote:

This series introduces support to enable the Mobile Display Subsystem (MDSS)
, Display Processing Unit (DPU), DisplayPort controller and eDP PHY for
the Qualcomm QCS8300 target. It includes the addition of the hardware catalog,
compatible string, and their YAML bindings.

Signed-off-by: Yongxing Mou 
---
This series depends on following series:
https://lore.kernel.org/all/20241203-qcs8300_initial_dtsi-v4-2-d7c953484...@quicinc.com/
https://lore.kernel.org/all/20241106-qcs8300-mm-patches-v3-0-f611a8f87...@quicinc.com/
https://lore.kernel.org/all/20241114-qcs8300-mm-cc-dt-patch-v1-1-7a974508c...@quicinc.com/
https://lore.kernel.org/all/20241024-defconfig_sa8775p_clock_controllers-v2-1-a9e1cdaed...@quicinc.com/


How does it depend on all those series? Does it have any intersection
point at all? You should have decoupled all bindings from those series.
If you did, please update your cover letter. If you didn't, please do
your home work.

Thanks for point it.Yes, we have decouple all bindings from dts 
changes.For binding checks or driver, we no longer need these 
dependencies. I will update the cover letter later. Thanks.

---
Changes in v2:Fixed review comments from Krzysztof, Dmitry, Rob.
- Decouple the devicetree changes from this series.[Dmitry][Krzysztof]
- Drop the dpu driver changes and reuse SA8775P DPU driver.[Dmitry]
- Fix compilation issues in MDSS bindings.[Rob][Krzysztof]
- Correct formatting errors and remove unnecessary status in MDSS
   bindings.[Krzysztof]
- Add the the necessary information in MDSS changes commit msg.[Dmitry]
- Rebase MDSS driver changes to https://lore.kernel.org/dri-devel/
   20241127-msm-mdss-ubwc-v3-0-9782a7c2b...@linaro.org/.[Dmitry]
- Package the DisplayPort controller and eDP PHY bindings document to
   this patch series.
- Collecting MDSS changes reviewd-by Dmitry.
- Reuse the sa8775p eDP PHY as a fallback compat.[Dmitry]
- Reuse the sm8650 DP controller as a fallback compat.[Dmitry]
- Link to v1: 
https://lore.kernel.org/r/20241127-mdss_qcs8300-v1-0-29b2c3ee9...@quicinc.com
~

---
Yongxing Mou (5):
   dt-bindings: display/msm: Document the DPU for QCS8300
   dt-bindings: display: msm: dp-controller: document QCS8300 compatible
   dt-bindings: display/msm: Document MDSS on QCS8300
   dt-bindings: phy: Add eDP PHY compatible for QCS8300
   drm/msm: mdss: Add QCS8300 support

  .../bindings/display/msm/dp-controller.yaml|   4 +
  .../bindings/display/msm/qcom,qcs8300-mdss.yaml| 244 +
  .../bindings/display/msm/qcom,sm8650-dpu.yaml  |  13 +-
  .../devicetree/bindings/phy/qcom,edp-phy.yaml  |  19 +-
  drivers/gpu/drm/msm/msm_mdss.c |  11 +
  5 files changed, 280 insertions(+), 11 deletions(-)
---
base-commit: 8155b4ef3466f0e289e8fcc9e6e62f3f4dceeac2
change-id: 20241224-mdssdt_qcs8300-11b7883dc60b
prerequisite-message-id: 
<20241203-qcs8300_initial_dtsi-v4-2-d7c953484...@quicinc.com>
prerequisite-patch-id: 33f2488a8eb133431f200e17aac743598508dcf3
prerequisite-patch-id: 7b653ebeaf1ca3f87620ccf7d876e3d1fe496c4a
prerequisite-patch-id: e1b60af8a64332e5f0ecbd3a4ea2b6e090bd97cf
prerequisite-patch-id: b823d744d2fb302e2496eaf0cf0c9c66312dcf2a
prerequisite-message-id: 
<20241106-qcs8300-mm-patches-v3-0-f611a8f87...@quicinc.com>
prerequisite-patch-id: 367d9c742fe5087cfa6fb8e7b05ebe9bc78d68f3
prerequisite-patch-id: ee0513c070ab96e63766d235b38ee53ca9b19181
prerequisite-patch-id: 970974160bcdc837ccbe5ea3b5dcac582e90bc0d
prerequisite-patch-id: 5b2bd9cc44a529b0b9e5d73128dca5d2ff9f2f44
prerequisite-patch-id: 6a0a81242e1d0f051e3102533bf0191615c6e96b
prerequisite-patch-id: 322540ce6d45c32f813ecef50e5135c6f08d9019
prerequisite-message-id: 
<20241114-qcs8300-mm-cc-dt-patch-v1-1-7a974508c...@quicinc.com>
prerequisite-patch-id: 8faad5c6d8ca255935d3e4d317dcbcc32b8261ff
prerequisite-message-id: 
<20241024-defconfig_sa8775p_clock_controllers-v2-1-a9e1cdaed...@quicinc.com>
prerequisite-patch-id: 81378ec66ab6e569bd828401c43c4f5af55db32c

Best regards,
--
Yongxing Mou 







[PATCH v2 2/5] dt-bindings: display: msm: dp-controller: document QCS8300 compatible

2024-12-26 Thread Yongxing Mou
Add compatible string for the DisplayPort controller found on the
Qualcomm QCS8300 platform.QCS8300 only support one DisplayPort
controller and have the same base offset with sm8650, so we reuse
the sm8650 DisplayPort driver.

Signed-off-by: Yongxing Mou 
---
 Documentation/devicetree/bindings/display/msm/dp-controller.yaml | 4 
 1 file changed, 4 insertions(+)

diff --git a/Documentation/devicetree/bindings/display/msm/dp-controller.yaml 
b/Documentation/devicetree/bindings/display/msm/dp-controller.yaml
index 
a212f335d5ffae545d2e5bacec95299ca45e8405..863ef967e48789d3ca4e5a8a2f198dad4e8ae321
 100644
--- a/Documentation/devicetree/bindings/display/msm/dp-controller.yaml
+++ b/Documentation/devicetree/bindings/display/msm/dp-controller.yaml
@@ -36,6 +36,10 @@ properties:
   - qcom,sm8450-dp
   - qcom,sm8550-dp
   - const: qcom,sm8350-dp
+  - items:
+  - enum:
+  - qcom,qcs8300-dp
+  - const: qcom,sm8650-dp
 
   reg:
 minItems: 4

-- 
2.34.1



[PATCH v2 3/5] dt-bindings: display/msm: Document MDSS on QCS8300

2024-12-26 Thread Yongxing Mou
Document the MDSS hardware found on the Qualcomm QCS8300 platform.

Signed-off-by: Yongxing Mou 
---
 .../bindings/display/msm/qcom,qcs8300-mdss.yaml| 244 +
 1 file changed, 244 insertions(+)

diff --git 
a/Documentation/devicetree/bindings/display/msm/qcom,qcs8300-mdss.yaml 
b/Documentation/devicetree/bindings/display/msm/qcom,qcs8300-mdss.yaml
new file mode 100644
index 
..eb7f36387f748793ebf662baded4a13a61b3ce39
--- /dev/null
+++ b/Documentation/devicetree/bindings/display/msm/qcom,qcs8300-mdss.yaml
@@ -0,0 +1,244 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/display/msm/qcom,qcs8300-mdss.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Qualcomm Technologies, Inc. QCS8300 Display MDSS
+
+maintainers:
+  - Yongxing Mou 
+
+description:
+  QCS8300 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,qcs8300-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
+additionalProperties: true
+
+properties:
+  compatible:
+items:
+  - const: qcom,qcs8300-dpu
+  - const: qcom,sa8775p-dpu
+
+  "^displayport-controller@[0-9a-f]+$":
+type: object
+additionalProperties: true
+
+properties:
+  compatible:
+items:
+  - const: qcom,qcs8300-dp
+  - const: qcom,sm8650-dp
+
+required:
+  - compatible
+
+unevaluatedProperties: false
+
+examples:
+  - |
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+
+mdss: display-subsystem@ae0 {
+compatible = "qcom,qcs8300-mdss";
+reg = <0x0ae0 0x1000>;
+reg-names = "mdss";
+
+interconnects = <&mmss_noc MASTER_MDP0 QCOM_ICC_TAG_ACTIVE_ONLY
+ &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ACTIVE_ONLY>,
+<&mmss_noc MASTER_MDP1 QCOM_ICC_TAG_ACTIVE_ONLY
+ &mc_virt SLAVE_EBI1 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 = <&dispcc_core_bcr>;
+power-domains = <&dispcc_gdsc>;
+
+clocks = <&dispcc_ahb_clk>,
+ <&gcc GCC_DISP_HF_AXI_CLK>,
+ <&dispcc_mdp_clk>;
+
+interrupts = ;
+interrupt-controller;
+#interrupt-cells = <1>;
+
+iommus = <&apps_smmu 0x1000 0x402>;
+
+#address-cells = <1>;
+#size-cells = <1>;
+ranges;
+
+display-controller@ae01000 {
+compatible = "qcom,qcs8300-dpu", "qcom,sa8775p-dpu";
+reg = <0x0ae01000 0x8f000>,
+  <0x0aeb 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 = "nrt_bus",
+  "iface",
+  "lut",
+  "core",
+  "vsync";
+
+assigned-clocks = <&dispcc0 MDSS_DISP_CC_MDSS_VSYNC_CLK>;
+assigned-clock-rates = <1920>;
+operating-points-v2 = <&mdp_opp_table>;
+power-domains = <&rpmhpd RPMHPD_MMCX>;
+
+interrupt-parent = <&mdss>;
+interrupts = <0>;
+ports {
+#address-cells = <1>;
+#size-cells = <0>;
+port@0 {
+reg = <0>;
+
+dpu_intf0_out: endpoint {
+ remote-endpoint = <&mdss_dp0_in>;
+};
+};
+};
+
+mdp_opp_table: opp-table {
+compatibl

[PATCH v2 0/5] Display enablement changes for Qualcomm QCS8300 platform

2024-12-26 Thread Yongxing Mou
This series introduces support to enable the Mobile Display Subsystem (MDSS)
, Display Processing Unit (DPU), DisplayPort controller and eDP PHY for 
the Qualcomm QCS8300 target. It includes the addition of the hardware catalog,
compatible string, and their YAML bindings.

Signed-off-by: Yongxing Mou 
---
This series depends on following series:
https://lore.kernel.org/all/20241203-qcs8300_initial_dtsi-v4-2-d7c953484...@quicinc.com/
https://lore.kernel.org/all/20241106-qcs8300-mm-patches-v3-0-f611a8f87...@quicinc.com/
https://lore.kernel.org/all/20241114-qcs8300-mm-cc-dt-patch-v1-1-7a974508c...@quicinc.com/
https://lore.kernel.org/all/20241024-defconfig_sa8775p_clock_controllers-v2-1-a9e1cdaed...@quicinc.com/
---
Changes in v2:Fixed review comments from Krzysztof, Dmitry, Rob.
- Decouple the devicetree changes from this series.[Dmitry][Krzysztof]
- Drop the dpu driver changes and reuse SA8775P DPU driver.[Dmitry]
- Fix compilation issues in MDSS bindings.[Rob][Krzysztof]
- Correct formatting errors and remove unnecessary status in MDSS
  bindings.[Krzysztof]
- Add the the necessary information in MDSS changes commit msg.[Dmitry]
- Rebase MDSS driver changes to https://lore.kernel.org/dri-devel/
  20241127-msm-mdss-ubwc-v3-0-9782a7c2b...@linaro.org/.[Dmitry]
- Package the DisplayPort controller and eDP PHY bindings document to
  this patch series.
- Collecting MDSS changes reviewd-by Dmitry.
- Reuse the sa8775p eDP PHY as a fallback compat.[Dmitry]
- Reuse the sm8650 DP controller as a fallback compat.[Dmitry]
- Link to v1: 
https://lore.kernel.org/r/20241127-mdss_qcs8300-v1-0-29b2c3ee9...@quicinc.com
~

---
Yongxing Mou (5):
  dt-bindings: display/msm: Document the DPU for QCS8300
  dt-bindings: display: msm: dp-controller: document QCS8300 compatible
  dt-bindings: display/msm: Document MDSS on QCS8300
  dt-bindings: phy: Add eDP PHY compatible for QCS8300
  drm/msm: mdss: Add QCS8300 support

 .../bindings/display/msm/dp-controller.yaml|   4 +
 .../bindings/display/msm/qcom,qcs8300-mdss.yaml| 244 +
 .../bindings/display/msm/qcom,sm8650-dpu.yaml  |  13 +-
 .../devicetree/bindings/phy/qcom,edp-phy.yaml  |  19 +-
 drivers/gpu/drm/msm/msm_mdss.c |  11 +
 5 files changed, 280 insertions(+), 11 deletions(-)
---
base-commit: 8155b4ef3466f0e289e8fcc9e6e62f3f4dceeac2
change-id: 20241224-mdssdt_qcs8300-11b7883dc60b
prerequisite-message-id: 
<20241203-qcs8300_initial_dtsi-v4-2-d7c953484...@quicinc.com>
prerequisite-patch-id: 33f2488a8eb133431f200e17aac743598508dcf3
prerequisite-patch-id: 7b653ebeaf1ca3f87620ccf7d876e3d1fe496c4a
prerequisite-patch-id: e1b60af8a64332e5f0ecbd3a4ea2b6e090bd97cf
prerequisite-patch-id: b823d744d2fb302e2496eaf0cf0c9c66312dcf2a
prerequisite-message-id: 
<20241106-qcs8300-mm-patches-v3-0-f611a8f87...@quicinc.com>
prerequisite-patch-id: 367d9c742fe5087cfa6fb8e7b05ebe9bc78d68f3
prerequisite-patch-id: ee0513c070ab96e63766d235b38ee53ca9b19181
prerequisite-patch-id: 970974160bcdc837ccbe5ea3b5dcac582e90bc0d
prerequisite-patch-id: 5b2bd9cc44a529b0b9e5d73128dca5d2ff9f2f44
prerequisite-patch-id: 6a0a81242e1d0f051e3102533bf0191615c6e96b
prerequisite-patch-id: 322540ce6d45c32f813ecef50e5135c6f08d9019
prerequisite-message-id: 
<20241114-qcs8300-mm-cc-dt-patch-v1-1-7a974508c...@quicinc.com>
prerequisite-patch-id: 8faad5c6d8ca255935d3e4d317dcbcc32b8261ff
prerequisite-message-id: 
<20241024-defconfig_sa8775p_clock_controllers-v2-1-a9e1cdaed...@quicinc.com>
prerequisite-patch-id: 81378ec66ab6e569bd828401c43c4f5af55db32c

Best regards,
-- 
Yongxing Mou 



[PATCH v2 1/5] dt-bindings: display/msm: Document the DPU for QCS8300

2024-12-26 Thread Yongxing Mou
Document the DPU for Qualcomm QCS8300 platform.It use the same DPU
hardware with SA8775P and reuse it's driver.

Signed-off-by: Yongxing Mou 
---
 .../devicetree/bindings/display/msm/qcom,sm8650-dpu.yaml| 13 +
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/Documentation/devicetree/bindings/display/msm/qcom,sm8650-dpu.yaml 
b/Documentation/devicetree/bindings/display/msm/qcom,sm8650-dpu.yaml
index 
01cf79bd754b491349c52c5aef49ba06e835d0bf..61ec4dd029a8de3b0e78fc97c6c0a602f84027ff
 100644
--- a/Documentation/devicetree/bindings/display/msm/qcom,sm8650-dpu.yaml
+++ b/Documentation/devicetree/bindings/display/msm/qcom,sm8650-dpu.yaml
@@ -13,10 +13,15 @@ $ref: /schemas/display/msm/dpu-common.yaml#
 
 properties:
   compatible:
-enum:
-  - qcom,sa8775p-dpu
-  - qcom,sm8650-dpu
-  - qcom,x1e80100-dpu
+oneOf:
+  - enum:
+  - qcom,sa8775p-dpu
+  - qcom,sm8650-dpu
+  - qcom,x1e80100-dpu
+  - items:
+  - enum:
+  - qcom,qcs8300-dpu
+  - const: qcom,sa8775p-dpu
 
   reg:
 items:

-- 
2.34.1



[PATCH v2 4/5] dt-bindings: phy: Add eDP PHY compatible for QCS8300

2024-12-26 Thread Yongxing Mou
Add compatible string for the supported eDP PHY on QCS8300 platform.
QCS8300 have the same eDP PHY with SA8775P.

Signed-off-by: Yongxing Mou 
---
 .../devicetree/bindings/phy/qcom,edp-phy.yaml | 19 ---
 1 file changed, 12 insertions(+), 7 deletions(-)

diff --git a/Documentation/devicetree/bindings/phy/qcom,edp-phy.yaml 
b/Documentation/devicetree/bindings/phy/qcom,edp-phy.yaml
index 
293fb6a9b1c330438bceba15226c91e392c840fb..eb97181cbb9579893b4ee26a39c3559ad87b2fba
 100644
--- a/Documentation/devicetree/bindings/phy/qcom,edp-phy.yaml
+++ b/Documentation/devicetree/bindings/phy/qcom,edp-phy.yaml
@@ -16,13 +16,18 @@ description:
 
 properties:
   compatible:
-enum:
-  - qcom,sa8775p-edp-phy
-  - qcom,sc7280-edp-phy
-  - qcom,sc8180x-edp-phy
-  - qcom,sc8280xp-dp-phy
-  - qcom,sc8280xp-edp-phy
-  - qcom,x1e80100-dp-phy
+oneOf:
+  - enum:
+  - qcom,sa8775p-edp-phy
+  - qcom,sc7280-edp-phy
+  - qcom,sc8180x-edp-phy
+  - qcom,sc8280xp-dp-phy
+  - qcom,sc8280xp-edp-phy
+  - qcom,x1e80100-dp-phy
+  - items:
+  - enum:
+  - qcom,qcs8300-edp-phy
+  - const: qcom,sa8775p-edp-phy
 
   reg:
 items:

-- 
2.34.1



[PATCH v2 5/5] drm/msm: mdss: Add QCS8300 support

2024-12-26 Thread Yongxing Mou
Add Mobile Display Subsystem (MDSS) support for the QCS8300 platform.
Due to different memory type, it use different mdss_data with SA8775P
although using the same dpu.

Reviewed-by: Dmitry Baryshkov 
Signed-off-by: Yongxing Mou 
---
 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 
dcb49fd30402b80edd2cb5971f95a78eaad6081f..40c8b476763b8c39434b1448008cfa8ffac7a8ea
 100644
--- a/drivers/gpu/drm/msm/msm_mdss.c
+++ b/drivers/gpu/drm/msm/msm_mdss.c
@@ -582,6 +582,16 @@ static const struct msm_mdss_data qcm2290_data = {
.reg_bus_bw = 76800,
 };
 
+static const struct msm_mdss_data qcs8300_data = {
+   .ubwc_enc_version = UBWC_4_0,
+   .ubwc_dec_version = UBWC_4_0,
+   .ubwc_swizzle = 6,
+   .ubwc_bank_spread = true,
+   .highest_bank_bit = 3,
+   .macrotile_mode = true,
+   .reg_bus_bw = 74000,
+};
+
 static const struct msm_mdss_data sa8775p_data = {
.ubwc_enc_version = UBWC_4_0,
.ubwc_dec_version = UBWC_4_0,
@@ -737,6 +747,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,qcs8300-mdss", .data = &qcs8300_data },
{ .compatible = "qcom,sa8775p-mdss", .data = &sa8775p_data },
{ .compatible = "qcom,sdm670-mdss", .data = &sdm670_data },
{ .compatible = "qcom,sdm845-mdss", .data = &sdm845_data },

-- 
2.34.1



[PATCH] drm/msm/dpu: Allocate the number of LMs based on max_mixer_width to support 4 streams MST case

2025-02-11 Thread Yongxing Mou
In 2x2 mst case, each 2k monitor will use 2 lms, but dpu_8_4 only have
6 lms, so let 2k only use one lm to support such case.

Signed-off-by: Abhinav Kumar 
Signed-off-by: Yongxing Mou 
---
 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c 
b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c
index 
5172ab4dea995a154cd88d05c3842d7425fc34ce..e8846bf8edc5f9b2b3b7f093e4d5aad75de53da1
 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c
+++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c
@@ -677,7 +677,8 @@ static struct msm_display_topology dpu_encoder_get_topology(
else if (!dpu_kms->catalog->caps->has_3d_merge)
topology.num_lm = 1;
else
-   topology.num_lm = (mode->hdisplay > MAX_HDISPLAY_SPLIT) ? 2 : 1;
+   topology.num_lm = (mode->hdisplay > 
dpu_kms->catalog->caps->max_mixer_width) ?
+  2 : 1;
 
if (crtc_state->ctm)
topology.num_dspp = topology.num_lm;

---
base-commit: df5d6180169ae06a2eac57e33b077ad6f6252440
change-id: 20250211-dp_lm-8f8ef15f5955

Best regards,
-- 
Yongxing Mou 



Re: [PATCH 1/4] dt-bindings: display/msm: Redocument the dp-controller for QCS8300

2025-02-12 Thread Yongxing Mou




On 2025/2/12 16:35, Krzysztof Kozlowski wrote:

On 12/02/2025 08:12, Yongxing Mou wrote:

We need to enable mst for qcs8300, dp0 controller will support 2 streams
output. So not reuse sm8650 dp controller driver and will add a new driver
patch for qcs8300 mst feature. Modify the corresponding dt-bingding file
to compatible with the qcs8300-dp.

Signed-off-by: Yongxing Mou 

NAK. You just said qcs8300 is compatible with sm8650. I did not ask
about drivers, I asked about hardware.

This is messy approach. Describe properly the hardware first, instead of
sending two conflicting patchsets.

Best regards,
Krzysztof


Hi, Krzysztof, thanks for reviewing, i want to explain why i submitted 
this patch. Patch 
https://lore.kernel.org/all/20250114-dts_qcs8300-v3-1-d114cc5e4...@quicinc.com/ 
and 
https://lore.kernel.org/all/20250120-mdssdt_qcs8300-v4-2-1687e7842...@quicinc.com/ 
is the qcs8300 display enablement changes. It base on current linux base 
code and it only support SST mode, so in the SST mode, qcs8300 dp 
controller driver is quite same with sm8650, struct msm_dp_desc only 
have 3 members(io_start, id and wide_bus_supported) and they are same 
both in qcs8300 and sm8650, so we reuse it. BTW, for dp phy hardware 
version, qcs8300 and sm8650 is different.
For this patch series, 
https://lore.kernel.org/all/20250212-mst_qcs8300-v1-0-38a8aa083...@quicinc.com/ 
, it is made on top of 
https://lore.kernel.org/all/20241205-dp_mst-v1-0-f8618d42a...@quicinc.com/ 
which is a new feature for msm platform and not fully reviewed all the 
code. Currently patch series enable the MST feature for qcs8300, so the 
dp controller need to support stream 1, and we need add max_streams and 
intf_map in the struct msm_dp_desc to support MST. So we don't reuse the 
sm8650 drivers in this patch series.
For my understanding, qcs8300 SST changes should merge 
first(https://lore.kernel.org/all/20250114-dts_qcs8300-v3-0-d114cc5e4...@quicinc.com/ 
and 
https://lore.kernel.org/all/20250120-mdssdt_qcs8300-v4-0-1687e7842...@quicinc.com/), 
and next is the MST base commits 
(https://lore.kernel.org/all/20241205-dp_mst-v1-0-f8618d42a...@quicinc.com/), 
and this patch series should merge at last. why i post qcs8300 
enablement changes first and then post the MST changes instead of post 
them together? Because our dependency, i mean this patch series 
(https://lore.kernel.org/all/20241205-dp_mst-v1-0-f8618d42a...@quicinc.com/), 
it has about 45 changes, so it might take lots of time to merge. we just 
want to make sure that display can work on DP SST mode first.
So I am just understand that the previous commit was not an incorrect 
commit, but rather two functionalities were changed in the same place.

Thanks,
Yongxing


[PATCH v4 4/4] drm/msm: mdss: Add QCS8300 support

2025-01-19 Thread Yongxing Mou
Add Mobile Display Subsystem (MDSS) support for the QCS8300 platform.
Due to different memory type, it use different mdss_data with SA8775P
although using the same dpu.

Reviewed-by: Dmitry Baryshkov 
Signed-off-by: Yongxing Mou 
---
 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 
dcb49fd30402b80edd2cb5971f95a78eaad6081f..40c8b476763b8c39434b1448008cfa8ffac7a8ea
 100644
--- a/drivers/gpu/drm/msm/msm_mdss.c
+++ b/drivers/gpu/drm/msm/msm_mdss.c
@@ -582,6 +582,16 @@ static const struct msm_mdss_data qcm2290_data = {
.reg_bus_bw = 76800,
 };
 
+static const struct msm_mdss_data qcs8300_data = {
+   .ubwc_enc_version = UBWC_4_0,
+   .ubwc_dec_version = UBWC_4_0,
+   .ubwc_swizzle = 6,
+   .ubwc_bank_spread = true,
+   .highest_bank_bit = 3,
+   .macrotile_mode = true,
+   .reg_bus_bw = 74000,
+};
+
 static const struct msm_mdss_data sa8775p_data = {
.ubwc_enc_version = UBWC_4_0,
.ubwc_dec_version = UBWC_4_0,
@@ -737,6 +747,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,qcs8300-mdss", .data = &qcs8300_data },
{ .compatible = "qcom,sa8775p-mdss", .data = &sa8775p_data },
{ .compatible = "qcom,sdm670-mdss", .data = &sdm670_data },
{ .compatible = "qcom,sdm845-mdss", .data = &sdm845_data },

-- 
2.34.1



[PATCH v4 2/4] dt-bindings: display/msm: Document the dp-controller for QCS8300

2025-01-19 Thread Yongxing Mou
Add compatible string for the DisplayPort controller found on the
Qualcomm QCS8300 platform.QCS8300 only support one DisplayPort
controller and have the same base offset with sm8650, so we reuse
the sm8650 DisplayPort driver.

Reviewed-by: Krzysztof Kozlowski 
Signed-off-by: Yongxing Mou 
---
 Documentation/devicetree/bindings/display/msm/dp-controller.yaml | 4 
 1 file changed, 4 insertions(+)

diff --git a/Documentation/devicetree/bindings/display/msm/dp-controller.yaml 
b/Documentation/devicetree/bindings/display/msm/dp-controller.yaml
index 
e00b88332f2fed2fc33f6d72c5cc3d827cd7594e..3df6f9e278275d8e19fafb4a397d776e0c606c7c
 100644
--- a/Documentation/devicetree/bindings/display/msm/dp-controller.yaml
+++ b/Documentation/devicetree/bindings/display/msm/dp-controller.yaml
@@ -37,6 +37,10 @@ properties:
   - qcom,sm8450-dp
   - qcom,sm8550-dp
   - const: qcom,sm8350-dp
+  - items:
+  - enum:
+  - qcom,qcs8300-dp
+  - const: qcom,sm8650-dp
 
   reg:
 minItems: 4

-- 
2.34.1



[PATCH v4 0/4] Display enablement changes for Qualcomm QCS8300 platform

2025-01-19 Thread Yongxing Mou
This series introduces support to enable the Mobile Display Subsystem (MDSS)
, Display Processing Unit (DPU), DisplayPort controller for the Qualcomm 
QCS8300 target. It includes the addition of the hardware catalog, compatible
string, and their YAML bindings.

Signed-off-by: Yongxing Mou 
---
Changes in v4:Fixed review comments from Krzysztof, Dmitry.
- Use the common style for the dt-bindings commits.[Dmitry]
- Update the commits msg for the mdss binding patch, explain why they
  reuse different platform drivers.[Krzysztof]
- Link to v3: 
https://lore.kernel.org/r/20250113-mdssdt_qcs8300-v3-0-6c8e93459...@quicinc.com

Changes in v3:Fixed review comments from Krzysztof, Dmitry.
- Fix the missing space issue in commit message.[Krzysztof]
- Separate the patch for the phy from this series.[Dmitry]
- Remove unused dependencies and update in the cover letter.[Dmitry][Krzysztof]
- Link to v2: 
https://lore.kernel.org/r/20241226-mdssdt_qcs8300-v2-0-acba0db53...@quicinc.com

Changes in v2:Fixed review comments from Krzysztof, Dmitry, Rob.
- Decouple the devicetree changes from this series.[Dmitry][Krzysztof]
- Drop the dpu driver changes and reuse SA8775P DPU driver.[Dmitry]
- Fix compilation issues in MDSS bindings.[Rob][Krzysztof]
- Correct formatting errors and remove unnecessary status in MDSS
  bindings.[Krzysztof]
- Add the the necessary information in MDSS changes commit msg.[Dmitry]
- Rebase MDSS driver changes to https://lore.kernel.org/dri-devel/
  20241127-msm-mdss-ubwc-v3-0-9782a7c2b...@linaro.org/.[Dmitry]
- Package the DisplayPort controller and eDP PHY bindings document to
  this patch series.
- Collecting MDSS changes reviewd-by Dmitry.
- Reuse the sa8775p eDP PHY as a fallback compat.[Dmitry]
- Reuse the sm8650 DP controller as a fallback compat.[Dmitry]
- Link to v1: 
https://lore.kernel.org/r/20241127-mdss_qcs8300-v1-0-29b2c3ee9...@quicinc.com
~

---
Yongxing Mou (4):
  dt-bindings: display/msm: Document the DPU for QCS8300
  dt-bindings: display/msm: Document the dp-controller for QCS8300
  dt-bindings: display/msm: Document MDSS on QCS8300
  drm/msm: mdss: Add QCS8300 support

 .../bindings/display/msm/dp-controller.yaml|   4 +
 .../bindings/display/msm/qcom,qcs8300-mdss.yaml| 244 +
 .../bindings/display/msm/qcom,sm8650-dpu.yaml  |  13 +-
 drivers/gpu/drm/msm/msm_mdss.c |  11 +
 4 files changed, 268 insertions(+), 4 deletions(-)
---
base-commit: 2b88851f583d3c4e40bcd40cfe1965241ec229dd
change-id: 20241224-mdssdt_qcs8300-11b7883dc60b

Best regards,
-- 
Yongxing Mou 



[PATCH v4 1/4] dt-bindings: display/msm: Document the DPU for QCS8300

2025-01-19 Thread Yongxing Mou
Document the DPU for Qualcomm QCS8300 platform. It use the same DPU
hardware with SA8775P and reuse it's driver.

Reviewed-by: Krzysztof Kozlowski 
Signed-off-by: Yongxing Mou 
---
 .../devicetree/bindings/display/msm/qcom,sm8650-dpu.yaml| 13 +
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/Documentation/devicetree/bindings/display/msm/qcom,sm8650-dpu.yaml 
b/Documentation/devicetree/bindings/display/msm/qcom,sm8650-dpu.yaml
index 
01cf79bd754b491349c52c5aef49ba06e835d0bf..61ec4dd029a8de3b0e78fc97c6c0a602f84027ff
 100644
--- a/Documentation/devicetree/bindings/display/msm/qcom,sm8650-dpu.yaml
+++ b/Documentation/devicetree/bindings/display/msm/qcom,sm8650-dpu.yaml
@@ -13,10 +13,15 @@ $ref: /schemas/display/msm/dpu-common.yaml#
 
 properties:
   compatible:
-enum:
-  - qcom,sa8775p-dpu
-  - qcom,sm8650-dpu
-  - qcom,x1e80100-dpu
+oneOf:
+  - enum:
+  - qcom,sa8775p-dpu
+  - qcom,sm8650-dpu
+  - qcom,x1e80100-dpu
+  - items:
+  - enum:
+  - qcom,qcs8300-dpu
+  - const: qcom,sa8775p-dpu
 
   reg:
 items:

-- 
2.34.1



[PATCH v4 3/4] dt-bindings: display/msm: Document MDSS on QCS8300

2025-01-19 Thread Yongxing Mou
Document the MDSS hardware found on the Qualcomm QCS8300 platform.
QCS8300 use the same DPU hardware version as SA8775P, so we reuse it's
driver. But QCS8300 only have one DP controller, and offset is same with
sm8650, so dp controller reuse the sm8650's driver.

Signed-off-by: Yongxing Mou 
---
 .../bindings/display/msm/qcom,qcs8300-mdss.yaml| 244 +
 1 file changed, 244 insertions(+)

diff --git 
a/Documentation/devicetree/bindings/display/msm/qcom,qcs8300-mdss.yaml 
b/Documentation/devicetree/bindings/display/msm/qcom,qcs8300-mdss.yaml
new file mode 100644
index 
..eb7f36387f748793ebf662baded4a13a61b3ce39
--- /dev/null
+++ b/Documentation/devicetree/bindings/display/msm/qcom,qcs8300-mdss.yaml
@@ -0,0 +1,244 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/display/msm/qcom,qcs8300-mdss.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Qualcomm Technologies, Inc. QCS8300 Display MDSS
+
+maintainers:
+  - Yongxing Mou 
+
+description:
+  QCS8300 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,qcs8300-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
+additionalProperties: true
+
+properties:
+  compatible:
+items:
+  - const: qcom,qcs8300-dpu
+  - const: qcom,sa8775p-dpu
+
+  "^displayport-controller@[0-9a-f]+$":
+type: object
+additionalProperties: true
+
+properties:
+  compatible:
+items:
+  - const: qcom,qcs8300-dp
+  - const: qcom,sm8650-dp
+
+required:
+  - compatible
+
+unevaluatedProperties: false
+
+examples:
+  - |
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+
+mdss: display-subsystem@ae0 {
+compatible = "qcom,qcs8300-mdss";
+reg = <0x0ae0 0x1000>;
+reg-names = "mdss";
+
+interconnects = <&mmss_noc MASTER_MDP0 QCOM_ICC_TAG_ACTIVE_ONLY
+ &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ACTIVE_ONLY>,
+<&mmss_noc MASTER_MDP1 QCOM_ICC_TAG_ACTIVE_ONLY
+ &mc_virt SLAVE_EBI1 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 = <&dispcc_core_bcr>;
+power-domains = <&dispcc_gdsc>;
+
+clocks = <&dispcc_ahb_clk>,
+ <&gcc GCC_DISP_HF_AXI_CLK>,
+ <&dispcc_mdp_clk>;
+
+interrupts = ;
+interrupt-controller;
+#interrupt-cells = <1>;
+
+iommus = <&apps_smmu 0x1000 0x402>;
+
+#address-cells = <1>;
+#size-cells = <1>;
+ranges;
+
+display-controller@ae01000 {
+compatible = "qcom,qcs8300-dpu", "qcom,sa8775p-dpu";
+reg = <0x0ae01000 0x8f000>,
+  <0x0aeb 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 = "nrt_bus",
+  "iface",
+  "lut",
+  "core",
+  "vsync";
+
+assigned-clocks = <&dispcc0 MDSS_DISP_CC_MDSS_VSYNC_CLK>;
+assigned-clock-rates = <1920>;
+operating-points-v2 = <&mdp_opp_table>;
+power-domains = <&rpmhpd RPMHPD_MMCX>;
+
+interrupt-parent = <&mdss>;
+interrupts = <0>;
+ports {
+#address-cells = <1>;
+#size-cells = <0>;
+port@0 {
+reg = <0>;
+
+dpu_intf0_ou

[PATCH v3 1/4] dt-bindings: display/msm: Document the DPU for QCS8300

2025-01-13 Thread Yongxing Mou
Document the DPU for Qualcomm QCS8300 platform. It use the same DPU
hardware with SA8775P and reuse it's driver.

Reviewed-by: Krzysztof Kozlowski 
Signed-off-by: Yongxing Mou 
---
 .../devicetree/bindings/display/msm/qcom,sm8650-dpu.yaml| 13 +
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/Documentation/devicetree/bindings/display/msm/qcom,sm8650-dpu.yaml 
b/Documentation/devicetree/bindings/display/msm/qcom,sm8650-dpu.yaml
index 
01cf79bd754b491349c52c5aef49ba06e835d0bf..61ec4dd029a8de3b0e78fc97c6c0a602f84027ff
 100644
--- a/Documentation/devicetree/bindings/display/msm/qcom,sm8650-dpu.yaml
+++ b/Documentation/devicetree/bindings/display/msm/qcom,sm8650-dpu.yaml
@@ -13,10 +13,15 @@ $ref: /schemas/display/msm/dpu-common.yaml#
 
 properties:
   compatible:
-enum:
-  - qcom,sa8775p-dpu
-  - qcom,sm8650-dpu
-  - qcom,x1e80100-dpu
+oneOf:
+  - enum:
+  - qcom,sa8775p-dpu
+  - qcom,sm8650-dpu
+  - qcom,x1e80100-dpu
+  - items:
+  - enum:
+  - qcom,qcs8300-dpu
+  - const: qcom,sa8775p-dpu
 
   reg:
 items:

-- 
2.34.1



[PATCH v3 0/4] Display enablement changes for Qualcomm QCS8300 platform

2025-01-13 Thread Yongxing Mou
This series introduces support to enable the Mobile Display Subsystem (MDSS)
, Display Processing Unit (DPU), DisplayPort controller for the Qualcomm 
QCS8300 target. It includes the addition of the hardware catalog, compatible
string, and their YAML bindings.

Signed-off-by: Yongxing Mou 
---
Changes in v3:Fixed review comments from Krzysztof, Dmitry.
- Fix the missing space issue in commit message.[Krzysztof]
- Separate the patch for the phy from this series.[Dmitry]
- Remove unused dependencies and update in the cover letter.[Dmitry][Krzysztof]
- Link to v2: 
https://lore.kernel.org/r/20241226-mdssdt_qcs8300-v2-0-acba0db53...@quicinc.com

Changes in v2:Fixed review comments from Krzysztof, Dmitry, Rob.
- Decouple the devicetree changes from this series.[Dmitry][Krzysztof]
- Drop the dpu driver changes and reuse SA8775P DPU driver.[Dmitry]
- Fix compilation issues in MDSS bindings.[Rob][Krzysztof]
- Correct formatting errors and remove unnecessary status in MDSS
  bindings.[Krzysztof]
- Add the the necessary information in MDSS changes commit msg.[Dmitry]
- Rebase MDSS driver changes to https://lore.kernel.org/dri-devel/
  20241127-msm-mdss-ubwc-v3-0-9782a7c2b...@linaro.org/.[Dmitry]
- Package the DisplayPort controller and eDP PHY bindings document to
  this patch series.
- Collecting MDSS changes reviewd-by Dmitry.
- Reuse the sa8775p eDP PHY as a fallback compat.[Dmitry]
- Reuse the sm8650 DP controller as a fallback compat.[Dmitry]
- Link to v1: 
https://lore.kernel.org/r/20241127-mdss_qcs8300-v1-0-29b2c3ee9...@quicinc.com
~

---
Yongxing Mou (4):
  dt-bindings: display/msm: Document the DPU for QCS8300
  dt-bindings: display: msm: dp-controller: document QCS8300 compatible
  dt-bindings: display/msm: Document MDSS on QCS8300
  drm/msm: mdss: Add QCS8300 support

 .../bindings/display/msm/dp-controller.yaml|   4 +
 .../bindings/display/msm/qcom,qcs8300-mdss.yaml| 244 +
 .../bindings/display/msm/qcom,sm8650-dpu.yaml  |  13 +-
 drivers/gpu/drm/msm/msm_mdss.c |  11 +
 4 files changed, 268 insertions(+), 4 deletions(-)
---
base-commit: 2b88851f583d3c4e40bcd40cfe1965241ec229dd
change-id: 20241224-mdssdt_qcs8300-11b7883dc60b

Best regards,
-- 
Yongxing Mou 



[PATCH v3 3/4] dt-bindings: display/msm: Document MDSS on QCS8300

2025-01-13 Thread Yongxing Mou
Document the MDSS hardware found on the Qualcomm QCS8300 platform.

Signed-off-by: Yongxing Mou 
---
 .../bindings/display/msm/qcom,qcs8300-mdss.yaml| 244 +
 1 file changed, 244 insertions(+)

diff --git 
a/Documentation/devicetree/bindings/display/msm/qcom,qcs8300-mdss.yaml 
b/Documentation/devicetree/bindings/display/msm/qcom,qcs8300-mdss.yaml
new file mode 100644
index 
..eb7f36387f748793ebf662baded4a13a61b3ce39
--- /dev/null
+++ b/Documentation/devicetree/bindings/display/msm/qcom,qcs8300-mdss.yaml
@@ -0,0 +1,244 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/display/msm/qcom,qcs8300-mdss.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Qualcomm Technologies, Inc. QCS8300 Display MDSS
+
+maintainers:
+  - Yongxing Mou 
+
+description:
+  QCS8300 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,qcs8300-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
+additionalProperties: true
+
+properties:
+  compatible:
+items:
+  - const: qcom,qcs8300-dpu
+  - const: qcom,sa8775p-dpu
+
+  "^displayport-controller@[0-9a-f]+$":
+type: object
+additionalProperties: true
+
+properties:
+  compatible:
+items:
+  - const: qcom,qcs8300-dp
+  - const: qcom,sm8650-dp
+
+required:
+  - compatible
+
+unevaluatedProperties: false
+
+examples:
+  - |
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+
+mdss: display-subsystem@ae0 {
+compatible = "qcom,qcs8300-mdss";
+reg = <0x0ae0 0x1000>;
+reg-names = "mdss";
+
+interconnects = <&mmss_noc MASTER_MDP0 QCOM_ICC_TAG_ACTIVE_ONLY
+ &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ACTIVE_ONLY>,
+<&mmss_noc MASTER_MDP1 QCOM_ICC_TAG_ACTIVE_ONLY
+ &mc_virt SLAVE_EBI1 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 = <&dispcc_core_bcr>;
+power-domains = <&dispcc_gdsc>;
+
+clocks = <&dispcc_ahb_clk>,
+ <&gcc GCC_DISP_HF_AXI_CLK>,
+ <&dispcc_mdp_clk>;
+
+interrupts = ;
+interrupt-controller;
+#interrupt-cells = <1>;
+
+iommus = <&apps_smmu 0x1000 0x402>;
+
+#address-cells = <1>;
+#size-cells = <1>;
+ranges;
+
+display-controller@ae01000 {
+compatible = "qcom,qcs8300-dpu", "qcom,sa8775p-dpu";
+reg = <0x0ae01000 0x8f000>,
+  <0x0aeb 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 = "nrt_bus",
+  "iface",
+  "lut",
+  "core",
+  "vsync";
+
+assigned-clocks = <&dispcc0 MDSS_DISP_CC_MDSS_VSYNC_CLK>;
+assigned-clock-rates = <1920>;
+operating-points-v2 = <&mdp_opp_table>;
+power-domains = <&rpmhpd RPMHPD_MMCX>;
+
+interrupt-parent = <&mdss>;
+interrupts = <0>;
+ports {
+#address-cells = <1>;
+#size-cells = <0>;
+port@0 {
+reg = <0>;
+
+dpu_intf0_out: endpoint {
+ remote-endpoint = <&mdss_dp0_in>;
+};
+};
+};
+
+mdp_opp_table: opp-table {
+compatibl

[PATCH v3 2/4] dt-bindings: display: msm: dp-controller: document QCS8300 compatible

2025-01-13 Thread Yongxing Mou
Add compatible string for the DisplayPort controller found on the
Qualcomm QCS8300 platform.QCS8300 only support one DisplayPort
controller and have the same base offset with sm8650, so we reuse
the sm8650 DisplayPort driver.

Reviewed-by: Krzysztof Kozlowski 
Signed-off-by: Yongxing Mou 
---
 Documentation/devicetree/bindings/display/msm/dp-controller.yaml | 4 
 1 file changed, 4 insertions(+)

diff --git a/Documentation/devicetree/bindings/display/msm/dp-controller.yaml 
b/Documentation/devicetree/bindings/display/msm/dp-controller.yaml
index 
e00b88332f2fed2fc33f6d72c5cc3d827cd7594e..3df6f9e278275d8e19fafb4a397d776e0c606c7c
 100644
--- a/Documentation/devicetree/bindings/display/msm/dp-controller.yaml
+++ b/Documentation/devicetree/bindings/display/msm/dp-controller.yaml
@@ -37,6 +37,10 @@ properties:
   - qcom,sm8450-dp
   - qcom,sm8550-dp
   - const: qcom,sm8350-dp
+  - items:
+  - enum:
+  - qcom,qcs8300-dp
+  - const: qcom,sm8650-dp
 
   reg:
 minItems: 4

-- 
2.34.1



[PATCH v3 4/4] drm/msm: mdss: Add QCS8300 support

2025-01-13 Thread Yongxing Mou
Add Mobile Display Subsystem (MDSS) support for the QCS8300 platform.
Due to different memory type, it use different mdss_data with SA8775P
although using the same dpu.

Reviewed-by: Dmitry Baryshkov 
Signed-off-by: Yongxing Mou 
---
 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 
dcb49fd30402b80edd2cb5971f95a78eaad6081f..40c8b476763b8c39434b1448008cfa8ffac7a8ea
 100644
--- a/drivers/gpu/drm/msm/msm_mdss.c
+++ b/drivers/gpu/drm/msm/msm_mdss.c
@@ -582,6 +582,16 @@ static const struct msm_mdss_data qcm2290_data = {
.reg_bus_bw = 76800,
 };
 
+static const struct msm_mdss_data qcs8300_data = {
+   .ubwc_enc_version = UBWC_4_0,
+   .ubwc_dec_version = UBWC_4_0,
+   .ubwc_swizzle = 6,
+   .ubwc_bank_spread = true,
+   .highest_bank_bit = 3,
+   .macrotile_mode = true,
+   .reg_bus_bw = 74000,
+};
+
 static const struct msm_mdss_data sa8775p_data = {
.ubwc_enc_version = UBWC_4_0,
.ubwc_dec_version = UBWC_4_0,
@@ -737,6 +747,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,qcs8300-mdss", .data = &qcs8300_data },
{ .compatible = "qcom,sa8775p-mdss", .data = &sa8775p_data },
{ .compatible = "qcom,sdm670-mdss", .data = &sdm670_data },
{ .compatible = "qcom,sdm845-mdss", .data = &sdm845_data },

-- 
2.34.1



Re: [PATCH v3 0/4] Display enablement changes for Qualcomm QCS8300 platform

2025-01-13 Thread Yongxing Mou




On 2025/1/13 17:36, Dmitry Baryshkov wrote:

On Mon, Jan 13, 2025 at 05:26:56PM +0800, Yongxing Mou wrote:



On 2025/1/13 17:02, Dmitry Baryshkov wrote:

On Mon, Jan 13, 2025 at 04:03:07PM +0800, Yongxing Mou wrote:

This series introduces support to enable the Mobile Display Subsystem (MDSS)
, Display Processing Unit (DPU), DisplayPort controller for the Qualcomm
QCS8300 target. It includes the addition of the hardware catalog, compatible
string, and their YAML bindings.

Signed-off-by: Yongxing Mou 
---
Changes in v3:Fixed review comments from Krzysztof, Dmitry.
- Fix the missing space issue in commit message.[Krzysztof]
- Separate the patch for the phy from this series.[Dmitry]
- Remove unused dependencies and update in the cover letter.[Dmitry][Krzysztof]
- Link to v2: 
https://lore.kernel.org/r/20241226-mdssdt_qcs8300-v2-0-acba0db53...@quicinc.com

Changes in v2:Fixed review comments from Krzysztof, Dmitry, Rob.
- Decouple the devicetree changes from this series.[Dmitry][Krzysztof]
- Drop the dpu driver changes and reuse SA8775P DPU driver.[Dmitry]
- Fix compilation issues in MDSS bindings.[Rob][Krzysztof]
- Correct formatting errors and remove unnecessary status in MDSS
bindings.[Krzysztof]
- Add the the necessary information in MDSS changes commit msg.[Dmitry]
- Rebase MDSS driver changes to https://lore.kernel.org/dri-devel/
20241127-msm-mdss-ubwc-v3-0-9782a7c2b...@linaro.org/.[Dmitry]
- Package the DisplayPort controller and eDP PHY bindings document to
this patch series.
- Collecting MDSS changes reviewd-by Dmitry.
- Reuse the sa8775p eDP PHY as a fallback compat.[Dmitry]
- Reuse the sm8650 DP controller as a fallback compat.[Dmitry]
- Link to v1: 
https://lore.kernel.org/r/20241127-mdss_qcs8300-v1-0-29b2c3ee9...@quicinc.com
~

---
Yongxing Mou (4):
dt-bindings: display/msm: Document the DPU for QCS8300
dt-bindings: display: msm: dp-controller: document QCS8300 compatible
dt-bindings: display/msm: Document MDSS on QCS8300


Is there any reason for not using a common style for these three
commits?


Hi,actually, for the dp-controller.yamel file, I just noticed that the
previous platforms added the dt-binding files using this format. So, I
followed their format to write the commit message. Such as dt-bindings for
sm8650/sm8150/sm8250...


I don't care about either of the formats, but please be self-consistent.
If one patch out of three has a different subject prefix, that looks
strange.

Got it, it does seem that way. I will revise the commit message format 
in the next version along with the MDSS binding review comments. Thanks.

drm/msm: mdss: Add QCS8300 support

   .../bindings/display/msm/dp-controller.yaml|   4 +
   .../bindings/display/msm/qcom,qcs8300-mdss.yaml| 244 
+
   .../bindings/display/msm/qcom,sm8650-dpu.yaml  |  13 +-
   drivers/gpu/drm/msm/msm_mdss.c |  11 +
   4 files changed, 268 insertions(+), 4 deletions(-)
---
base-commit: 2b88851f583d3c4e40bcd40cfe1965241ec229dd
change-id: 20241224-mdssdt_qcs8300-11b7883dc60b

Best regards,
--
Yongxing Mou 











Re: [PATCH v3 0/4] Display enablement changes for Qualcomm QCS8300 platform

2025-01-13 Thread Yongxing Mou




On 2025/1/13 17:02, Dmitry Baryshkov wrote:

On Mon, Jan 13, 2025 at 04:03:07PM +0800, Yongxing Mou wrote:

This series introduces support to enable the Mobile Display Subsystem (MDSS)
, Display Processing Unit (DPU), DisplayPort controller for the Qualcomm
QCS8300 target. It includes the addition of the hardware catalog, compatible
string, and their YAML bindings.

Signed-off-by: Yongxing Mou 
---
Changes in v3:Fixed review comments from Krzysztof, Dmitry.
- Fix the missing space issue in commit message.[Krzysztof]
- Separate the patch for the phy from this series.[Dmitry]
- Remove unused dependencies and update in the cover letter.[Dmitry][Krzysztof]
- Link to v2: 
https://lore.kernel.org/r/20241226-mdssdt_qcs8300-v2-0-acba0db53...@quicinc.com

Changes in v2:Fixed review comments from Krzysztof, Dmitry, Rob.
- Decouple the devicetree changes from this series.[Dmitry][Krzysztof]
- Drop the dpu driver changes and reuse SA8775P DPU driver.[Dmitry]
- Fix compilation issues in MDSS bindings.[Rob][Krzysztof]
- Correct formatting errors and remove unnecessary status in MDSS
   bindings.[Krzysztof]
- Add the the necessary information in MDSS changes commit msg.[Dmitry]
- Rebase MDSS driver changes to https://lore.kernel.org/dri-devel/
   20241127-msm-mdss-ubwc-v3-0-9782a7c2b...@linaro.org/.[Dmitry]
- Package the DisplayPort controller and eDP PHY bindings document to
   this patch series.
- Collecting MDSS changes reviewd-by Dmitry.
- Reuse the sa8775p eDP PHY as a fallback compat.[Dmitry]
- Reuse the sm8650 DP controller as a fallback compat.[Dmitry]
- Link to v1: 
https://lore.kernel.org/r/20241127-mdss_qcs8300-v1-0-29b2c3ee9...@quicinc.com
~

---
Yongxing Mou (4):
   dt-bindings: display/msm: Document the DPU for QCS8300
   dt-bindings: display: msm: dp-controller: document QCS8300 compatible
   dt-bindings: display/msm: Document MDSS on QCS8300


Is there any reason for not using a common style for these three
commits?

Hi,actually, for the dp-controller.yamel file, I just noticed that the 
previous platforms added the dt-binding files using this format. So, I 
followed their format to write the commit message. Such as dt-bindings 
for sm8650/sm8150/sm8250...

   drm/msm: mdss: Add QCS8300 support

  .../bindings/display/msm/dp-controller.yaml|   4 +
  .../bindings/display/msm/qcom,qcs8300-mdss.yaml| 244 +
  .../bindings/display/msm/qcom,sm8650-dpu.yaml  |  13 +-
  drivers/gpu/drm/msm/msm_mdss.c |  11 +
  4 files changed, 268 insertions(+), 4 deletions(-)
---
base-commit: 2b88851f583d3c4e40bcd40cfe1965241ec229dd
change-id: 20241224-mdssdt_qcs8300-11b7883dc60b

Best regards,
--
Yongxing Mou 







Re: [PATCH v3 3/4] dt-bindings: display/msm: Document MDSS on QCS8300

2025-01-14 Thread Yongxing Mou




On 2025/1/14 18:11, Krzysztof Kozlowski wrote:

On 14/01/2025 11:00, Dmitry Baryshkov wrote:

On Tue, 14 Jan 2025 at 09:57, Krzysztof Kozlowski  wrote:


On Mon, Jan 13, 2025 at 04:03:10PM +0800, Yongxing Mou wrote:

+patternProperties:
+  "^display-controller@[0-9a-f]+$":
+type: object
+additionalProperties: true
+
+properties:
+  compatible:
+items:
+  - const: qcom,qcs8300-dpu
+  - const: qcom,sa8775p-dpu
+
+  "^displayport-controller@[0-9a-f]+$":
+type: object
+additionalProperties: true
+
+properties:
+  compatible:
+items:
+  - const: qcom,qcs8300-dp
+  - const: qcom,sm8650-dp


Parts of qcs8300 display are compatible with sa8775p, other parts with
sm8650. That's odd or even not correct. Assuming it is actually correct,
it deserves explanation in commit msg.


It seems to be correct. These are two different IP blocks with
different modifications. QCS8300's DP configuration matches the SM8650
([1]), though the DPU is the same as the one on the SA8775P platform.

[1] 
https://lore.kernel.org/dri-devel/411626da-7563-48fb-ac7c-94f06e73e...@quicinc.com/


That's the driver, so you claim that qcs8300, which is a sa8775p, is not
compatible with sa8775p because of current driver code? You see the
contradiction? sa8775p is not compatible with sa8775p because of current
driver patch?

I don't think it is correct, but let's repeat: if you think otherwise,
this should be explain in commit msg.

Best regards,
Krzysztof


Hi,let me explain this: qcs8300 uses the same DPU as sa8775p, which is 
DPU_8_4. Therefore, for the DPU driver, qcs8300 reuses the driver of 
sa8775p. However, for the DisplayPort controller of qcs8300, it's 
different with sa8775p. qcs8300 only supports one DisplayPort output 
port, while sa8775p has two DPUs and supports four DisplayPort outputs. 
Therefore, the DisplayPort controller driver of sa8775p cannot be reused 
for qcs8300. Additionally, the base offset of qcs8300's DisplayPort 
controller is the same as that of sm8650, so the DisplayPort controller 
reuses "qcom,sm8650-dp". I explained this in the commit messages of the 
previous two bindings, but it might not have been explained in the 
commit message of this patch.i will update the commit msg in next patchset.




[PATCH 0/4] Add MST support for qcs8300 platform

2025-02-11 Thread Yongxing Mou
This series of patches introduces how to enable MST functionality on
the qcs8300 platform. The qcs8300 platform uses dpu_8_4 hardware, which
is the same as the sa8775p, but it only has one DPU. So it only has one
DP0 controller, supporting 4-stream MST. This patch only enables 
2-stream MST, using intf0 and intf3. The first and second patches are
modifications to the correspond dt-bindings, third patch is the dp 
controller driver after not reuse sm8650, fourth patch is the qcs8300
dts modification which add the clk support for stream 1.

Signed-off-by: Yongxing Mou 
---
This patch depends on following series:
https://lore.kernel.org/all/20250120-mdssdt_qcs8300-v4-0-1687e7842...@quicinc.com/
https://lore.kernel.org/all/20250114-dts_qcs8300-v3-0-d114cc5e4...@quicinc.com/
https://lore.kernel.org/all/20241202-dp_mst_bindings-v1-0-9a9a43b06...@quicinc.com
https://lore.kernel.org/all/20241205-dp_mst-v1-0-f8618d42a...@quicinc.com/

---
Yongxing Mou (4):
  dt-bindings: display/msm: Redocument the dp-controller for QCS8300
  dt-bindings: display/msm: Add stream 1 pixel clock for QCS8300
  drm/msm/dp: Populate the max_streams for qcs8300 mst controller
  arm64: dts: qcom: qcs8300: Add support for stream 1 clk for DP MST

 .../devicetree/bindings/display/msm/dp-controller.yaml |  5 +
 .../devicetree/bindings/display/msm/qcom,qcs8300-mdss.yaml | 14 --
 arch/arm64/boot/dts/qcom/qcs8300.dtsi  | 12 
 drivers/gpu/drm/msm/dp/dp_display.c|  8 
 4 files changed, 25 insertions(+), 14 deletions(-)
---
base-commit: 7ba9bcc5090556c007d9a718d7176e097fe54f19
change-id: 20250211-mst_qcs8300-4c18a5179165

Best regards,
-- 
Yongxing Mou 



[PATCH 4/4] arm64: dts: qcom: qcs8300: Add support for stream 1 clk for DP MST

2025-02-11 Thread Yongxing Mou
Add 2 streams MST support for qcs8300. Compatile with qcs8300 dp
controller driver and populate the stream clock for qcs8300 DP0
controller in MST mode.

Signed-off-by: Yongxing Mou 
---
 arch/arm64/boot/dts/qcom/qcs8300.dtsi | 12 
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/arch/arm64/boot/dts/qcom/qcs8300.dtsi 
b/arch/arm64/boot/dts/qcom/qcs8300.dtsi
index 
e10db7275accf769500abbebf57a6cbbbc4bf167..5166686981617707ba19245723e9215a53300392
 100644
--- a/arch/arm64/boot/dts/qcom/qcs8300.dtsi
+++ b/arch/arm64/boot/dts/qcom/qcs8300.dtsi
@@ -2865,12 +2865,13 @@ mdss_dp0_phy: phy@aec2a00 {
};
 
mdss_dp0: displayport-controller@af54000 {
-   compatible = "qcom,qcs8300-dp", "qcom,sm8650-dp";
+   compatible = "qcom,qcs8300-dp";
 
reg = <0x0 0x0af54000 0x0 0x200>,
  <0x0 0x0af54200 0x0 0x200>,
  <0x0 0x0af55000 0x0 0xc00>,
- <0x0 0x0af56000 0x0 0x400>;
+ <0x0 0x0af56000 0x0 0x400>,
+ <0x0 0x0af57000 0x0 0x400>;
 
interrupt-parent = <&mdss>;
interrupts = <12>;
@@ -2884,10 +2885,13 @@ mdss_dp0: displayport-controller@af54000 {
  "core_aux",
  "ctrl_link",
  "ctrl_link_iface",
- "stream_pixel";
+ "stream_pixel",
+ "stream_1_pixel";
assigned-clocks = <&dispcc 
MDSS_DISP_CC_MDSS_DPTX0_LINK_CLK_SRC>,
- <&dispcc 
MDSS_DISP_CC_MDSS_DPTX0_PIXEL0_CLK_SRC>;
+ <&dispcc 
MDSS_DISP_CC_MDSS_DPTX0_PIXEL0_CLK_SRC>,
+ <&dispcc 
MDSS_DISP_CC_MDSS_DPTX0_PIXEL1_CLK_SRC>;
assigned-clock-parents = <&mdss_dp0_phy 0>,
+<&mdss_dp0_phy 1>,
 <&mdss_dp0_phy 1>;
phys = <&mdss_dp0_phy>;
phy-names = "dp";

-- 
2.34.1



[PATCH 2/4] dt-bindings: display/msm: Add stream 1 pixel clock for QCS8300

2025-02-11 Thread Yongxing Mou
Support mst for qcs8300 and add the stream 1 clock support in the mdss
dt-bindings.

Signed-off-by: Yongxing Mou 
---
 .../devicetree/bindings/display/msm/qcom,qcs8300-mdss.yaml | 14 --
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git 
a/Documentation/devicetree/bindings/display/msm/qcom,qcs8300-mdss.yaml 
b/Documentation/devicetree/bindings/display/msm/qcom,qcs8300-mdss.yaml
index 
eb7f36387f748793ebf662baded4a13a61b3ce39..610742ceebf8ee5e140a409bfeb92d9f43085214
 100644
--- a/Documentation/devicetree/bindings/display/msm/qcom,qcs8300-mdss.yaml
+++ b/Documentation/devicetree/bindings/display/msm/qcom,qcs8300-mdss.yaml
@@ -53,7 +53,6 @@ patternProperties:
   compatible:
 items:
   - const: qcom,qcs8300-dp
-  - const: qcom,sm8650-dp
 
 required:
   - compatible
@@ -164,7 +163,7 @@ examples:
 };
 
 displayport-controller@af54000 {
-compatible = "qcom,qcs8300-dp", "qcom,sm8650-dp";
+compatible = "qcom,qcs8300-dp";
 
 pinctrl-0 = <&dp_hot_plug_det>;
 pinctrl-names = "default";
@@ -181,15 +180,18 @@ examples:
  <&dispcc0 MDSS_DISP_CC_MDSS_DPTX0_AUX_CLK>,
  <&dispcc0 MDSS_DISP_CC_MDSS_DPTX0_LINK_CLK>,
  <&dispcc0 MDSS_DISP_CC_MDSS_DPTX0_LINK_INTF_CLK>,
- <&dispcc0 MDSS_DISP_CC_MDSS_DPTX0_PIXEL0_CLK>;
+ <&dispcc0 MDSS_DISP_CC_MDSS_DPTX0_PIXEL0_CLK>,
+ <&dispcc0 MDSS_DISP_CC_MDSS_DPTX0_PIXEL1_CLK>;
 clock-names = "core_iface",
   "core_aux",
   "ctrl_link",
   "ctrl_link_iface",
-  "stream_pixel";
+  "stream_pixel",
+  "stream_1_pixel";
 assigned-clocks = <&dispcc0 MDSS_DISP_CC_MDSS_DPTX0_LINK_CLK_SRC>,
-  <&dispcc0 
MDSS_DISP_CC_MDSS_DPTX0_PIXEL0_CLK_SRC>;
-assigned-clock-parents = <&mdss_edp_phy 0>, <&mdss_edp_phy 1>;
+  <&dispcc0 
MDSS_DISP_CC_MDSS_DPTX0_PIXEL0_CLK_SRC>,
+  <&dispcc0 
MDSS_DISP_CC_MDSS_DPTX0_PIXEL1_CLK_SRC>;
+assigned-clock-parents = <&mdss_edp_phy 0>, <&mdss_edp_phy 1>, 
<&mdss_edp_phy 1>;
 phys = <&mdss_edp_phy>;
 phy-names = "dp";
 operating-points-v2 = <&dp_opp_table>;

-- 
2.34.1



[PATCH 3/4] drm/msm/dp: Populate the max_streams for qcs8300 mst controller

2025-02-11 Thread Yongxing Mou
Add support to program 2 streams MST for qcs8300. Previously, the
qcs8300 reused the driver of the sm8650's DP controller because they
have the same base address, offset, and number of controllers. However,
now we need to enable the MST feature for the qcs8300, so we need a new
patch The qcs8300 use the same DPU hardware as sa8775p but only have one
DPU and dp controller which supports 4 streams MST, but currently we only
enable 2 streams MST. It use the intf0 and intf3 to output the data
streams of MST0 and MST1.

Signed-off-by: Yongxing Mou 
---
 drivers/gpu/drm/msm/dp/dp_display.c | 8 
 1 file changed, 8 insertions(+)

diff --git a/drivers/gpu/drm/msm/dp/dp_display.c 
b/drivers/gpu/drm/msm/dp/dp_display.c
index 
fbbd39d1e53ba3172757105937a528b5c58ea290..fbe4658af1be2ec8c02e8f567667f1dc93ee5537
 100644
--- a/drivers/gpu/drm/msm/dp/dp_display.c
+++ b/drivers/gpu/drm/msm/dp/dp_display.c
@@ -149,6 +149,13 @@ static const unsigned int 
stream_intf_map_sa_8775p[][DP_STREAM_MAX] = {
{}
 };
 
+static const struct msm_dp_desc msm_dp_desc_qcs8300[] = {
+   { .io_start = 0x0af54000, .id = MSM_DP_CONTROLLER_0, 
.wide_bus_supported = true, .max_streams = 2,
+ .intf_map = stream_intf_map_sa_8775p[MSM_DP_CONTROLLER_0],
+   },
+   {}
+};
+
 static const struct msm_dp_desc msm_dp_desc_sa8775p[] = {
{ .io_start = 0x0af54000, .id = MSM_DP_CONTROLLER_0, 
.wide_bus_supported = true, .max_streams = 2,
  .intf_map = stream_intf_map_sa_8775p[MSM_DP_CONTROLLER_0],
@@ -205,6 +212,7 @@ static const struct msm_dp_desc msm_dp_desc_x1e80100[] = {
 };
 
 static const struct of_device_id msm_dp_dt_match[] = {
+   { .compatible = "qcom,qcs8300-dp", .data = &msm_dp_desc_qcs8300 },
{ .compatible = "qcom,sa8775p-dp", .data = &msm_dp_desc_sa8775p },
{ .compatible = "qcom,sc7180-dp", .data = &msm_dp_desc_sc7180 },
{ .compatible = "qcom,sc7280-dp", .data = &msm_dp_desc_sc7280 },

-- 
2.34.1



[PATCH 1/4] dt-bindings: display/msm: Redocument the dp-controller for QCS8300

2025-02-11 Thread Yongxing Mou
We need to enable mst for qcs8300, dp0 controller will support 2 streams
output. So not reuse sm8650 dp controller driver and will add a new driver
patch for qcs8300 mst feature. Modify the corresponding dt-bingding file
to compatible with the qcs8300-dp.

Signed-off-by: Yongxing Mou 
---
 Documentation/devicetree/bindings/display/msm/dp-controller.yaml | 5 +
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/Documentation/devicetree/bindings/display/msm/dp-controller.yaml 
b/Documentation/devicetree/bindings/display/msm/dp-controller.yaml
index 
359e364d79b20469d41cd8416a55b6a5d5c7d8ce..59075d7f05147f1f477f236a76fee6ec5d8c5ad8
 100644
--- a/Documentation/devicetree/bindings/display/msm/dp-controller.yaml
+++ b/Documentation/devicetree/bindings/display/msm/dp-controller.yaml
@@ -18,6 +18,7 @@ properties:
   compatible:
 oneOf:
   - enum:
+  - qcom,qcs8300-dp
   - qcom,sa8775p-dp
   - qcom,sc7180-dp
   - qcom,sc7280-dp
@@ -37,10 +38,6 @@ properties:
   - qcom,sm8450-dp
   - qcom,sm8550-dp
   - const: qcom,sm8350-dp
-  - items:
-  - enum:
-  - qcom,qcs8300-dp
-  - const: qcom,sm8650-dp
 
   reg:
 minItems: 4

-- 
2.34.1



Re: [PATCH 0/4] Add MST support for qcs8300 platform

2025-02-19 Thread Yongxing Mou




On 2025/2/19 20:07, Krzysztof Kozlowski wrote:

On 19/02/2025 11:02, Yongxing Mou wrote:



On 2025/2/12 17:06, Krzysztof Kozlowski wrote:

On 12/02/2025 08:12, Yongxing Mou wrote:

This series of patches introduces how to enable MST functionality on
the qcs8300 platform. The qcs8300 platform uses dpu_8_4 hardware, which
is the same as the sa8775p, but it only has one DPU. So it only has one
DP0 controller, supporting 4-stream MST. This patch only enables
2-stream MST, using intf0 and intf3. The first and second patches are
modifications to the correspond dt-bindings, third patch is the dp
controller driver after not reuse sm8650, fourth patch is the qcs8300
dts modification which add the clk support for stream 1.

Signed-off-by: Yongxing Mou 
---
This patch depends on following series:
https://lore.kernel.org/all/20250120-mdssdt_qcs8300-v4-0-1687e7842...@quicinc.com/
https://lore.kernel.org/all/20250114-dts_qcs8300-v3-0-d114cc5e4...@quicinc.com/
https://lore.kernel.org/all/20241202-dp_mst_bindings-v1-0-9a9a43b06...@quicinc.com
https://lore.kernel.org/all/20241205-dp_mst-v1-0-f8618d42a...@quicinc.com/


Buggy patch cannot be the dependency. You need to fix the original patch
instead. You are not supposed to wait till knowingly incorrect patches
get merged so you can send a fix. You must respond to that patch
stopping its merging process.

Best regards,
Krzysztof

Thanks for the reminder. I hadn't noticed that before. We will wait for
our dependencies to be ready before sending the new patchset.


So this means you intend the knowingly incorrect patch to be applied? If
so, all this should be just NAKed.

Best regards,
Krzysztof
Hi, that is not my intention. I will correct the patch after i know it 
is incorrect. Thanks.


Re: [PATCH 1/4] dt-bindings: display/msm: Redocument the dp-controller for QCS8300

2025-02-19 Thread Yongxing Mou




On 2025/2/12 19:28, Krzysztof Kozlowski wrote:

On 12/02/2025 12:13, Yongxing Mou wrote:



On 2025/2/12 16:35, Krzysztof Kozlowski wrote:

On 12/02/2025 08:12, Yongxing Mou wrote:

We need to enable mst for qcs8300, dp0 controller will support 2 streams
output. So not reuse sm8650 dp controller driver and will add a new driver
patch for qcs8300 mst feature. Modify the corresponding dt-bingding file
to compatible with the qcs8300-dp.

Signed-off-by: Yongxing Mou 

NAK. You just said qcs8300 is compatible with sm8650. I did not ask
about drivers, I asked about hardware.

This is messy approach. Describe properly the hardware first, instead of
sending two conflicting patchsets.

Best regards,
Krzysztof


Hi, Krzysztof, thanks for reviewing, i want to explain why i submitted
this patch. Patch
https://lore.kernel.org/all/20250114-dts_qcs8300-v3-1-d114cc5e4...@quicinc.com/
and
https://lore.kernel.org/all/20250120-mdssdt_qcs8300-v4-2-1687e7842...@quicinc.com/
is the qcs8300 display enablement changes. It base on current linux base
code and it only support SST mode, so in the SST mode, qcs8300 dp
controller driver is quite same with sm8650, struct msm_dp_desc only
have 3 members(io_start, id and wide_bus_supported) and they are same
both in qcs8300 and sm8650, so we reuse it. BTW, for dp phy hardware
version, qcs8300 and sm8650 is different.


No. In one patchset you claim hardware is like that, in other patchset
you say hardware is different.

Sorry, hardware does not change based on your patchsets.

Sort out this before posting new versions.

Best regards,
Krzysztof


Got it , thanks . The 4 clocks description will be updated in the new 
patch. Qcs8300 support 4 intfs in DP0, sm8650 supports 2 intfs in 
hardware.


Re: [PATCH 1/4] dt-bindings: display/msm: Redocument the dp-controller for QCS8300

2025-02-19 Thread Yongxing Mou




On 2025/2/12 21:44, Konrad Dybcio wrote:

On 12.02.2025 12:28 PM, Krzysztof Kozlowski wrote:

On 12/02/2025 12:13, Yongxing Mou wrote:



On 2025/2/12 16:35, Krzysztof Kozlowski wrote:

On 12/02/2025 08:12, Yongxing Mou wrote:

We need to enable mst for qcs8300, dp0 controller will support 2 streams
output. So not reuse sm8650 dp controller driver and will add a new driver
patch for qcs8300 mst feature. Modify the corresponding dt-bingding file
to compatible with the qcs8300-dp.

Signed-off-by: Yongxing Mou 

NAK. You just said qcs8300 is compatible with sm8650. I did not ask
about drivers, I asked about hardware.

This is messy approach. Describe properly the hardware first, instead of
sending two conflicting patchsets.

Best regards,
Krzysztof


Hi, Krzysztof, thanks for reviewing, i want to explain why i submitted
this patch. Patch
https://lore.kernel.org/all/20250114-dts_qcs8300-v3-1-d114cc5e4...@quicinc.com/
and
https://lore.kernel.org/all/20250120-mdssdt_qcs8300-v4-2-1687e7842...@quicinc.com/
is the qcs8300 display enablement changes. It base on current linux base
code and it only support SST mode, so in the SST mode, qcs8300 dp
controller driver is quite same with sm8650, struct msm_dp_desc only
have 3 members(io_start, id and wide_bus_supported) and they are same
both in qcs8300 and sm8650, so we reuse it. BTW, for dp phy hardware
version, qcs8300 and sm8650 is different.


No. In one patchset you claim hardware is like that, in other patchset
you say hardware is different.

Sorry, hardware does not change based on your patchsets.

Sort out this before posting new versions.


In other words, fallback compatibles must be chosen with features that
are present in hardware, but not yet supported upstream in mind.

It's totally fine (and even preferred/expected) to describe hardware resources
(such as MST clocks here) when initially creating bindings for a piece of hw,
even though the drivers don't use them yet at that moment.

dt-bindings are supposed to give the OS a complete representation of the
hardware and ideally be immutable (which is a struggle, but we're getting
better). Driver specifics should not influence your decisions (or at least
do so very minimally) when adding these.

Now you're in a """good""" position as the display bindings haven't been merged
yet, so you can still upload a new patchset where the description is more
accurate. If it was merged, we'd have to break the ABI or add some crazy
workarounds..

Please coalesce this patchset with the "add 8300 display support" one.

Please also describe all 4 MST clocks and whatever other clocks/resets that
may be necessary down the line.
  
Konrad
Thanks, will update it in this patch "add 8300 display support". Because 
this will depend on this change: 
https://patchwork.freedesktop.org/series/142016/. we will first fix our 
dependecy comments and then repost it.


Re: [PATCH 1/4] dt-bindings: display/msm: Redocument the dp-controller for QCS8300

2025-02-19 Thread Yongxing Mou




On 2025/2/12 20:26, Dmitry Baryshkov wrote:

On Wed, 12 Feb 2025 at 12:54, Krzysztof Kozlowski  wrote:


On 12/02/2025 11:41, Dmitry Baryshkov wrote:

On Wed, Feb 12, 2025 at 03:12:24PM +0800, Yongxing Mou wrote:

We need to enable mst for qcs8300, dp0 controller will support 2 streams
output. So not reuse sm8650 dp controller driver and will add a new driver
patch for qcs8300 mst feature. Modify the corresponding dt-bingding file
to compatible with the qcs8300-dp.


NAK for a different reason: QCS8300 is still compatible with SM8650.
Enable features instead of randomly reshuffle compats. In this case,
enable MST for both architectures.


So the original patch was probably correct...


I have no idea. I'd let Yongxing Mou to comment on this. It would be
nice  instead of getting a lengthy explanation of obvious items to get
an answer to an actual question: is QCS8300 compatible with SM8650 or
not. In other words whether they can support the same number of MST
streams on each controller or not.

Hi, in hardware, the SM8650's DP controller supports 2 INTFs, while the 
QCS8300's DP0 controller supports 4 INTFs.In sst mode, only one INTF 
will be used, they are same, but for MST, sm8650 supports 2 streams 
while qcs8300 support 4 streams. Thanks.




Re: [PATCH 4/4] arm64: dts: qcom: qcs8300: Add support for stream 1 clk for DP MST

2025-02-19 Thread Yongxing Mou




On 2025/2/13 7:41, Konrad Dybcio wrote:

On 12.02.2025 8:12 AM, Yongxing Mou wrote:

Add 2 streams MST support for qcs8300. Compatile with qcs8300 dp
controller driver and populate the stream clock for qcs8300 DP0
controller in MST mode.

Signed-off-by: Yongxing Mou 
---


Please add all required resources for quad-MST operation

Konrad

Goit it, Thanks.


Re: [PATCH 2/4] dt-bindings: display/msm: Add stream 1 pixel clock for QCS8300

2025-02-19 Thread Yongxing Mou




On 2025/2/12 16:34, Krzysztof Kozlowski wrote:

Your patchset leads to warnings - it is non-bisectable.

Fix original code, don't post buggy patches just to fix them immediately.


Got it. Thanks for the reminder, won't do it again.


Re: [PATCH 0/4] Add MST support for qcs8300 platform

2025-02-19 Thread Yongxing Mou




On 2025/2/12 17:06, Krzysztof Kozlowski wrote:

On 12/02/2025 08:12, Yongxing Mou wrote:

This series of patches introduces how to enable MST functionality on
the qcs8300 platform. The qcs8300 platform uses dpu_8_4 hardware, which
is the same as the sa8775p, but it only has one DPU. So it only has one
DP0 controller, supporting 4-stream MST. This patch only enables
2-stream MST, using intf0 and intf3. The first and second patches are
modifications to the correspond dt-bindings, third patch is the dp
controller driver after not reuse sm8650, fourth patch is the qcs8300
dts modification which add the clk support for stream 1.

Signed-off-by: Yongxing Mou 
---
This patch depends on following series:
https://lore.kernel.org/all/20250120-mdssdt_qcs8300-v4-0-1687e7842...@quicinc.com/
https://lore.kernel.org/all/20250114-dts_qcs8300-v3-0-d114cc5e4...@quicinc.com/
https://lore.kernel.org/all/20241202-dp_mst_bindings-v1-0-9a9a43b06...@quicinc.com
https://lore.kernel.org/all/20241205-dp_mst-v1-0-f8618d42a...@quicinc.com/


Buggy patch cannot be the dependency. You need to fix the original patch
instead. You are not supposed to wait till knowingly incorrect patches
get merged so you can send a fix. You must respond to that patch
stopping its merging process.

Best regards,
Krzysztof
Thanks for the reminder. I hadn't noticed that before. We will wait for 
our dependencies to be ready before sending the new patchset.


Re: [PATCH 1/4] dt-bindings: display/msm: Redocument the dp-controller for QCS8300

2025-02-19 Thread Yongxing Mou




On 2025/2/12 18:42, Dmitry Baryshkov wrote:

On Wed, Feb 12, 2025 at 03:12:24PM +0800, Yongxing Mou wrote:

We need to enable mst for qcs8300, dp0 controller will support 2 streams
output. So not reuse sm8650 dp controller driver and will add a new driver
patch for qcs8300 mst feature. Modify the corresponding dt-bingding file
to compatible with the qcs8300-dp.


Forgot to mention that in the quick response: please fix usage of
capital or lowercase letters in the commit message. If you are unusure,
'git log' will help you.



Signed-off-by: Yongxing Mou 
---
  Documentation/devicetree/bindings/display/msm/dp-controller.yaml | 5 +
  1 file changed, 1 insertion(+), 4 deletions(-)




Got it , thanks. Will correct it in new patch.



Re: [PATCH 0/4] Add MST support for qcs8300 platform

2025-02-19 Thread Yongxing Mou




On 2025/2/12 18:51, Dmitry Baryshkov wrote:

On Wed, Feb 12, 2025 at 03:12:23PM +0800, Yongxing Mou wrote:

This series of patches introduces how to enable MST functionality on
the qcs8300 platform.



The qcs8300 platform uses dpu_8_4 hardware, which
is the same as the sa8775p, but it only has one DPU. So it only has one
DP0 controller, supporting 4-stream MST.


This is irrelevant, unless you want to point out something else.

Got it.



This patch only enables
2-stream MST, using intf0 and intf3. The first and second patches are
modifications to the correspond dt-bindings, third patch is the dp
controller driver after not reuse sm8650, fourth patch is the qcs8300
dts modification which add the clk support for stream 1.


This is obvious. Really. Instead you must explain why QCS8300 isn't
compatible with SM8650. How many streams are supported by the SM8650?


Got it, will update in new patchset.


Signed-off-by: Yongxing Mou 
---
This patch depends on following series:
https://lore.kernel.org/all/20250120-mdssdt_qcs8300-v4-0-1687e7842...@quicinc.com/
https://lore.kernel.org/all/20250114-dts_qcs8300-v3-0-d114cc5e4...@quicinc.com/
https://lore.kernel.org/all/20241202-dp_mst_bindings-v1-0-9a9a43b06...@quicinc.com
https://lore.kernel.org/all/20241205-dp_mst-v1-0-f8618d42a...@quicinc.com/



Please don't patches against series which were requested to be changed
singificantly. Don't spam mailing lists just to be able to 'FROMLIST'
them. Instead work with Abhinav to get this patchset integrated into his
next iteration of the series.

Emmm, got it, thanks for reminder. Will work with Abhinav to modify the 
MST patchset comments first. And then repost qcs8300 enablement changes.

---
Yongxing Mou (4):
   dt-bindings: display/msm: Redocument the dp-controller for QCS8300
   dt-bindings: display/msm: Add stream 1 pixel clock for QCS8300
   drm/msm/dp: Populate the max_streams for qcs8300 mst controller
   arm64: dts: qcom: qcs8300: Add support for stream 1 clk for DP MST

  .../devicetree/bindings/display/msm/dp-controller.yaml |  5 +
  .../devicetree/bindings/display/msm/qcom,qcs8300-mdss.yaml | 14 --
  arch/arm64/boot/dts/qcom/qcs8300.dtsi  | 12 
  drivers/gpu/drm/msm/dp/dp_display.c|  8 
  4 files changed, 25 insertions(+), 14 deletions(-)
---
base-commit: 7ba9bcc5090556c007d9a718d7176e097fe54f19
change-id: 20250211-mst_qcs8300-4c18a5179165

Best regards,
--
Yongxing Mou