Skip to contentSkip to conversation

drm/msm/dsi: support DSC configurations with slice_per_pkt > 1

PATCH Alexander Koskovich 2 participants 2 messages Mar 12 – Mar 13 Arm Qualcomm mailing list

lore
Share & tools
lore
#0 lore raw
Quoted 77 lines · Dmitry Baryshkov
Quoted 76 lines · Junjie Cao
Quoted 53 lines · Dmitry Baryshkov <[email protected]> 于2025年10月13日周一 20:31写道:
Quoted 52 lines · Junjie Cao
Quoted 35 lines · Dmitry Baryshkov <[email protected]> 于2025年10月13日周一 17:39写道:
Quoted 28 lines · 曹俊杰
Quoted 1 line

Dmitry Baryshkov <[email protected]

Quoted 4 lines · <mailto:[email protected]>> 于2025年10月2日周四 10:04写道:
Quoted 3 lines · Junjie Cao

From: Jun Nie <[email protected] <mailto:[email protected]>>

Some panels support multiple slice to be sent in a single DSC

packet. And

Quoted 1 line
Quoted 1 line

this feature is a must for specific panels, such as JDI LPM026M648C.

Add a

Quoted 4 lines
Quoted 4 lines

dsc_slice_per_pkt member into struct mipi_dsi_device and support the feature in msm mdss driver.

<mailto:[email protected]>>

Quoted 1 line
Quoted 1 line

<mailto:[email protected]>>

Quoted 2 lines
Quoted 2 lines
Signed-off-by Jun Nie <[email protected] <mailto:[email protected]>>

<mailto:[email protected]>>

Quoted 8 lines
Quoted 4 lines
---
 drivers/gpu/drm/msm/dsi/dsi_host.c | 25 ++++++++++---------------
 include/drm/drm_mipi_dsi.h         |  2 ++
 2 files changed, 12 insertions(+), 15 deletions(-)

Please extract the generic part, so that it can be merged through a generic tree.

Quoted 5 lines

Sorry, I don't get it. The generic part, generic tree? Do you mean the drm tree? slice_per_pkt >= 2 is seen on the panels of these tablets that are equipped with qcom chips. I don't know if these panels are used on other platforms, and if it is necessary to do it in drm.

Quoted 9 lines

There are two changes here:
- MIPI DSI header change
- msm DSI driver

I've asked to split it to those two commits so that he change for drm_mipi_dsi.h is more obvious for reviewers and so that it can be merged through a drm-misc tree (or through drm-msm tree provided it gets a necessary ack).

Thanks for your clear explanation.

I don't mind to add the field separately. But should I submit it with the panel driver together? Otherwise, this field is unused for a while.

Quoted 7 lines
Quoted 4 lines

However, as you mentioned, this is not a part of standard, neither mipi dsi nor VESA DSC. Recently, only Qualcomm devices require it to calculate parameters, then we use them to program registers. Why don't we parse the field from devicetree?

Because the value is uniquelly identified by the panel's compat string.

Yes, it is panel specified.
But can we set it for every panel like

&mdss_dsi0 {
    qcom,mdss-dsc-slice-per-pkt = <2>;

    status = "okay";

    panel: panel@0 {
        compatible = "foo,bar";
        reg = <0>;
    };
};
Quoted 4 lines
Quoted 1 line

or moving the property to panel node? We access it from child node.

Why do you need it in DT if the panel driver can provide this information.

Hello, I need this patch for the Tianma TA066VVHM03 on the ASUS ROG Phone 3. Is the only change required at this point to split the generic part, and is a v2 in the works to address this?

Quoted 4 lines
Signature · 3 lines
-- 
With best wishes
Dmitry

Thanks,
Alex

#1 lore raw
Quoted 78 lines · Alexander Koskovich
Quoted 77 lines · Dmitry Baryshkov
Quoted 76 lines · Junjie Cao
Quoted 53 lines · Dmitry Baryshkov <[email protected]> 于2025年10月13日周一 20:31写道:
Quoted 52 lines · Junjie Cao
Quoted 35 lines · Dmitry Baryshkov <[email protected]> 于2025年10月13日周一 17:39写道:
Quoted 28 lines · 曹俊杰
Quoted 1 line

Dmitry Baryshkov <[email protected]

Quoted 4 lines · <mailto:[email protected]>> 于2025年10月2日周四 10:04写道:
Quoted 3 lines · Junjie Cao

From: Jun Nie <[email protected] <mailto:[email protected]>>

Some panels support multiple slice to be sent in a single DSC

packet. And

Quoted 1 line
Quoted 1 line

this feature is a must for specific panels, such as JDI LPM026M648C.

Add a

Quoted 4 lines
Quoted 4 lines

dsc_slice_per_pkt member into struct mipi_dsi_device and support the feature in msm mdss driver.

<mailto:[email protected]>>

Quoted 1 line
Quoted 1 line

<mailto:[email protected]>>

Quoted 2 lines
Quoted 2 lines
Signed-off-by Jun Nie <[email protected] <mailto:[email protected]>>

<mailto:[email protected]>>

Quoted 8 lines
Quoted 4 lines
---
 drivers/gpu/drm/msm/dsi/dsi_host.c | 25 ++++++++++---------------
 include/drm/drm_mipi_dsi.h         |  2 ++
 2 files changed, 12 insertions(+), 15 deletions(-)

Please extract the generic part, so that it can be merged through a generic tree.

Quoted 5 lines

Sorry, I don't get it. The generic part, generic tree? Do you mean the drm tree? slice_per_pkt >= 2 is seen on the panels of these tablets that are equipped with qcom chips. I don't know if these panels are used on other platforms, and if it is necessary to do it in drm.

Quoted 9 lines

There are two changes here:
- MIPI DSI header change
- msm DSI driver

I've asked to split it to those two commits so that he change for drm_mipi_dsi.h is more obvious for reviewers and so that it can be merged through a drm-misc tree (or through drm-msm tree provided it gets a necessary ack).

Thanks for your clear explanation.

I don't mind to add the field separately. But should I submit it with the panel driver together? Otherwise, this field is unused for a while.

Quoted 7 lines
Quoted 4 lines

However, as you mentioned, this is not a part of standard, neither mipi dsi nor VESA DSC. Recently, only Qualcomm devices require it to calculate parameters, then we use them to program registers. Why don't we parse the field from devicetree?

Because the value is uniquelly identified by the panel's compat string.

Yes, it is panel specified.
But can we set it for every panel like

&mdss_dsi0 {
    qcom,mdss-dsc-slice-per-pkt = <2>;

    status = "okay";

    panel: panel@0 {
        compatible = "foo,bar";
        reg = <0>;
    };
};
Quoted 8 lines
Quoted 4 lines
Quoted 1 line

or moving the property to panel node? We access it from child node.

Why do you need it in DT if the panel driver can provide this information.

Hello, I need this patch for the Tianma TA066VVHM03 on the ASUS ROG Phone 3. Is the only change required at this point to split the generic part, and is a v2 in the works to address this?

I haven't heard anything from Junjie (nor from Jun Nie) regarding this topic. I'd assume, nobody is working on this.

This patch needs to be split into drm and drm-msm parts (they will go through different trees). Please describe the data field, clearly stating that it defaults to 1 if the field is unset (and that most panels are expected to work with the default value).

An alternative (and maybe a better) approach would be to add the 'all slices in packet' flag, which would clearly identify that it's not about having some slices, but about having all slices for 1 line in a single DSI packet.

Signature · 2 lines
With best wishes
Dmitry