Re: [RFT PATCH v2 18/48] drm/panel: novatek-nt36672a: Stop tracking prepared

2024-05-04 Thread Joel Selvaraj
Hi Douglas Anderson,

Poco F1 is one of the main user for this panel. I tested the patch in my Poco 
F1 running postmarketOS. It works fine. Thank you. The panel itself requires 
other extra fixes to work properly which I intend to upstream in the upcoming 
weeks. But your patch doesn't break anything and works as expected. So.

Tested-by: Joel Selvaraj 

Regards
Joel Selvaraj


From: Douglas Anderson 
Sent: 04 May 2024 03:02
To: dri-devel@lists.freedesktop.org; Maxime Ripard
Cc: Linus Walleij; Chris Morgan; Yuran Pereira; Neil Armstrong; Douglas 
Anderson; Sumit Semwal; Benni Steini; Joel Selvaraj; Marijn Suijten; Daniel 
Vetter; David Airlie; Jessica Zhang; Maarten Lankhorst; Sam Ravnborg; Thomas 
Zimmermann; linux-ker...@vger.kernel.org
Subject: [RFT PATCH v2 18/48] drm/panel: novatek-nt36672a: Stop tracking 
prepared

As talked about in commit d2aacaf07395 ("drm/panel: Check for already
prepared/enabled in drm_panel"), we want to remove needless code from
panel drivers that was storing and double-checking the
prepared/enabled state. Even if someone was relying on the
double-check before, that double-check is now in the core and not
needed in individual drivers.

Cc: Sumit Semwal 
Cc: Benni Steini 
Cc: Joel Selvaraj 
Cc: Marijn Suijten 
Signed-off-by: Douglas Anderson 
---

Changes in v2:
- Only handle 1 panel per patch.
- Split removal of prepared/enabled from handling of remove/shutdown.

 drivers/gpu/drm/panel/panel-novatek-nt36672a.c | 12 
 1 file changed, 12 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-novatek-nt36672a.c 
b/drivers/gpu/drm/panel/panel-novatek-nt36672a.c
index 3886372415c2..35aace79613a 100644
--- a/drivers/gpu/drm/panel/panel-novatek-nt36672a.c
+++ b/drivers/gpu/drm/panel/panel-novatek-nt36672a.c
@@ -72,8 +72,6 @@ struct nt36672a_panel {
struct regulator_bulk_data 
supplies[ARRAY_SIZE(nt36672a_regulator_names)];

struct gpio_desc *reset_gpio;
-
-   bool prepared;
 };

 static inline struct nt36672a_panel *to_nt36672a_panel(struct drm_panel *panel)
@@ -119,9 +117,6 @@ static int nt36672a_panel_unprepare(struct drm_panel *panel)
struct nt36672a_panel *pinfo = to_nt36672a_panel(panel);
int ret;

-   if (!pinfo->prepared)
-   return 0;
-
/* send off cmds */
ret = nt36672a_send_cmds(panel, pinfo->desc->off_cmds,
 pinfo->desc->num_off_cmds);
@@ -147,8 +142,6 @@ static int nt36672a_panel_unprepare(struct drm_panel *panel)
if (ret < 0)
dev_err(panel->dev, "power_off failed ret = %d\n", ret);

-   pinfo->prepared = false;
-
return ret;
 }

@@ -179,9 +172,6 @@ static int nt36672a_panel_prepare(struct drm_panel *panel)
struct nt36672a_panel *pinfo = to_nt36672a_panel(panel);
int err;

-   if (pinfo->prepared)
-   return 0;
-
err = nt36672a_panel_power_on(pinfo);
if (err < 0)
goto poweroff;
@@ -221,8 +211,6 @@ static int nt36672a_panel_prepare(struct drm_panel *panel)

msleep(120);

-   pinfo->prepared = true;
-
return 0;

 poweroff:
--
2.45.0.rc1.225.g2a3ae87e7f-goog



[RFT PATCH v2 18/48] drm/panel: novatek-nt36672a: Stop tracking prepared

2024-05-03 Thread Douglas Anderson
As talked about in commit d2aacaf07395 ("drm/panel: Check for already
prepared/enabled in drm_panel"), we want to remove needless code from
panel drivers that was storing and double-checking the
prepared/enabled state. Even if someone was relying on the
double-check before, that double-check is now in the core and not
needed in individual drivers.

Cc: Sumit Semwal 
Cc: Benni Steini 
Cc: Joel Selvaraj 
Cc: Marijn Suijten 
Signed-off-by: Douglas Anderson 
---

Changes in v2:
- Only handle 1 panel per patch.
- Split removal of prepared/enabled from handling of remove/shutdown.

 drivers/gpu/drm/panel/panel-novatek-nt36672a.c | 12 
 1 file changed, 12 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-novatek-nt36672a.c 
b/drivers/gpu/drm/panel/panel-novatek-nt36672a.c
index 3886372415c2..35aace79613a 100644
--- a/drivers/gpu/drm/panel/panel-novatek-nt36672a.c
+++ b/drivers/gpu/drm/panel/panel-novatek-nt36672a.c
@@ -72,8 +72,6 @@ struct nt36672a_panel {
struct regulator_bulk_data 
supplies[ARRAY_SIZE(nt36672a_regulator_names)];
 
struct gpio_desc *reset_gpio;
-
-   bool prepared;
 };
 
 static inline struct nt36672a_panel *to_nt36672a_panel(struct drm_panel *panel)
@@ -119,9 +117,6 @@ static int nt36672a_panel_unprepare(struct drm_panel *panel)
struct nt36672a_panel *pinfo = to_nt36672a_panel(panel);
int ret;
 
-   if (!pinfo->prepared)
-   return 0;
-
/* send off cmds */
ret = nt36672a_send_cmds(panel, pinfo->desc->off_cmds,
 pinfo->desc->num_off_cmds);
@@ -147,8 +142,6 @@ static int nt36672a_panel_unprepare(struct drm_panel *panel)
if (ret < 0)
dev_err(panel->dev, "power_off failed ret = %d\n", ret);
 
-   pinfo->prepared = false;
-
return ret;
 }
 
@@ -179,9 +172,6 @@ static int nt36672a_panel_prepare(struct drm_panel *panel)
struct nt36672a_panel *pinfo = to_nt36672a_panel(panel);
int err;
 
-   if (pinfo->prepared)
-   return 0;
-
err = nt36672a_panel_power_on(pinfo);
if (err < 0)
goto poweroff;
@@ -221,8 +211,6 @@ static int nt36672a_panel_prepare(struct drm_panel *panel)
 
msleep(120);
 
-   pinfo->prepared = true;
-
return 0;
 
 poweroff:
-- 
2.45.0.rc1.225.g2a3ae87e7f-goog