[PATCH] drm/panel-edp: Add disable to 100ms for MNB601LS1-4

Langyan Ye posted 1 patch 2 months, 2 weeks ago
drivers/gpu/drm/panel/panel-edp.c | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
[PATCH] drm/panel-edp: Add disable to 100ms for MNB601LS1-4
Posted by Langyan Ye 2 months, 2 weeks ago
For the MNB601LS1-4 panel, the T9+T10 timing does not meet the
requirements of the specification, so disable is set to 100ms.

Fixes: 9d8e91439fc3 ("drm/panel-edp: Add CSW MNB601LS1-4")
Signed-off-by: Langyan Ye <yelangyan@huaqin.corp-partner.google.com>
---
 drivers/gpu/drm/panel/panel-edp.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/panel/panel-edp.c b/drivers/gpu/drm/panel/panel-edp.c
index 9a56e208cbdd..09170470b3ef 100644
--- a/drivers/gpu/drm/panel/panel-edp.c
+++ b/drivers/gpu/drm/panel/panel-edp.c
@@ -1828,6 +1828,13 @@ static const struct panel_delay delay_50_500_e200_d200_po2e335 = {
 	.powered_on_to_enable = 335,
 };
 
+static const struct panel_delay delay_200_500_e50_d100 = {
+	.hpd_absent = 200,
+	.unprepare = 500,
+	.enable = 50,
+	.disable = 100,
+};
+
 #define EDP_PANEL_ENTRY(vend_chr_0, vend_chr_1, vend_chr_2, product_id, _delay, _name) \
 { \
 	.ident = { \
@@ -1984,7 +1991,7 @@ static const struct edp_panel_entry edp_panels[] = {
 
 	EDP_PANEL_ENTRY('C', 'S', 'W', 0x1100, &delay_200_500_e80_d50, "MNB601LS1-1"),
 	EDP_PANEL_ENTRY('C', 'S', 'W', 0x1103, &delay_200_500_e80_d50, "MNB601LS1-3"),
-	EDP_PANEL_ENTRY('C', 'S', 'W', 0x1104, &delay_200_500_e50, "MNB601LS1-4"),
+	EDP_PANEL_ENTRY('C', 'S', 'W', 0x1104, &delay_200_500_e50_d100, "MNB601LS1-4"),
 	EDP_PANEL_ENTRY('C', 'S', 'W', 0x1448, &delay_200_500_e50, "MNE007QS3-7"),
 	EDP_PANEL_ENTRY('C', 'S', 'W', 0x1457, &delay_80_500_e80_p2e200, "MNE007QS3-8"),
 
-- 
2.34.1
Re: [PATCH] drm/panel-edp: Add disable to 100ms for MNB601LS1-4
Posted by Doug Anderson 2 months, 2 weeks ago
Hi,

On Sun, Jul 20, 2025 at 11:16 PM Langyan Ye
<yelangyan@huaqin.corp-partner.google.com> wrote:
>
> For the MNB601LS1-4 panel, the T9+T10 timing does not meet the
> requirements of the specification, so disable is set to 100ms.
>
> Fixes: 9d8e91439fc3 ("drm/panel-edp: Add CSW MNB601LS1-4")
> Signed-off-by: Langyan Ye <yelangyan@huaqin.corp-partner.google.com>
> ---
>  drivers/gpu/drm/panel/panel-edp.c | 9 ++++++++-
>  1 file changed, 8 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/panel/panel-edp.c b/drivers/gpu/drm/panel/panel-edp.c
> index 9a56e208cbdd..09170470b3ef 100644
> --- a/drivers/gpu/drm/panel/panel-edp.c
> +++ b/drivers/gpu/drm/panel/panel-edp.c
> @@ -1828,6 +1828,13 @@ static const struct panel_delay delay_50_500_e200_d200_po2e335 = {
>         .powered_on_to_enable = 335,
>  };
>
> +static const struct panel_delay delay_200_500_e50_d100 = {
> +       .hpd_absent = 200,
> +       .unprepare = 500,
> +       .enable = 50,
> +       .disable = 100,
> +};
> +

Bleh, we really need to find a better way to sort these structures
instead of just jamming them onto the end. ...or find some C
compiler/preprocessor magic to define them automatically without
wasting tons of space. In any case, not new to your patch...


>  #define EDP_PANEL_ENTRY(vend_chr_0, vend_chr_1, vend_chr_2, product_id, _delay, _name) \
>  { \
>         .ident = { \
> @@ -1984,7 +1991,7 @@ static const struct edp_panel_entry edp_panels[] = {
>
>         EDP_PANEL_ENTRY('C', 'S', 'W', 0x1100, &delay_200_500_e80_d50, "MNB601LS1-1"),
>         EDP_PANEL_ENTRY('C', 'S', 'W', 0x1103, &delay_200_500_e80_d50, "MNB601LS1-3"),
> -       EDP_PANEL_ENTRY('C', 'S', 'W', 0x1104, &delay_200_500_e50, "MNB601LS1-4"),
> +       EDP_PANEL_ENTRY('C', 'S', 'W', 0x1104, &delay_200_500_e50_d100, "MNB601LS1-4"),

Reviewed-by: Douglas Anderson <dianders@chromium.org>

...and pushed to drm-misc-next:

[1/1] drm/panel-edp: Add disable to 100ms for MNB601LS1-4
      commit: 9b3700b15cb581d748c3d46e7eb30ffced1642e8