[PATCH v2] drm/panel-edp: Add 50ms disable delay for four panels

Langyan Ye posted 1 patch 2 months, 2 weeks ago
drivers/gpu/drm/panel/panel-edp.c | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
[PATCH v2] drm/panel-edp: Add 50ms disable delay for four panels
Posted by Langyan Ye 2 months, 2 weeks ago
Add 50ms disable delay for NV116WHM-N49, NV122WUM-N41, and MNC207QS1-1
to satisfy T9+T10 timing. Add 50ms disable delay for MNE007JA1-2
as well, since MNE007JA1-2 copies the timing of MNC207QS1-1.

Specifically, it should be noted that the MNE007JA1-2 panel was added
by someone who did not have the panel documentation, so they simply
copied the timing from the MNC207QS1-1 panel. Adding an extra 50 ms
of delay should be safe.

Fixes: 0547692ac146 ("drm/panel-edp: Add several generic edp panels")
Fixes: 50625eab3972 ("drm/edp-panel: Add panel used by T14s Gen6 Snapdragon")
Signed-off-by: Langyan Ye <yelangyan@huaqin.corp-partner.google.com>
---
v2:
  - Deleted "delay_200_500_e50_d50_p2e200" structure and renamed/replaced "delay_200_500_e50_p2e200"
  - Link to v1: https://lore.kernel.org/all/20250722024512.983313-1-yelangyan@huaqin.corp-partner.google.com/
---
---
 drivers/gpu/drm/panel/panel-edp.c | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-edp.c b/drivers/gpu/drm/panel/panel-edp.c
index 09170470b3ef..d0aa602ecc9d 100644
--- a/drivers/gpu/drm/panel/panel-edp.c
+++ b/drivers/gpu/drm/panel/panel-edp.c
@@ -1736,10 +1736,11 @@ static const struct panel_delay delay_200_500_e50 = {
 	.enable = 50,
 };
 
