* [PATCH 2/3] drm/msm/dsi: support DSC configurations with slice_per_pkt > 1
2025-10-01 13:59 [PATCH 0/3] drm/panel: Add support for Novatek NT36532 panel Junjie Cao
@ 2025-10-01 13:59 ` Junjie Cao
2025-10-02 2:03 ` Dmitry Baryshkov
0 siblings, 1 reply; 10+ messages in thread
From: Junjie Cao @ 2025-10-01 13:59 UTC (permalink / raw)
To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Rob Clark, Dmitry Baryshkov,
Abhinav Kumar, Sean Paul, Marijn Suijten, Antonino Maniscalco,
Jonathan Marek, Eugene Lepshy, Jun Nie
Cc: Junjie Cao, dri-devel, devicetree, linux-kernel, linux-arm-msm,
freedreno
From: Jun Nie <jun.nie@linaro.org>
Some panels support multiple slice to be sent in a single DSC packet. And
this feature is a must for specific panels, such as JDI LPM026M648C. Add a
dsc_slice_per_pkt member into struct mipi_dsi_device and support the
feature in msm mdss driver.
Co-developed-by: Jonathan Marek <jonathan@marek.ca>
Signed-off-by: Jonathan Marek <jonathan@marek.ca>
Signed-off-by: Jun Nie <jun.nie@linaro.org>
Signed-off-by: Junjie Cao <caojunjie650@gmail.com>
---
drivers/gpu/drm/msm/dsi/dsi_host.c | 25 ++++++++++---------------
include/drm/drm_mipi_dsi.h | 2 ++
2 files changed, 12 insertions(+), 15 deletions(-)
diff --git a/drivers/gpu/drm/msm/dsi/dsi_host.c b/drivers/gpu/drm/msm/dsi/dsi_host.c
index e0de545d4077..773ce8520698 100644
--- a/drivers/gpu/drm/msm/dsi/dsi_host.c
+++ b/drivers/gpu/drm/msm/dsi/dsi_host.c
@@ -166,6 +166,7 @@ struct msm_dsi_host {
struct drm_display_mode *mode;
struct drm_dsc_config *dsc;
+ unsigned int dsc_slice_per_pkt;
/* connected device info */
unsigned int channel;
@@ -910,17 +911,10 @@ static void dsi_update_dsc_timing(struct msm_dsi_host *msm_host, bool is_cmd_mod
slice_per_intf = dsc->slice_count;
total_bytes_per_intf = dsc->slice_chunk_size * slice_per_intf;
- bytes_per_pkt = dsc->slice_chunk_size; /* * slice_per_pkt; */
+ bytes_per_pkt = dsc->slice_chunk_size * msm_host->dsc_slice_per_pkt;
eol_byte_num = total_bytes_per_intf % 3;
-
- /*
- * Typically, pkt_per_line = slice_per_intf * slice_per_pkt.
- *
- * Since the current driver only supports slice_per_pkt = 1,
- * pkt_per_line will be equal to slice per intf for now.
- */
- pkt_per_line = slice_per_intf;
+ pkt_per_line = slice_per_intf / msm_host->dsc_slice_per_pkt;
if (is_cmd_mode) /* packet data type */
reg = DSI_COMMAND_COMPRESSION_MODE_CTRL_STREAM0_DATATYPE(MIPI_DSI_DCS_LONG_WRITE);
@@ -1069,12 +1063,8 @@ static void dsi_timing_setup(struct msm_dsi_host *msm_host, bool is_bonded_dsi)
else
/*
* When DSC is enabled, WC = slice_chunk_size * slice_per_pkt + 1.
- * Currently, the driver only supports default value of slice_per_pkt = 1
- *
- * TODO: Expand mipi_dsi_device struct to hold slice_per_pkt info
- * and adjust DSC math to account for slice_per_pkt.
*/
- wc = msm_host->dsc->slice_chunk_size + 1;
+ wc = msm_host->dsc->slice_chunk_size * msm_host->dsc_slice_per_pkt + 1;
dsi_write(msm_host, REG_DSI_CMD_MDP_STREAM0_CTRL,
DSI_CMD_MDP_STREAM0_CTRL_WORD_COUNT(wc) |
@@ -1683,8 +1673,13 @@ static int dsi_host_attach(struct mipi_dsi_host *host,
msm_host->lanes = dsi->lanes;
msm_host->format = dsi->format;
msm_host->mode_flags = dsi->mode_flags;
- if (dsi->dsc)
+ if (dsi->dsc) {
msm_host->dsc = dsi->dsc;
+ msm_host->dsc_slice_per_pkt = dsi->dsc_slice_per_pkt;
+ /* for backwards compatibility, assume 1 if not set */
+ if (!msm_host->dsc_slice_per_pkt)
+ msm_host->dsc_slice_per_pkt = 1;
+ }
ret = dsi_dev_attach(msm_host->pdev);
if (ret)
diff --git a/include/drm/drm_mipi_dsi.h b/include/drm/drm_mipi_dsi.h
index 3aba7b380c8d..2ddec7931bd0 100644
--- a/include/drm/drm_mipi_dsi.h
+++ b/include/drm/drm_mipi_dsi.h
@@ -180,6 +180,7 @@ struct mipi_dsi_device_info {
* be set to the real limits of the hardware, zero is only accepted for
* legacy drivers
* @dsc: panel/bridge DSC pps payload to be sent
+ * @dsc_slice_per_pkt: number of DSC slices to be sent as in a single packet
*/
struct mipi_dsi_device {
struct mipi_dsi_host *host;
@@ -194,6 +195,7 @@ struct mipi_dsi_device {
unsigned long hs_rate;
unsigned long lp_rate;
struct drm_dsc_config *dsc;
+ unsigned int dsc_slice_per_pkt;
};
/**
--
2.48.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH 2/3] drm/msm/dsi: support DSC configurations with slice_per_pkt > 1
2025-10-01 13:59 ` [PATCH 2/3] drm/msm/dsi: support DSC configurations with slice_per_pkt > 1 Junjie Cao
@ 2025-10-02 2:03 ` Dmitry Baryshkov
2025-10-13 2:09 ` 曹俊杰
[not found] ` <CAK6c68jBwykcWZm3ckm3nwab-X9Are4rD-eauE4rXA2+XvuX1w@mail.gmail.com>
0 siblings, 2 replies; 10+ messages in thread
From: Dmitry Baryshkov @ 2025-10-02 2:03 UTC (permalink / raw)
To: Junjie Cao
Cc: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Rob Clark, Dmitry Baryshkov,
Abhinav Kumar, Sean Paul, Marijn Suijten, Antonino Maniscalco,
Jonathan Marek, Eugene Lepshy, Jun Nie, dri-devel, devicetree,
linux-kernel, linux-arm-msm, freedreno
On Wed, Oct 01, 2025 at 09:59:13PM +0800, Junjie Cao wrote:
> From: Jun Nie <jun.nie@linaro.org>
>
> Some panels support multiple slice to be sent in a single DSC packet. And
> this feature is a must for specific panels, such as JDI LPM026M648C. Add a
> dsc_slice_per_pkt member into struct mipi_dsi_device and support the
> feature in msm mdss driver.
>
> Co-developed-by: Jonathan Marek <jonathan@marek.ca>
> Signed-off-by: Jonathan Marek <jonathan@marek.ca>
> Signed-off-by: Jun Nie <jun.nie@linaro.org>
> Signed-off-by: Junjie Cao <caojunjie650@gmail.com>
> ---
> 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.
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 2/3] drm/msm/dsi: support DSC configurations with slice_per_pkt > 1
2025-10-02 2:03 ` Dmitry Baryshkov
@ 2025-10-13 2:09 ` 曹俊杰
[not found] ` <CAK6c68jBwykcWZm3ckm3nwab-X9Are4rD-eauE4rXA2+XvuX1w@mail.gmail.com>
1 sibling, 0 replies; 10+ messages in thread
From: 曹俊杰 @ 2025-10-13 2:09 UTC (permalink / raw)
To: Dmitry Baryshkov
Cc: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Rob Clark, Dmitry Baryshkov,
Abhinav Kumar, Sean Paul, Marijn Suijten, Antonino Maniscalco,
Jonathan Marek, Eugene Lepshy, Jun Nie, dri-devel, devicetree,
linux-kernel, linux-arm-msm, freedreno
Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> 于2025年10月2日周四 10:04写道:
>On Wed, Oct 01, 2025 at 09:59:13PM +0800, Junjie Cao wrote:
>> From: Jun Nie <jun.nie@linaro.org>
>>
>> Some panels support multiple slice to be sent in a single DSC packet. And
>> this feature is a must for specific panels, such as JDI LPM026M648C. Add a
>> dsc_slice_per_pkt member into struct mipi_dsi_device and support the
>> feature in msm mdss driver.
>>
>> Co-developed-by: Jonathan Marek <jonathan@marek.ca>
>> Signed-off-by: Jonathan Marek <jonathan@marek.ca>
>> Signed-off-by: Jun Nie <jun.nie@linaro.org>
>> Signed-off-by: Junjie Cao <caojunjie650@gmail.com>
>> ---
>> 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.
>
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.
>--
>With best wishes
>Dmitry
Regards,
Junjie
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 2/3] drm/msm/dsi: support DSC configurations with slice_per_pkt > 1
[not found] ` <CAK6c68jBwykcWZm3ckm3nwab-X9Are4rD-eauE4rXA2+XvuX1w@mail.gmail.com>
@ 2025-10-13 9:39 ` Dmitry Baryshkov
2025-10-13 11:04 ` Junjie Cao
0 siblings, 1 reply; 10+ messages in thread
From: Dmitry Baryshkov @ 2025-10-13 9:39 UTC (permalink / raw)
To: 曹俊杰
Cc: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Rob Clark, Dmitry Baryshkov,
Abhinav Kumar, Sean Paul, Marijn Suijten, Antonino Maniscalco,
Jonathan Marek, Eugene Lepshy, Jun Nie, dri-devel, devicetree,
linux-kernel, linux-arm-msm, freedreno
On 13/10/2025 04:52, 曹俊杰 wrote:
> >Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com
> <mailto:dmitry.baryshkov@oss.qualcomm.com>> 于2025年10月2日周四 10:04写道:
> >On Wed, Oct 01, 2025 at 09:59:13PM +0800, Junjie Cao wrote:
> >> From: Jun Nie <jun.nie@linaro.org <mailto:jun.nie@linaro.org>>
> >>
> >> Some panels support multiple slice to be sent in a single DSC
> packet. And
> >> this feature is a must for specific panels, such as JDI LPM026M648C.
> Add a
> >> dsc_slice_per_pkt member into struct mipi_dsi_device and support the
> >> feature in msm mdss driver.
> >>
> >> Co-developed-by: Jonathan Marek <jonathan@marek.ca
> <mailto:jonathan@marek.ca>>
> >> Signed-off-by: Jonathan Marek <jonathan@marek.ca
> <mailto:jonathan@marek.ca>>
> >> Signed-off-by: Jun Nie <jun.nie@linaro.org <mailto:jun.nie@linaro.org>>
> >> Signed-off-by: Junjie Cao <caojunjie650@gmail.com
> <mailto:caojunjie650@gmail.com>>
> >> ---
> >> 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.
> >
>
> 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.
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).
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 2/3] drm/msm/dsi: support DSC configurations with slice_per_pkt > 1
2025-10-13 9:39 ` Dmitry Baryshkov
@ 2025-10-13 11:04 ` Junjie Cao
2025-10-13 12:31 ` Dmitry Baryshkov
0 siblings, 1 reply; 10+ messages in thread
From: Junjie Cao @ 2025-10-13 11:04 UTC (permalink / raw)
To: Dmitry Baryshkov
Cc: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Rob Clark, Dmitry Baryshkov,
Abhinav Kumar, Sean Paul, Marijn Suijten, Antonino Maniscalco,
Jonathan Marek, Eugene Lepshy, Jun Nie, dri-devel, devicetree,
linux-kernel, linux-arm-msm, freedreno
Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> 于2025年10月13日周一 17:39写道:
> On 13/10/2025 04:52, 曹俊杰 wrote:
> > >Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com
> > <mailto:dmitry.baryshkov@oss.qualcomm.com>> 于2025年10月2日周四 10:04写道:
> > >On Wed, Oct 01, 2025 at 09:59:13PM +0800, Junjie Cao wrote:
> > >> From: Jun Nie <jun.nie@linaro.org <mailto:jun.nie@linaro.org>>
> > >>
> > >> Some panels support multiple slice to be sent in a single DSC
> > packet. And
> > >> this feature is a must for specific panels, such as JDI LPM026M648C.
> > Add a
> > >> dsc_slice_per_pkt member into struct mipi_dsi_device and support the
> > >> feature in msm mdss driver.
> > >>
> > >> Co-developed-by: Jonathan Marek <jonathan@marek.ca
> > <mailto:jonathan@marek.ca>>
> > >> Signed-off-by: Jonathan Marek <jonathan@marek.ca
> > <mailto:jonathan@marek.ca>>
> > >> Signed-off-by: Jun Nie <jun.nie@linaro.org <mailto:jun.nie@linaro.org>>
> > >> Signed-off-by: Junjie Cao <caojunjie650@gmail.com
> > <mailto:caojunjie650@gmail.com>>
> > >> ---
> > >> 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.
> > >
> >
> > 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.
>
> 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.
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?
>
> --
> With best wishes
> Dmitry
Regards,
Junjie
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 2/3] drm/msm/dsi: support DSC configurations with slice_per_pkt > 1
2025-10-13 11:04 ` Junjie Cao
@ 2025-10-13 12:31 ` Dmitry Baryshkov
2025-10-13 13:17 ` Junjie Cao
0 siblings, 1 reply; 10+ messages in thread
From: Dmitry Baryshkov @ 2025-10-13 12:31 UTC (permalink / raw)
To: Junjie Cao
Cc: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Rob Clark, Dmitry Baryshkov,
Abhinav Kumar, Sean Paul, Marijn Suijten, Antonino Maniscalco,
Jonathan Marek, Eugene Lepshy, Jun Nie, dri-devel, devicetree,
linux-kernel, linux-arm-msm, freedreno
On Mon, Oct 13, 2025 at 07:04:43PM +0800, Junjie Cao wrote:
> Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> 于2025年10月13日周一 17:39写道:
> > On 13/10/2025 04:52, 曹俊杰 wrote:
> > > >Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com
> > > <mailto:dmitry.baryshkov@oss.qualcomm.com>> 于2025年10月2日周四 10:04写道:
> > > >On Wed, Oct 01, 2025 at 09:59:13PM +0800, Junjie Cao wrote:
> > > >> From: Jun Nie <jun.nie@linaro.org <mailto:jun.nie@linaro.org>>
> > > >>
> > > >> Some panels support multiple slice to be sent in a single DSC
> > > packet. And
> > > >> this feature is a must for specific panels, such as JDI LPM026M648C.
> > > Add a
> > > >> dsc_slice_per_pkt member into struct mipi_dsi_device and support the
> > > >> feature in msm mdss driver.
> > > >>
> > > >> Co-developed-by: Jonathan Marek <jonathan@marek.ca
> > > <mailto:jonathan@marek.ca>>
> > > >> Signed-off-by: Jonathan Marek <jonathan@marek.ca
> > > <mailto:jonathan@marek.ca>>
> > > >> Signed-off-by: Jun Nie <jun.nie@linaro.org <mailto:jun.nie@linaro.org>>
> > > >> Signed-off-by: Junjie Cao <caojunjie650@gmail.com
> > > <mailto:caojunjie650@gmail.com>>
> > > >> ---
> > > >> 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.
> > > >
> > >
> > > 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.
> >
> > 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.
>
> 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.
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 2/3] drm/msm/dsi: support DSC configurations with slice_per_pkt > 1
2025-10-13 12:31 ` Dmitry Baryshkov
@ 2025-10-13 13:17 ` Junjie Cao
2025-10-13 14:34 ` Dmitry Baryshkov
0 siblings, 1 reply; 10+ messages in thread
From: Junjie Cao @ 2025-10-13 13:17 UTC (permalink / raw)
To: Dmitry Baryshkov
Cc: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Rob Clark, Dmitry Baryshkov,
Abhinav Kumar, Sean Paul, Marijn Suijten, Antonino Maniscalco,
Jonathan Marek, Eugene Lepshy, Jun Nie, dri-devel, devicetree,
linux-kernel, linux-arm-msm, freedreno
Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> 于2025年10月13日周一 20:31写道:
> On Mon, Oct 13, 2025 at 07:04:43PM +0800, Junjie Cao wrote:
> > Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> 于2025年10月13日周一 17:39写道:
> > > On 13/10/2025 04:52, 曹俊杰 wrote:
> > > > >Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com
> > > > <mailto:dmitry.baryshkov@oss.qualcomm.com>> 于2025年10月2日周四 10:04写道:
> > > > >On Wed, Oct 01, 2025 at 09:59:13PM +0800, Junjie Cao wrote:
> > > > >> From: Jun Nie <jun.nie@linaro.org <mailto:jun.nie@linaro.org>>
> > > > >>
> > > > >> Some panels support multiple slice to be sent in a single DSC
> > > > packet. And
> > > > >> this feature is a must for specific panels, such as JDI LPM026M648C.
> > > > Add a
> > > > >> dsc_slice_per_pkt member into struct mipi_dsi_device and support the
> > > > >> feature in msm mdss driver.
> > > > >>
> > > > >> Co-developed-by: Jonathan Marek <jonathan@marek.ca
> > > > <mailto:jonathan@marek.ca>>
> > > > >> Signed-off-by: Jonathan Marek <jonathan@marek.ca
> > > > <mailto:jonathan@marek.ca>>
> > > > >> Signed-off-by: Jun Nie <jun.nie@linaro.org <mailto:jun.nie@linaro.org>>
> > > > >> Signed-off-by: Junjie Cao <caojunjie650@gmail.com
> > > > <mailto:caojunjie650@gmail.com>>
> > > > >> ---
> > > > >> 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.
> > > > >
> > > >
> > > > 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.
> > >
> > > 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.
> >
> > 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>;
};
};
or moving the property to panel node? We access it from child node.
> --
> With best wishes
> Dmitry
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 2/3] drm/msm/dsi: support DSC configurations with slice_per_pkt > 1
2025-10-13 13:17 ` Junjie Cao
@ 2025-10-13 14:34 ` Dmitry Baryshkov
0 siblings, 0 replies; 10+ messages in thread
From: Dmitry Baryshkov @ 2025-10-13 14:34 UTC (permalink / raw)
To: Junjie Cao
Cc: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Rob Clark, Dmitry Baryshkov,
Abhinav Kumar, Sean Paul, Marijn Suijten, Antonino Maniscalco,
Jonathan Marek, Eugene Lepshy, Jun Nie, dri-devel, devicetree,
linux-kernel, linux-arm-msm, freedreno
On Mon, Oct 13, 2025 at 09:17:04PM +0800, Junjie Cao wrote:
> Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> 于2025年10月13日周一 20:31写道:
> > On Mon, Oct 13, 2025 at 07:04:43PM +0800, Junjie Cao wrote:
> > > Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> 于2025年10月13日周一 17:39写道:
> > > > On 13/10/2025 04:52, 曹俊杰 wrote:
> > > > > >Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com
> > > > > <mailto:dmitry.baryshkov@oss.qualcomm.com>> 于2025年10月2日周四 10:04写道:
> > > > > >On Wed, Oct 01, 2025 at 09:59:13PM +0800, Junjie Cao wrote:
> > > > > >> From: Jun Nie <jun.nie@linaro.org <mailto:jun.nie@linaro.org>>
> > > > > >>
> > > > > >> Some panels support multiple slice to be sent in a single DSC
> > > > > packet. And
> > > > > >> this feature is a must for specific panels, such as JDI LPM026M648C.
> > > > > Add a
> > > > > >> dsc_slice_per_pkt member into struct mipi_dsi_device and support the
> > > > > >> feature in msm mdss driver.
> > > > > >>
> > > > > >> Co-developed-by: Jonathan Marek <jonathan@marek.ca
> > > > > <mailto:jonathan@marek.ca>>
> > > > > >> Signed-off-by: Jonathan Marek <jonathan@marek.ca
> > > > > <mailto:jonathan@marek.ca>>
> > > > > >> Signed-off-by: Jun Nie <jun.nie@linaro.org <mailto:jun.nie@linaro.org>>
> > > > > >> Signed-off-by: Junjie Cao <caojunjie650@gmail.com
> > > > > <mailto:caojunjie650@gmail.com>>
> > > > > >> ---
> > > > > >> 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.
> > > > > >
> > > > >
> > > > > 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.
> > > >
> > > > 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.
> > >
> > > 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>;
> };
> };
>
> 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.
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 2/3] drm/msm/dsi: support DSC configurations with slice_per_pkt > 1
@ 2026-03-12 18:18 Alexander Koskovich
2026-03-13 0:45 ` Dmitry Baryshkov
0 siblings, 1 reply; 10+ messages in thread
From: Alexander Koskovich @ 2026-03-12 18:18 UTC (permalink / raw)
To: Dmitry Baryshkov
Cc: Junjie Cao, Neil Armstrong, Jessica Zhang, Maarten Lankhorst,
Maxime Ripard, Thomas Zimmermann, David Airlie, Simona Vetter,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Rob Clark,
Dmitry Baryshkov, Abhinav Kumar, Sean Paul, Marijn Suijten,
Antonino Maniscalco, Jonathan Marek, Eugene Lepshy, Jun Nie,
dri-devel, devicetree, linux-kernel, linux-arm-msm, freedreno
On Mon, Oct 13, 2025 at 05:34:06PM +0300, Dmitry Baryshkov wrote:
> On Mon, Oct 13, 2025 at 09:17:04PM +0800, Junjie Cao wrote:
> > Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> 于2025年10月13日周一 20:31写道:
> > > On Mon, Oct 13, 2025 at 07:04:43PM +0800, Junjie Cao wrote:
> > > > Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> 于2025年10月13日周一 17:39写道:
> > > > > On 13/10/2025 04:52, 曹俊杰 wrote:
> > > > > > >Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com
> > > > > > <mailto:dmitry.baryshkov@oss.qualcomm.com>> 于2025年10月2日周四 10:04写道:
> > > > > > >On Wed, Oct 01, 2025 at 09:59:13PM +0800, Junjie Cao wrote:
> > > > > > >> From: Jun Nie <jun.nie@linaro.org <mailto:jun.nie@linaro.org>>
> > > > > > >>
> > > > > > >> Some panels support multiple slice to be sent in a single DSC
> > > > > > packet. And
> > > > > > >> this feature is a must for specific panels, such as JDI LPM026M648C.
> > > > > > Add a
> > > > > > >> dsc_slice_per_pkt member into struct mipi_dsi_device and support the
> > > > > > >> feature in msm mdss driver.
> > > > > > >>
> > > > > > >> Co-developed-by: Jonathan Marek <jonathan@marek.ca
> > > > > > <mailto:jonathan@marek.ca>>
> > > > > > >> Signed-off-by: Jonathan Marek <jonathan@marek.ca
> > > > > > <mailto:jonathan@marek.ca>>
> > > > > > >> Signed-off-by: Jun Nie <jun.nie@linaro.org <mailto:jun.nie@linaro.org>>
> > > > > > >> Signed-off-by: Junjie Cao <caojunjie650@gmail.com
> > > > > > <mailto:caojunjie650@gmail.com>>
> > > > > > >> ---
> > > > > > >> 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.
> > > > > > >
> > > > > >
> > > > > > 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.
> > > > >
> > > > > 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.
> > > >
> > > > 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>;
> > };
> > };
> >
> > 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?
>
> --
> With best wishes
> Dmitry
Thanks,
Alex
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 2/3] drm/msm/dsi: support DSC configurations with slice_per_pkt > 1
2026-03-12 18:18 [PATCH 2/3] drm/msm/dsi: support DSC configurations with slice_per_pkt > 1 Alexander Koskovich
@ 2026-03-13 0:45 ` Dmitry Baryshkov
0 siblings, 0 replies; 10+ messages in thread
From: Dmitry Baryshkov @ 2026-03-13 0:45 UTC (permalink / raw)
To: Alexander Koskovich
Cc: Junjie Cao, Neil Armstrong, Jessica Zhang, Maarten Lankhorst,
Maxime Ripard, Thomas Zimmermann, David Airlie, Simona Vetter,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Rob Clark,
Dmitry Baryshkov, Abhinav Kumar, Sean Paul, Marijn Suijten,
Antonino Maniscalco, Jonathan Marek, Eugene Lepshy, Jun Nie,
dri-devel, devicetree, linux-kernel, linux-arm-msm, freedreno
On Thu, Mar 12, 2026 at 06:18:59PM +0000, Alexander Koskovich wrote:
> On Mon, Oct 13, 2025 at 05:34:06PM +0300, Dmitry Baryshkov wrote:
> > On Mon, Oct 13, 2025 at 09:17:04PM +0800, Junjie Cao wrote:
> > > Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> 于2025年10月13日周一 20:31写道:
> > > > On Mon, Oct 13, 2025 at 07:04:43PM +0800, Junjie Cao wrote:
> > > > > Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> 于2025年10月13日周一 17:39写道:
> > > > > > On 13/10/2025 04:52, 曹俊杰 wrote:
> > > > > > > >Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com
> > > > > > > <mailto:dmitry.baryshkov@oss.qualcomm.com>> 于2025年10月2日周四 10:04写道:
> > > > > > > >On Wed, Oct 01, 2025 at 09:59:13PM +0800, Junjie Cao wrote:
> > > > > > > >> From: Jun Nie <jun.nie@linaro.org <mailto:jun.nie@linaro.org>>
> > > > > > > >>
> > > > > > > >> Some panels support multiple slice to be sent in a single DSC
> > > > > > > packet. And
> > > > > > > >> this feature is a must for specific panels, such as JDI LPM026M648C.
> > > > > > > Add a
> > > > > > > >> dsc_slice_per_pkt member into struct mipi_dsi_device and support the
> > > > > > > >> feature in msm mdss driver.
> > > > > > > >>
> > > > > > > >> Co-developed-by: Jonathan Marek <jonathan@marek.ca
> > > > > > > <mailto:jonathan@marek.ca>>
> > > > > > > >> Signed-off-by: Jonathan Marek <jonathan@marek.ca
> > > > > > > <mailto:jonathan@marek.ca>>
> > > > > > > >> Signed-off-by: Jun Nie <jun.nie@linaro.org <mailto:jun.nie@linaro.org>>
> > > > > > > >> Signed-off-by: Junjie Cao <caojunjie650@gmail.com
> > > > > > > <mailto:caojunjie650@gmail.com>>
> > > > > > > >> ---
> > > > > > > >> 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.
> > > > > > > >
> > > > > > >
> > > > > > > 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.
> > > > > >
> > > > > > 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.
> > > > >
> > > > > 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>;
> > > };
> > > };
> > >
> > > 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.
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2026-03-13 0:45 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-12 18:18 [PATCH 2/3] drm/msm/dsi: support DSC configurations with slice_per_pkt > 1 Alexander Koskovich
2026-03-13 0:45 ` Dmitry Baryshkov
-- strict thread matches above, loose matches on Subject: below --
2025-10-01 13:59 [PATCH 0/3] drm/panel: Add support for Novatek NT36532 panel Junjie Cao
2025-10-01 13:59 ` [PATCH 2/3] drm/msm/dsi: support DSC configurations with slice_per_pkt > 1 Junjie Cao
2025-10-02 2:03 ` Dmitry Baryshkov
2025-10-13 2:09 ` 曹俊杰
[not found] ` <CAK6c68jBwykcWZm3ckm3nwab-X9Are4rD-eauE4rXA2+XvuX1w@mail.gmail.com>
2025-10-13 9:39 ` Dmitry Baryshkov
2025-10-13 11:04 ` Junjie Cao
2025-10-13 12:31 ` Dmitry Baryshkov
2025-10-13 13:17 ` Junjie Cao
2025-10-13 14:34 ` Dmitry Baryshkov
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox