drivers/gpu/drm/msm/dsi/dsi_host.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-)
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
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
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
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
© 2016 - 2026 Red Hat, Inc.