* [PATCH] drm/msm/dsi: remove bpc > 8 entries from allow list
@ 2026-03-06 9:25 Pengyu Luo
2026-03-06 18:47 ` Dmitry Baryshkov
` (2 more replies)
0 siblings, 3 replies; 7+ messages in thread
From: Pengyu Luo @ 2026-03-06 9:25 UTC (permalink / raw)
To: Rob Clark, Dmitry Baryshkov, Abhinav Kumar, Jessica Zhang,
Sean Paul, Marijn Suijten, David Airlie, Simona Vetter,
Eugene Lepshy, Danila Tikhonov
Cc: Pengyu Luo, linux-arm-msm, dri-devel, freedreno, linux-kernel
In upstream the msm, for bpc greater than 8 are not supported yet,
although the hardware block supports this. Remove them until we
support them.
Fixes: b0e71c2637d1 ("drm/msm/dsi: Allow values of 10 and 12 for bits per component")
Signed-off-by: Pengyu Luo <mitltlatltl@gmail.com>
---
drivers/gpu/drm/msm/dsi/dsi_host.c | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
diff --git a/drivers/gpu/drm/msm/dsi/dsi_host.c b/drivers/gpu/drm/msm/dsi/dsi_host.c
index e8e83ee61e..b60b26ddb0 100644
--- a/drivers/gpu/drm/msm/dsi/dsi_host.c
+++ b/drivers/gpu/drm/msm/dsi/dsi_host.c
@@ -1824,12 +1824,9 @@ static int dsi_populate_dsc_params(struct msm_dsi_host *msm_host, struct drm_dsc
switch (dsc->bits_per_component) {
case 8:
- case 10:
- case 12:
/*
- * Only 8, 10, and 12 bpc are supported for DSC 1.1 block.
- * If additional bpc values need to be supported, update
- * this quard with the appropriate DSC version verification.
+ * In the upstream msm, only 8 bpc is supported for DSC 1.1/1.2
+ * block.
*/
break;
default:
--
2.53.0
^ permalink raw reply related [flat|nested] 7+ messages in thread* Re: [PATCH] drm/msm/dsi: remove bpc > 8 entries from allow list 2026-03-06 9:25 [PATCH] drm/msm/dsi: remove bpc > 8 entries from allow list Pengyu Luo @ 2026-03-06 18:47 ` Dmitry Baryshkov 2026-03-06 19:56 ` Eugene Lepshy 2026-03-06 20:19 ` Евгений Лепший 2026-03-08 23:06 ` Claude review: " Claude Code Review Bot 2026-03-08 23:06 ` Claude Code Review Bot 2 siblings, 2 replies; 7+ messages in thread From: Dmitry Baryshkov @ 2026-03-06 18:47 UTC (permalink / raw) To: Pengyu Luo, Eugene Lepshy, Danila Tikhonov Cc: Rob Clark, Dmitry Baryshkov, Abhinav Kumar, Jessica Zhang, Sean Paul, Marijn Suijten, David Airlie, Simona Vetter, Eugene Lepshy, Danila Tikhonov, linux-arm-msm, dri-devel, freedreno, linux-kernel On Fri, Mar 06, 2026 at 05:25:00PM +0800, Pengyu Luo wrote: > In upstream the msm, for bpc greater than 8 are not supported yet, > although the hardware block supports this. Remove them until we > support them. > > Fixes: b0e71c2637d1 ("drm/msm/dsi: Allow values of 10 and 12 for bits per component") > Signed-off-by: Pengyu Luo <mitltlatltl@gmail.com> I hope Marijn, Danila or Eugeny can comment. The patch series with this patchset added 10 bpc panel and used it for one of the phones. > --- > drivers/gpu/drm/msm/dsi/dsi_host.c | 7 ++----- > 1 file changed, 2 insertions(+), 5 deletions(-) > > diff --git a/drivers/gpu/drm/msm/dsi/dsi_host.c b/drivers/gpu/drm/msm/dsi/dsi_host.c > index e8e83ee61e..b60b26ddb0 100644 > --- a/drivers/gpu/drm/msm/dsi/dsi_host.c > +++ b/drivers/gpu/drm/msm/dsi/dsi_host.c > @@ -1824,12 +1824,9 @@ static int dsi_populate_dsc_params(struct msm_dsi_host *msm_host, struct drm_dsc > > switch (dsc->bits_per_component) { > case 8: > - case 10: > - case 12: > /* > - * Only 8, 10, and 12 bpc are supported for DSC 1.1 block. > - * If additional bpc values need to be supported, update > - * this quard with the appropriate DSC version verification. > + * In the upstream msm, only 8 bpc is supported for DSC 1.1/1.2 > + * block. > */ > break; > default: > -- > 2.53.0 > -- With best wishes Dmitry ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] drm/msm/dsi: remove bpc > 8 entries from allow list 2026-03-06 18:47 ` Dmitry Baryshkov @ 2026-03-06 19:56 ` Eugene Lepshy 2026-03-06 20:19 ` Евгений Лепший 1 sibling, 0 replies; 7+ messages in thread From: Eugene Lepshy @ 2026-03-06 19:56 UTC (permalink / raw) To: Dmitry Baryshkov, Pengyu Luo, Danila Tikhonov Cc: Rob Clark, Dmitry Baryshkov, Abhinav Kumar, Jessica Zhang, Sean Paul, Marijn Suijten, David Airlie, Simona Vetter, linux-arm-msm, dri-devel, freedreno, linux-kernel [-- Attachment #1: Type: text/plain, Size: 2286 bytes --] Hi, I have a concern regarding this patch. The Nothing Phone (1) (sm7325-nothing-spacewar), which is already supported in mainline, utilizes a panel with bpc=10 and bpp=8 (DSC) [1]. Currently, this configuration works properly. While I have encountered minor graphical artifacts during brightness changes, the display output is otherwise reliable across all supported refresh rates (60/90/120 Hz). Since this panel is already upstreamed, this patch might cause regressions. [1] https://github.com/NothingOSS/android_kernel_devicetree_nothing_sm7325/blob/6f027f0440e3dce8a674d9cbd2f6ad944120e209/msm-extra/display-devicetree/display/dsi-panel-rm692e5-visionox-fhd-plus-120hz-cmd.dtsi#L483-L484 Best regards, Eugene Lepshy On March 6, 2026 9:47:23 PM GMT+03:00, Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> wrote: >On Fri, Mar 06, 2026 at 05:25:00PM +0800, Pengyu Luo wrote: >> In upstream the msm, for bpc greater than 8 are not supported yet, >> although the hardware block supports this. Remove them until we >> support them. >> >> Fixes: b0e71c2637d1 ("drm/msm/dsi: Allow values of 10 and 12 for bits per component") >> Signed-off-by: Pengyu Luo <mitltlatltl@gmail.com> > >I hope Marijn, Danila or Eugeny can comment. The patch series with this >patchset added 10 bpc panel and used it for one of the phones. > >> --- >> drivers/gpu/drm/msm/dsi/dsi_host.c | 7 ++----- >> 1 file changed, 2 insertions(+), 5 deletions(-) >> >> diff --git a/drivers/gpu/drm/msm/dsi/dsi_host.c b/drivers/gpu/drm/msm/dsi/dsi_host.c >> index e8e83ee61e..b60b26ddb0 100644 >> --- a/drivers/gpu/drm/msm/dsi/dsi_host.c >> +++ b/drivers/gpu/drm/msm/dsi/dsi_host.c >> @@ -1824,12 +1824,9 @@ static int dsi_populate_dsc_params(struct msm_dsi_host *msm_host, struct drm_dsc >> >> switch (dsc->bits_per_component) { >> case 8: >> - case 10: >> - case 12: >> /* >> - * Only 8, 10, and 12 bpc are supported for DSC 1.1 block. >> - * If additional bpc values need to be supported, update >> - * this quard with the appropriate DSC version verification. >> + * In the upstream msm, only 8 bpc is supported for DSC 1.1/1.2 >> + * block. >> */ >> break; >> default: >> -- >> 2.53.0 >> > >-- >With best wishes >Dmitry [-- Attachment #2: Type: text/html, Size: 3210 bytes --] ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] drm/msm/dsi: remove bpc > 8 entries from allow list 2026-03-06 18:47 ` Dmitry Baryshkov 2026-03-06 19:56 ` Eugene Lepshy @ 2026-03-06 20:19 ` Евгений Лепший 2026-03-07 6:37 ` Pengyu Luo 1 sibling, 1 reply; 7+ messages in thread From: Евгений Лепший @ 2026-03-06 20:19 UTC (permalink / raw) To: Dmitry Baryshkov Cc: Pengyu Luo, Danila Tikhonov, Rob Clark, Dmitry Baryshkov, Abhinav Kumar, Jessica Zhang, Sean Paul, Marijn Suijten, David Airlie, Simona Vetter, linux-arm-msm, dri-devel, freedreno, linux-kernel Hi, I have a concern regarding this patch. The Nothing Phone (1) (sm7325-nothing-spacewar), which is already supported in mainline, utilizes a panel with bpc=10 and bpp=8 (DSC) [1]. Currently, this configuration works properly. While I have encountered minor graphical artifacts during brightness changes, the display output is otherwise reliable across all supported refresh rates (60/90/120 Hz). Since this panel is already upstreamed, this patch might cause regressions. [1] https://github.com/NothingOSS/android_kernel_devicetree_nothing_sm7325/blob/6f027f0440e3dce8a674d9cbd2f6ad944120e209/msm-extra/display-devicetree/display/dsi-panel-rm692e5-visionox-fhd-plus-120hz-cmd.dtsi#L483-L484 Best regards, Eugene Lepshy пт, 6 мар. 2026 г. в 21:47, Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>: > > On Fri, Mar 06, 2026 at 05:25:00PM +0800, Pengyu Luo wrote: > > In upstream the msm, for bpc greater than 8 are not supported yet, > > although the hardware block supports this. Remove them until we > > support them. > > > > Fixes: b0e71c2637d1 ("drm/msm/dsi: Allow values of 10 and 12 for bits per component") > > Signed-off-by: Pengyu Luo <mitltlatltl@gmail.com> > > I hope Marijn, Danila or Eugeny can comment. The patch series with this > patchset added 10 bpc panel and used it for one of the phones. > > > --- > > drivers/gpu/drm/msm/dsi/dsi_host.c | 7 ++----- > > 1 file changed, 2 insertions(+), 5 deletions(-) > > > > diff --git a/drivers/gpu/drm/msm/dsi/dsi_host.c b/drivers/gpu/drm/msm/dsi/dsi_host.c > > index e8e83ee61e..b60b26ddb0 100644 > > --- a/drivers/gpu/drm/msm/dsi/dsi_host.c > > +++ b/drivers/gpu/drm/msm/dsi/dsi_host.c > > @@ -1824,12 +1824,9 @@ static int dsi_populate_dsc_params(struct msm_dsi_host *msm_host, struct drm_dsc > > > > switch (dsc->bits_per_component) { > > case 8: > > - case 10: > > - case 12: > > /* > > - * Only 8, 10, and 12 bpc are supported for DSC 1.1 block. > > - * If additional bpc values need to be supported, update > > - * this quard with the appropriate DSC version verification. > > + * In the upstream msm, only 8 bpc is supported for DSC 1.1/1.2 > > + * block. > > */ > > break; > > default: > > -- > > 2.53.0 > > > > -- > With best wishes > Dmitry ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] drm/msm/dsi: remove bpc > 8 entries from allow list 2026-03-06 20:19 ` Евгений Лепший @ 2026-03-07 6:37 ` Pengyu Luo 0 siblings, 0 replies; 7+ messages in thread From: Pengyu Luo @ 2026-03-07 6:37 UTC (permalink / raw) To: Евгений Лепший Cc: Dmitry Baryshkov, Danila Tikhonov, Rob Clark, Dmitry Baryshkov, Abhinav Kumar, Jessica Zhang, Sean Paul, Marijn Suijten, David Airlie, Simona Vetter, linux-arm-msm, dri-devel, freedreno, linux-kernel On Sat, Mar 7, 2026 at 4:20 AM Евгений Лепший <fekz115@gmail.com> wrote: > > Hi, > > I have a concern regarding this patch. The Nothing Phone (1) > (sm7325-nothing-spacewar), which is already supported in mainline, > utilizes a panel with bpc=10 and bpp=8 (DSC) [1]. > > Currently, this configuration works properly. While I have encountered > minor graphical artifacts during brightness changes, the display > output is otherwise reliable across all supported refresh rates > (60/90/120 Hz). > > Since this panel is already upstreamed, this patch might cause regressions. > > [1] https://github.com/NothingOSS/android_kernel_devicetree_nothing_sm7325/blob/6f027f0440e3dce8a674d9cbd2f6ad944120e209/msm-extra/display-devicetree/display/dsi-panel-rm692e5-visionox-fhd-plus-120hz-cmd.dtsi#L483-L484 > Oh, I see. I messed up bpc, it is fine now. Recently, encoders have supported src bpc > 8, dsi don't support dst bpc > 8. But the nothing phone panel does not require dsi to support it. Since the panel is a 8-bit panel, and src bpc != dst bpc. Although they are equal on some devices(they are, on my 8-bit or 10-bit devices). i.e. qcom,mdss-dsc-bit-per-component != qcom,mdss-dsi-bpp / 3 Please ignore this patch. Best wishes, Pengyu > Best regards, > Eugene Lepshy > > пт, 6 мар. 2026 г. в 21:47, Dmitry Baryshkov > <dmitry.baryshkov@oss.qualcomm.com>: > > > > On Fri, Mar 06, 2026 at 05:25:00PM +0800, Pengyu Luo wrote: > > > In upstream the msm, for bpc greater than 8 are not supported yet, > > > although the hardware block supports this. Remove them until we > > > support them. > > > > > > Fixes: b0e71c2637d1 ("drm/msm/dsi: Allow values of 10 and 12 for bits per component") > > > Signed-off-by: Pengyu Luo <mitltlatltl@gmail.com> > > > > I hope Marijn, Danila or Eugeny can comment. The patch series with this > > patchset added 10 bpc panel and used it for one of the phones. > > > > > --- > > > drivers/gpu/drm/msm/dsi/dsi_host.c | 7 ++----- > > > 1 file changed, 2 insertions(+), 5 deletions(-) > > > > > > diff --git a/drivers/gpu/drm/msm/dsi/dsi_host.c b/drivers/gpu/drm/msm/dsi/dsi_host.c > > > index e8e83ee61e..b60b26ddb0 100644 > > > --- a/drivers/gpu/drm/msm/dsi/dsi_host.c > > > +++ b/drivers/gpu/drm/msm/dsi/dsi_host.c > > > @@ -1824,12 +1824,9 @@ static int dsi_populate_dsc_params(struct msm_dsi_host *msm_host, struct drm_dsc > > > > > > switch (dsc->bits_per_component) { > > > case 8: > > > - case 10: > > > - case 12: > > > /* > > > - * Only 8, 10, and 12 bpc are supported for DSC 1.1 block. > > > - * If additional bpc values need to be supported, update > > > - * this quard with the appropriate DSC version verification. > > > + * In the upstream msm, only 8 bpc is supported for DSC 1.1/1.2 > > > + * block. > > > */ > > > break; > > > default: > > > -- > > > 2.53.0 > > > > > > > -- > > With best wishes > > Dmitry ^ permalink raw reply [flat|nested] 7+ messages in thread
* Claude review: drm/msm/dsi: remove bpc > 8 entries from allow list 2026-03-06 9:25 [PATCH] drm/msm/dsi: remove bpc > 8 entries from allow list Pengyu Luo 2026-03-06 18:47 ` Dmitry Baryshkov @ 2026-03-08 23:06 ` Claude Code Review Bot 2026-03-08 23:06 ` Claude Code Review Bot 2 siblings, 0 replies; 7+ messages in thread From: Claude Code Review Bot @ 2026-03-08 23:06 UTC (permalink / raw) To: dri-devel-reviews Overall Series Review Subject: drm/msm/dsi: remove bpc > 8 entries from allow list Author: Pengyu Luo <mitltlatltl@gmail.com> Patches: 5 Reviewed: 2026-03-09T09:06:15.193451 --- This is a single patch that removes `case 10:` and `case 12:` from the `bits_per_component` allow list in `dsi_populate_dsc_params()`, restricting DSC to 8 bpc only. The stated rationale is that bpc > 8 is "not supported yet" in upstream MSM. The patch is **questionable in its motivation and correctness**. The code path for 10/12 bpc appears to be fully functional — the RC parameters tables (`rc_parameters_pre_scr`) in `drm_dsc_helper.c` have entries for bpc=10, and the rest of `dsi_populate_dsc_params()` is generic with respect to bpc. The original commit `b0e71c2637d1` deliberately added 10/12 bpc support. Removing it without a clear bug report or test failure constitutes a functionality regression. --- Generated by Claude Code Patch Reviewer ^ permalink raw reply [flat|nested] 7+ messages in thread
* Claude review: drm/msm/dsi: remove bpc > 8 entries from allow list 2026-03-06 9:25 [PATCH] drm/msm/dsi: remove bpc > 8 entries from allow list Pengyu Luo 2026-03-06 18:47 ` Dmitry Baryshkov 2026-03-08 23:06 ` Claude review: " Claude Code Review Bot @ 2026-03-08 23:06 ` Claude Code Review Bot 2 siblings, 0 replies; 7+ messages in thread From: Claude Code Review Bot @ 2026-03-08 23:06 UTC (permalink / raw) To: dri-devel-reviews Patch Review **Commit message issues:** 1. The commit message says "In upstream the msm, for bpc greater than 8 are not supported yet" — this is grammatically awkward and, more importantly, **factually unclear**. The code *does* support 10/12 bpc at the DSC parameter computation level. If there is a specific hardware or integration issue that makes 10/12 bpc broken, the commit message should explain what that issue is (e.g., incorrect packing, register programming, or observed display corruption). 2. The updated comment claims "DSC 1.1/1.2 block" but the code at line 1848 uses `DRM_DSC_1_1_PRE_SCR` exclusively. Mentioning DSC 1.2 is misleading since this code path only handles pre-SCR DSC 1.1 parameters. ```c + * In the upstream msm, only 8 bpc is supported for DSC 1.1/1.2 + * block. ``` This should say "DSC 1.1" only, consistent with: ```c /* DPU supports only pre-SCR panels */ ret = drm_dsc_setup_rc_params(dsc, DRM_DSC_1_1_PRE_SCR); ``` **Functional concerns:** 3. The `Fixes:` tag implies this is a bug fix suitable for stable backport, but no actual bug is described. Removing supported functionality is not a "fix" — it's a feature removal. If 10/12 bpc was never validated on hardware but is otherwise correct code, a `Fixes:` tag is inappropriate. A more accurate approach would be to document the limitation without the `Fixes:` tag, or to explain the specific failure mode. 4. The `rc_parameters_pre_scr` table in `drm_dsc_helper.c` has valid entries for bpc=10. The downstream code in `dsi_populate_dsc_params()` — including `drm_dsc_set_const_params()`, `drm_dsc_set_rc_buf_thresh()`, `drm_dsc_setup_rc_params()`, and the `line_buf_depth` calculation — all work correctly with bpc values of 10 and 12. Removing them without evidence of breakage will regress any panels that actually use 10/12 bpc DSC. **Recommendation:** This patch should **not be applied** in its current form. The author should either: - Provide evidence of an actual bug caused by 10/12 bpc (display corruption, register misconfiguration, etc.) and describe it in the commit message, or - Drop the `Fixes:` tag and reframe this as a deliberate scope reduction with justification for why untested-but-correct code should be removed rather than left in place. --- Generated by Claude Code Patch Reviewer ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2026-03-08 23:06 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2026-03-06 9:25 [PATCH] drm/msm/dsi: remove bpc > 8 entries from allow list Pengyu Luo 2026-03-06 18:47 ` Dmitry Baryshkov 2026-03-06 19:56 ` Eugene Lepshy 2026-03-06 20:19 ` Евгений Лепший 2026-03-07 6:37 ` Pengyu Luo 2026-03-08 23:06 ` Claude review: " Claude Code Review Bot 2026-03-08 23:06 ` Claude Code Review Bot
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox