From: Jianhua Lu <lujianhua000@gmail.com>
To: Neil Armstrong <neil.armstrong@linaro.org>,
Sam Ravnborg <sam@ravnborg.org>, David Airlie <airlied@gmail.com>,
Daniel Vetter <daniel@ffwll.ch>,
Douglas Anderson <dianders@chromium.org>
Cc: Jianhua Lu <lujianhua000@gmail.com>,
linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org
Subject: [PATCH] drm/panel: Fix panel mode type setting logic
Date: Tue, 14 Mar 2023 19:44:51 +0800 [thread overview]
Message-ID: <20230314114451.8872-1-lujianhua000@gmail.com> (raw)
Some panels set mode type to DRM_MODE_TYPE_PREFERRED by the number
of modes. It isn't reasonable, so set the first mode type to
DRM_MODE_TYPE_PREFERRED. This should be more reasonable.
Signed-off-by: Jianhua Lu <lujianhua000@gmail.com>
---
drivers/gpu/drm/panel/panel-abt-y030xx067a.c | 2 +-
drivers/gpu/drm/panel/panel-auo-a030jtn01.c | 2 +-
drivers/gpu/drm/panel/panel-edp.c | 4 ++--
drivers/gpu/drm/panel/panel-innolux-ej030na.c | 2 +-
drivers/gpu/drm/panel/panel-newvision-nv3051d.c | 2 +-
drivers/gpu/drm/panel/panel-newvision-nv3052c.c | 2 +-
drivers/gpu/drm/panel/panel-novatek-nt35950.c | 2 +-
drivers/gpu/drm/panel/panel-novatek-nt39016.c | 2 +-
drivers/gpu/drm/panel/panel-orisetech-ota5601a.c | 2 +-
drivers/gpu/drm/panel/panel-seiko-43wvf1g.c | 4 ++--
drivers/gpu/drm/panel/panel-simple.c | 4 ++--
11 files changed, 14 insertions(+), 14 deletions(-)
diff --git a/drivers/gpu/drm/panel/panel-abt-y030xx067a.c b/drivers/gpu/drm/panel/panel-abt-y030xx067a.c
index 1cc0f1d09684..9ce62513e3a5 100644
--- a/drivers/gpu/drm/panel/panel-abt-y030xx067a.c
+++ b/drivers/gpu/drm/panel/panel-abt-y030xx067a.c
@@ -240,7 +240,7 @@ static int y030xx067a_get_modes(struct drm_panel *panel,
drm_mode_set_name(mode);
mode->type = DRM_MODE_TYPE_DRIVER;
- if (panel_info->num_modes == 1)
+ if (i == 0)
mode->type |= DRM_MODE_TYPE_PREFERRED;
drm_mode_probed_add(connector, mode);
diff --git a/drivers/gpu/drm/panel/panel-auo-a030jtn01.c b/drivers/gpu/drm/panel/panel-auo-a030jtn01.c
index 3c976a98de6a..3850dc5a1eb1 100644
--- a/drivers/gpu/drm/panel/panel-auo-a030jtn01.c
+++ b/drivers/gpu/drm/panel/panel-auo-a030jtn01.c
@@ -151,7 +151,7 @@ static int a030jtn01_get_modes(struct drm_panel *panel,
drm_mode_set_name(mode);
mode->type = DRM_MODE_TYPE_DRIVER;
- if (panel_info->num_modes == 1)
+ if (i == 0)
mode->type |= DRM_MODE_TYPE_PREFERRED;
drm_mode_probed_add(connector, mode);
diff --git a/drivers/gpu/drm/panel/panel-edp.c b/drivers/gpu/drm/panel/panel-edp.c
index 01bfe0783304..df7e59485793 100644
--- a/drivers/gpu/drm/panel/panel-edp.c
+++ b/drivers/gpu/drm/panel/panel-edp.c
@@ -260,7 +260,7 @@ static unsigned int panel_edp_get_timings_modes(struct panel_edp *panel,
mode->type |= DRM_MODE_TYPE_DRIVER;
- if (panel->desc->num_timings == 1)
+ if (i == 0)
mode->type |= DRM_MODE_TYPE_PREFERRED;
drm_mode_probed_add(connector, mode);
@@ -289,7 +289,7 @@ static unsigned int panel_edp_get_display_modes(struct panel_edp *panel,
mode->type |= DRM_MODE_TYPE_DRIVER;
- if (panel->desc->num_modes == 1)
+ if (i == 0)
mode->type |= DRM_MODE_TYPE_PREFERRED;
drm_mode_set_name(mode);
diff --git a/drivers/gpu/drm/panel/panel-innolux-ej030na.c b/drivers/gpu/drm/panel/panel-innolux-ej030na.c
index b2b0ebc9e943..6c49c93eaa23 100644
--- a/drivers/gpu/drm/panel/panel-innolux-ej030na.c
+++ b/drivers/gpu/drm/panel/panel-innolux-ej030na.c
@@ -166,7 +166,7 @@ static int ej030na_get_modes(struct drm_panel *panel,
drm_mode_set_name(mode);
mode->type = DRM_MODE_TYPE_DRIVER;
- if (panel_info->num_modes == 1)
+ if (i == 0)
mode->type |= DRM_MODE_TYPE_PREFERRED;
drm_mode_probed_add(connector, mode);
diff --git a/drivers/gpu/drm/panel/panel-newvision-nv3051d.c b/drivers/gpu/drm/panel/panel-newvision-nv3051d.c
index a07958038ffd..65ff9a3df62a 100644
--- a/drivers/gpu/drm/panel/panel-newvision-nv3051d.c
+++ b/drivers/gpu/drm/panel/panel-newvision-nv3051d.c
@@ -331,7 +331,7 @@ static int panel_nv3051d_get_modes(struct drm_panel *panel,
drm_mode_set_name(mode);
mode->type = DRM_MODE_TYPE_DRIVER;
- if (panel_info->num_modes == 1)
+ if (i == 0)
mode->type |= DRM_MODE_TYPE_PREFERRED;
drm_mode_probed_add(connector, mode);
diff --git a/drivers/gpu/drm/panel/panel-newvision-nv3052c.c b/drivers/gpu/drm/panel/panel-newvision-nv3052c.c
index cf078f0d3cd3..70a7b36c2956 100644
--- a/drivers/gpu/drm/panel/panel-newvision-nv3052c.c
+++ b/drivers/gpu/drm/panel/panel-newvision-nv3052c.c
@@ -347,7 +347,7 @@ static int nv3052c_get_modes(struct drm_panel *panel,
drm_mode_set_name(mode);
mode->type = DRM_MODE_TYPE_DRIVER;
- if (panel_info->num_modes == 1)
+ if (i == 0)
mode->type |= DRM_MODE_TYPE_PREFERRED;
drm_mode_probed_add(connector, mode);
diff --git a/drivers/gpu/drm/panel/panel-novatek-nt35950.c b/drivers/gpu/drm/panel/panel-novatek-nt35950.c
index abf752b36a52..62f7895af072 100644
--- a/drivers/gpu/drm/panel/panel-novatek-nt35950.c
+++ b/drivers/gpu/drm/panel/panel-novatek-nt35950.c
@@ -508,7 +508,7 @@ static int nt35950_get_modes(struct drm_panel *panel,
drm_mode_set_name(mode);
mode->type |= DRM_MODE_TYPE_DRIVER;
- if (nt->desc->num_modes == 1)
+ if (i == 0)
mode->type |= DRM_MODE_TYPE_PREFERRED;
drm_mode_probed_add(connector, mode);
diff --git a/drivers/gpu/drm/panel/panel-novatek-nt39016.c b/drivers/gpu/drm/panel/panel-novatek-nt39016.c
index f58cfb10b58a..7938dd68f4f4 100644
--- a/drivers/gpu/drm/panel/panel-novatek-nt39016.c
+++ b/drivers/gpu/drm/panel/panel-novatek-nt39016.c
@@ -216,7 +216,7 @@ static int nt39016_get_modes(struct drm_panel *drm_panel,
drm_mode_set_name(mode);
mode->type = DRM_MODE_TYPE_DRIVER;
- if (panel_info->num_modes == 1)
+ if (i == 0)
mode->type |= DRM_MODE_TYPE_PREFERRED;
drm_mode_probed_add(connector, mode);
diff --git a/drivers/gpu/drm/panel/panel-orisetech-ota5601a.c b/drivers/gpu/drm/panel/panel-orisetech-ota5601a.c
index e46be5014d42..d232c02eba20 100644
--- a/drivers/gpu/drm/panel/panel-orisetech-ota5601a.c
+++ b/drivers/gpu/drm/panel/panel-orisetech-ota5601a.c
@@ -206,7 +206,7 @@ static int ota5601a_get_modes(struct drm_panel *drm_panel,
drm_mode_set_name(mode);
mode->type = DRM_MODE_TYPE_DRIVER;
- if (panel_info->num_modes == 1)
+ if (i == 0)
mode->type |= DRM_MODE_TYPE_PREFERRED;
drm_mode_probed_add(connector, mode);
diff --git a/drivers/gpu/drm/panel/panel-seiko-43wvf1g.c b/drivers/gpu/drm/panel/panel-seiko-43wvf1g.c
index 76160e5d43bd..dad103615c7f 100644
--- a/drivers/gpu/drm/panel/panel-seiko-43wvf1g.c
+++ b/drivers/gpu/drm/panel/panel-seiko-43wvf1g.c
@@ -80,7 +80,7 @@ static int seiko_panel_get_fixed_modes(struct seiko_panel *panel,
mode->type |= DRM_MODE_TYPE_DRIVER;
- if (panel->desc->num_timings == 1)
+ if (i == 0)
mode->type |= DRM_MODE_TYPE_PREFERRED;
drm_mode_probed_add(connector, mode);
@@ -100,7 +100,7 @@ static int seiko_panel_get_fixed_modes(struct seiko_panel *panel,
mode->type |= DRM_MODE_TYPE_DRIVER;
- if (panel->desc->num_modes == 1)
+ if (i == 0)
mode->type |= DRM_MODE_TYPE_PREFERRED;
drm_mode_set_name(mode);
diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
index 065f378bba9d..fc617969c2be 100644
--- a/drivers/gpu/drm/panel/panel-simple.c
+++ b/drivers/gpu/drm/panel/panel-simple.c
@@ -185,7 +185,7 @@ static unsigned int panel_simple_get_timings_modes(struct panel_simple *panel,
mode->type |= DRM_MODE_TYPE_DRIVER;
- if (panel->desc->num_timings == 1)
+ if (i == 0)
mode->type |= DRM_MODE_TYPE_PREFERRED;
drm_mode_probed_add(connector, mode);
@@ -214,7 +214,7 @@ static unsigned int panel_simple_get_display_modes(struct panel_simple *panel,
mode->type |= DRM_MODE_TYPE_DRIVER;
- if (panel->desc->num_modes == 1)
+ if (i == 0)
mode->type |= DRM_MODE_TYPE_PREFERRED;
drm_mode_set_name(mode);
--
2.39.2
WARNING: multiple messages have this Message-ID (diff)
From: Jianhua Lu <lujianhua000@gmail.com>
To: Neil Armstrong <neil.armstrong@linaro.org>,
Sam Ravnborg <sam@ravnborg.org>, David Airlie <airlied@gmail.com>,
Daniel Vetter <daniel@ffwll.ch>,
Douglas Anderson <dianders@chromium.org>
Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org,
Jianhua Lu <lujianhua000@gmail.com>
Subject: [PATCH] drm/panel: Fix panel mode type setting logic
Date: Tue, 14 Mar 2023 19:44:51 +0800 [thread overview]
Message-ID: <20230314114451.8872-1-lujianhua000@gmail.com> (raw)
Some panels set mode type to DRM_MODE_TYPE_PREFERRED by the number
of modes. It isn't reasonable, so set the first mode type to
DRM_MODE_TYPE_PREFERRED. This should be more reasonable.
Signed-off-by: Jianhua Lu <lujianhua000@gmail.com>
---
drivers/gpu/drm/panel/panel-abt-y030xx067a.c | 2 +-
drivers/gpu/drm/panel/panel-auo-a030jtn01.c | 2 +-
drivers/gpu/drm/panel/panel-edp.c | 4 ++--
drivers/gpu/drm/panel/panel-innolux-ej030na.c | 2 +-
drivers/gpu/drm/panel/panel-newvision-nv3051d.c | 2 +-
drivers/gpu/drm/panel/panel-newvision-nv3052c.c | 2 +-
drivers/gpu/drm/panel/panel-novatek-nt35950.c | 2 +-
drivers/gpu/drm/panel/panel-novatek-nt39016.c | 2 +-
drivers/gpu/drm/panel/panel-orisetech-ota5601a.c | 2 +-
drivers/gpu/drm/panel/panel-seiko-43wvf1g.c | 4 ++--
drivers/gpu/drm/panel/panel-simple.c | 4 ++--
11 files changed, 14 insertions(+), 14 deletions(-)
diff --git a/drivers/gpu/drm/panel/panel-abt-y030xx067a.c b/drivers/gpu/drm/panel/panel-abt-y030xx067a.c
index 1cc0f1d09684..9ce62513e3a5 100644
--- a/drivers/gpu/drm/panel/panel-abt-y030xx067a.c
+++ b/drivers/gpu/drm/panel/panel-abt-y030xx067a.c
@@ -240,7 +240,7 @@ static int y030xx067a_get_modes(struct drm_panel *panel,
drm_mode_set_name(mode);
mode->type = DRM_MODE_TYPE_DRIVER;
- if (panel_info->num_modes == 1)
+ if (i == 0)
mode->type |= DRM_MODE_TYPE_PREFERRED;
drm_mode_probed_add(connector, mode);
diff --git a/drivers/gpu/drm/panel/panel-auo-a030jtn01.c b/drivers/gpu/drm/panel/panel-auo-a030jtn01.c
index 3c976a98de6a..3850dc5a1eb1 100644
--- a/drivers/gpu/drm/panel/panel-auo-a030jtn01.c
+++ b/drivers/gpu/drm/panel/panel-auo-a030jtn01.c
@@ -151,7 +151,7 @@ static int a030jtn01_get_modes(struct drm_panel *panel,
drm_mode_set_name(mode);
mode->type = DRM_MODE_TYPE_DRIVER;
- if (panel_info->num_modes == 1)
+ if (i == 0)
mode->type |= DRM_MODE_TYPE_PREFERRED;
drm_mode_probed_add(connector, mode);
diff --git a/drivers/gpu/drm/panel/panel-edp.c b/drivers/gpu/drm/panel/panel-edp.c
index 01bfe0783304..df7e59485793 100644
--- a/drivers/gpu/drm/panel/panel-edp.c
+++ b/drivers/gpu/drm/panel/panel-edp.c
@@ -260,7 +260,7 @@ static unsigned int panel_edp_get_timings_modes(struct panel_edp *panel,
mode->type |= DRM_MODE_TYPE_DRIVER;
- if (panel->desc->num_timings == 1)
+ if (i == 0)
mode->type |= DRM_MODE_TYPE_PREFERRED;
drm_mode_probed_add(connector, mode);
@@ -289,7 +289,7 @@ static unsigned int panel_edp_get_display_modes(struct panel_edp *panel,
mode->type |= DRM_MODE_TYPE_DRIVER;
- if (panel->desc->num_modes == 1)
+ if (i == 0)
mode->type |= DRM_MODE_TYPE_PREFERRED;
drm_mode_set_name(mode);
diff --git a/drivers/gpu/drm/panel/panel-innolux-ej030na.c b/drivers/gpu/drm/panel/panel-innolux-ej030na.c
index b2b0ebc9e943..6c49c93eaa23 100644
--- a/drivers/gpu/drm/panel/panel-innolux-ej030na.c
+++ b/drivers/gpu/drm/panel/panel-innolux-ej030na.c
@@ -166,7 +166,7 @@ static int ej030na_get_modes(struct drm_panel *panel,
drm_mode_set_name(mode);
mode->type = DRM_MODE_TYPE_DRIVER;
- if (panel_info->num_modes == 1)
+ if (i == 0)
mode->type |= DRM_MODE_TYPE_PREFERRED;
drm_mode_probed_add(connector, mode);
diff --git a/drivers/gpu/drm/panel/panel-newvision-nv3051d.c b/drivers/gpu/drm/panel/panel-newvision-nv3051d.c
index a07958038ffd..65ff9a3df62a 100644
--- a/drivers/gpu/drm/panel/panel-newvision-nv3051d.c
+++ b/drivers/gpu/drm/panel/panel-newvision-nv3051d.c
@@ -331,7 +331,7 @@ static int panel_nv3051d_get_modes(struct drm_panel *panel,
drm_mode_set_name(mode);
mode->type = DRM_MODE_TYPE_DRIVER;
- if (panel_info->num_modes == 1)
+ if (i == 0)
mode->type |= DRM_MODE_TYPE_PREFERRED;
drm_mode_probed_add(connector, mode);
diff --git a/drivers/gpu/drm/panel/panel-newvision-nv3052c.c b/drivers/gpu/drm/panel/panel-newvision-nv3052c.c
index cf078f0d3cd3..70a7b36c2956 100644
--- a/drivers/gpu/drm/panel/panel-newvision-nv3052c.c
+++ b/drivers/gpu/drm/panel/panel-newvision-nv3052c.c
@@ -347,7 +347,7 @@ static int nv3052c_get_modes(struct drm_panel *panel,
drm_mode_set_name(mode);
mode->type = DRM_MODE_TYPE_DRIVER;
- if (panel_info->num_modes == 1)
+ if (i == 0)
mode->type |= DRM_MODE_TYPE_PREFERRED;
drm_mode_probed_add(connector, mode);
diff --git a/drivers/gpu/drm/panel/panel-novatek-nt35950.c b/drivers/gpu/drm/panel/panel-novatek-nt35950.c
index abf752b36a52..62f7895af072 100644
--- a/drivers/gpu/drm/panel/panel-novatek-nt35950.c
+++ b/drivers/gpu/drm/panel/panel-novatek-nt35950.c
@@ -508,7 +508,7 @@ static int nt35950_get_modes(struct drm_panel *panel,
drm_mode_set_name(mode);
mode->type |= DRM_MODE_TYPE_DRIVER;
- if (nt->desc->num_modes == 1)
+ if (i == 0)
mode->type |= DRM_MODE_TYPE_PREFERRED;
drm_mode_probed_add(connector, mode);
diff --git a/drivers/gpu/drm/panel/panel-novatek-nt39016.c b/drivers/gpu/drm/panel/panel-novatek-nt39016.c
index f58cfb10b58a..7938dd68f4f4 100644
--- a/drivers/gpu/drm/panel/panel-novatek-nt39016.c
+++ b/drivers/gpu/drm/panel/panel-novatek-nt39016.c
@@ -216,7 +216,7 @@ static int nt39016_get_modes(struct drm_panel *drm_panel,
drm_mode_set_name(mode);
mode->type = DRM_MODE_TYPE_DRIVER;
- if (panel_info->num_modes == 1)
+ if (i == 0)
mode->type |= DRM_MODE_TYPE_PREFERRED;
drm_mode_probed_add(connector, mode);
diff --git a/drivers/gpu/drm/panel/panel-orisetech-ota5601a.c b/drivers/gpu/drm/panel/panel-orisetech-ota5601a.c
index e46be5014d42..d232c02eba20 100644
--- a/drivers/gpu/drm/panel/panel-orisetech-ota5601a.c
+++ b/drivers/gpu/drm/panel/panel-orisetech-ota5601a.c
@@ -206,7 +206,7 @@ static int ota5601a_get_modes(struct drm_panel *drm_panel,
drm_mode_set_name(mode);
mode->type = DRM_MODE_TYPE_DRIVER;
- if (panel_info->num_modes == 1)
+ if (i == 0)
mode->type |= DRM_MODE_TYPE_PREFERRED;
drm_mode_probed_add(connector, mode);
diff --git a/drivers/gpu/drm/panel/panel-seiko-43wvf1g.c b/drivers/gpu/drm/panel/panel-seiko-43wvf1g.c
index 76160e5d43bd..dad103615c7f 100644
--- a/drivers/gpu/drm/panel/panel-seiko-43wvf1g.c
+++ b/drivers/gpu/drm/panel/panel-seiko-43wvf1g.c
@@ -80,7 +80,7 @@ static int seiko_panel_get_fixed_modes(struct seiko_panel *panel,
mode->type |= DRM_MODE_TYPE_DRIVER;
- if (panel->desc->num_timings == 1)
+ if (i == 0)
mode->type |= DRM_MODE_TYPE_PREFERRED;
drm_mode_probed_add(connector, mode);
@@ -100,7 +100,7 @@ static int seiko_panel_get_fixed_modes(struct seiko_panel *panel,
mode->type |= DRM_MODE_TYPE_DRIVER;
- if (panel->desc->num_modes == 1)
+ if (i == 0)
mode->type |= DRM_MODE_TYPE_PREFERRED;
drm_mode_set_name(mode);
diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
index 065f378bba9d..fc617969c2be 100644
--- a/drivers/gpu/drm/panel/panel-simple.c
+++ b/drivers/gpu/drm/panel/panel-simple.c
@@ -185,7 +185,7 @@ static unsigned int panel_simple_get_timings_modes(struct panel_simple *panel,
mode->type |= DRM_MODE_TYPE_DRIVER;
- if (panel->desc->num_timings == 1)
+ if (i == 0)
mode->type |= DRM_MODE_TYPE_PREFERRED;
drm_mode_probed_add(connector, mode);
@@ -214,7 +214,7 @@ static unsigned int panel_simple_get_display_modes(struct panel_simple *panel,
mode->type |= DRM_MODE_TYPE_DRIVER;
- if (panel->desc->num_modes == 1)
+ if (i == 0)
mode->type |= DRM_MODE_TYPE_PREFERRED;
drm_mode_set_name(mode);
--
2.39.2
next reply other threads:[~2023-03-14 11:45 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-03-14 11:44 Jianhua Lu [this message]
2023-03-14 11:44 ` [PATCH] drm/panel: Fix panel mode type setting logic Jianhua Lu
2023-03-14 17:12 ` Doug Anderson
2023-03-14 17:12 ` Doug Anderson
2023-03-14 23:55 ` Jianhua Lu
2023-03-14 23:55 ` Jianhua Lu
2023-03-17 0:23 ` Doug Anderson
2023-03-17 0:23 ` Doug Anderson
2023-03-22 10:49 ` Neil Armstrong
2023-03-22 10:49 ` Neil Armstrong
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230314114451.8872-1-lujianhua000@gmail.com \
--to=lujianhua000@gmail.com \
--cc=airlied@gmail.com \
--cc=daniel@ffwll.ch \
--cc=dianders@chromium.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=linux-kernel@vger.kernel.org \
--cc=neil.armstrong@linaro.org \
--cc=sam@ravnborg.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.