-static const struct panel_delay delay_200_500_e50_p2e200 = {
+static const struct panel_delay delay_200_500_e50_d50_p2e200 = {
 	.hpd_absent = 200,
 	.unprepare = 500,
 	.enable = 50,
+	.disable = 50,
 	.prepare_to_enable = 200,
 };
 
@@ -1941,13 +1942,13 @@ static const struct edp_panel_entry edp_panels[] = {
 	EDP_PANEL_ENTRY('B', 'O', 'E', 0x09dd, &delay_200_500_e50, "NT116WHM-N21"),
 	EDP_PANEL_ENTRY('B', 'O', 'E', 0x0a1b, &delay_200_500_e50, "NV133WUM-N63"),
 	EDP_PANEL_ENTRY('B', 'O', 'E', 0x0a36, &delay_200_500_e200, "Unknown"),
-	EDP_PANEL_ENTRY('B', 'O', 'E', 0x0a3e, &delay_200_500_e80, "NV116WHM-N49"),
+	EDP_PANEL_ENTRY('B', 'O', 'E', 0x0a3e, &delay_200_500_e80_d50, "NV116WHM-N49"),
 	EDP_PANEL_ENTRY('B', 'O', 'E', 0x0a5d, &delay_200_500_e50, "NV116WHM-N45"),
 	EDP_PANEL_ENTRY('B', 'O', 'E', 0x0ac5, &delay_200_500_e50, "NV116WHM-N4C"),
 	EDP_PANEL_ENTRY('B', 'O', 'E', 0x0ae8, &delay_200_500_e50_p2e80, "NV140WUM-N41"),
 	EDP_PANEL_ENTRY('B', 'O', 'E', 0x0b09, &delay_200_500_e50_po2e200, "NV140FHM-NZ"),
 	EDP_PANEL_ENTRY('B', 'O', 'E', 0x0b1e, &delay_200_500_e80, "NE140QDM-N6A"),
-	EDP_PANEL_ENTRY('B', 'O', 'E', 0x0b34, &delay_200_500_e80, "NV122WUM-N41"),
+	EDP_PANEL_ENTRY('B', 'O', 'E', 0x0b34, &delay_200_500_e80_d50, "NV122WUM-N41"),
 	EDP_PANEL_ENTRY('B', 'O', 'E', 0x0b43, &delay_200_500_e200, "NV140FHM-T09"),
 	EDP_PANEL_ENTRY('B', 'O', 'E', 0x0b56, &delay_200_500_e80, "NT140FHM-N47"),
 	EDP_PANEL_ENTRY('B', 'O', 'E', 0x0b66, &delay_200_500_e80, "NE140WUM-N6G"),
@@ -1986,8 +1987,8 @@ static const struct edp_panel_entry edp_panels[] = {
 	EDP_PANEL_ENTRY('C', 'M', 'N', 0x14e5, &delay_200_500_e80_d50, "N140HGA-EA1"),
 	EDP_PANEL_ENTRY('C', 'M', 'N', 0x162b, &delay_200_500_e80_d50, "N160JCE-ELL"),
 
-	EDP_PANEL_ENTRY('C', 'S', 'O', 0x1200, &delay_200_500_e50_p2e200, "MNC207QS1-1"),
-	EDP_PANEL_ENTRY('C', 'S', 'O', 0x1413, &delay_200_500_e50_p2e200, "MNE007JA1-2"),
+	EDP_PANEL_ENTRY('C', 'S', 'O', 0x1200, &delay_200_500_e50_d50_p2e200, "MNC207QS1-1"),
+	EDP_PANEL_ENTRY('C', 'S', 'O', 0x1413, &delay_200_500_e50_d50_p2e200, "MNE007JA1-2"),
 
 	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"),
-- 
2.34.1
Re: [PATCH v2] drm/panel-edp: Add 50ms disable delay for four panels
Posted by Doug Anderson 2 months, 2 weeks ago
Hi,

On Wed, Jul 23, 2025 at 12:25 AM Langyan Ye
<yelangyan@huaqin.corp-partner.google.com> wrote:
>
> Add 50ms disable delay for NV116WHM-N49, NV122WUM-N41, and MNC207QS1-1
> to satisfy T9+T10 timing. Add 50ms disable delay for MNE007JA1-2
> as well, since MNE007JA1-2 copies the timing of MNC207QS1-1.
>
> Specifically, it should be noted that the MNE007JA1-2 panel was added
> by someone who did not have the panel documentation, so they simply
> copied the timing from the MNC207QS1-1 panel. Adding an extra 50 ms
> of delay should be safe.
>
> Fixes: 0547692ac146 ("drm/panel-edp: Add several generic edp panels")
> Fixes: 50625eab3972 ("drm/edp-panel: Add panel used by T14s Gen6 Snapdragon")
> Signed-off-by: Langyan Ye <yelangyan@huaqin.corp-partner.google.com>
> ---
> v2:
>   - Deleted "delay_200_500_e50_d50_p2e200" structure and renamed/replaced "delay_200_500_e50_p2e200"
>   - Link to v1: https://lore.kernel.org/all/20250722024512.983313-1-yelangyan@huaqin.corp-partner.google.com/
> ---
> ---
>  drivers/gpu/drm/panel/panel-edp.c | 11 ++++++-----
>  1 file changed, 6 insertions(+), 5 deletions(-)

Thanks! This looks good to me now:

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

I looked at pushing this to drm-misc-fixes but it didn't apply cleanly
due to context. Given that the original patch is 1.5 years old and the
only reported problems are that timings were violated (probably tested
on a scope), I'm going to say it's not worth it to make someone deal
with a merge conflict so I'm just applying to drm-misc-next.

Pushed to drm-misc-next:

[1/1] drm/panel-edp: Add 50ms disable delay for four panels
      commit: 1511d3c4d2bb30f784924a877f3cef518bb73077