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 <j...@jsfamily.in>

Regards
Joel Selvaraj

________________________________________
From: Douglas Anderson <diand...@chromium.org>
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 <sumit.sem...@linaro.org>
Cc: Benni Steini <bennistei...@gmail.com>
Cc: Joel Selvaraj <j...@jsfamily.in>
Cc: Marijn Suijten <marijn.suij...@somainline.org>
Signed-off-by: Douglas Anderson <diand...@chromium.org>
---

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

Reply via email to