From: Rajeev Nandan <rajeevny@codeaurora.org>
To: y@qualcomm.com, dri-devel@lists.freedesktop.org,
linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org,
devicetree@vger.kernel.org
Cc: Rajeev Nandan <rajeevny@codeaurora.org>,
linux-kernel@vger.kernel.org, thierry.reding@gmail.com,
sam@ravnborg.org, robdclark@gmail.com, dianders@chromium.org,
lyude@redhat.com, jani.nikula@intel.com, robh@kernel.org,
laurent.pinchart@ideasonboard.com, a.hajda@samsung.com,
daniel.thompson@linaro.org, hoegsberg@chromium.org,
abhinavk@codeaurora.org, seanpaul@chromium.org,
kalyan_t@codeaurora.org, mkrishn@codeaurora.org
Subject: [v4 2/4] drm/panel-simple: Support for delays between GPIO & regulator
Date: Tue, 25 May 2021 13:00:29 +0530 [thread overview]
Message-ID: <1621927831-29471-3-git-send-email-rajeevny@codeaurora.org> (raw)
In-Reply-To: <1621927831-29471-1-git-send-email-rajeevny@codeaurora.org>
Some panels datasheets may specify a delay between the enable GPIO and
the regulator. Support this in panel-simple.
Signed-off-by: Rajeev Nandan <rajeevny@codeaurora.org>
---
Changes in v4:
- New
drivers/gpu/drm/panel/panel-simple.c | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)
diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
index f9e4e60..caed71b 100644
--- a/drivers/gpu/drm/panel/panel-simple.c
+++ b/drivers/gpu/drm/panel/panel-simple.c
@@ -134,6 +134,22 @@ struct panel_desc {
unsigned int prepare_to_enable;
/**
+ * @delay.power_to_enable: Time for the power to enable the display on.
+ *
+ * The time (in milliseconds) that it takes for the panel to
+ * turn the display on.
+ */
+ unsigned int power_to_enable;
+
+ /**
+ * @delay.disable_to_power_off: Time for the disable to power the display off.
+ *
+ * The time (in milliseconds) that it takes for the panel to
+ * turn the display off.
+ */
+ unsigned int disable_to_power_off;
+
+ /**
* @delay.enable: Time for the panel to display a valid frame.
*
* The time (in milliseconds) that it takes for the panel to
@@ -367,6 +383,10 @@ static int panel_simple_suspend(struct device *dev)
struct panel_simple *p = dev_get_drvdata(dev);
gpiod_set_value_cansleep(p->enable_gpio, 0);
+
+ if (p->desc->delay.disable_to_power_off)
+ msleep(p->desc->delay.disable_to_power_off);
+
regulator_disable(p->supply);
p->unprepared_time = ktime_get();
@@ -427,6 +447,9 @@ static int panel_simple_prepare_once(struct panel_simple *p)
return err;
}
+ if (p->desc->delay.power_to_enable)
+ msleep(p->desc->delay.power_to_enable);
+
gpiod_set_value_cansleep(p->enable_gpio, 1);
delay = p->desc->delay.prepare;
--
2.7.4
WARNING: multiple messages have this Message-ID (diff)
From: Rajeev Nandan <rajeevny@codeaurora.org>
To: y@qualcomm.com, dri-devel@lists.freedesktop.org,
linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org,
devicetree@vger.kernel.org
Cc: daniel.thompson@linaro.org,
Rajeev Nandan <rajeevny@codeaurora.org>,
mkrishn@codeaurora.org, jani.nikula@intel.com,
linux-kernel@vger.kernel.org, abhinavk@codeaurora.org,
dianders@chromium.org, a.hajda@samsung.com,
thierry.reding@gmail.com, seanpaul@chromium.org,
laurent.pinchart@ideasonboard.com, kalyan_t@codeaurora.org,
hoegsberg@chromium.org, sam@ravnborg.org
Subject: [v4 2/4] drm/panel-simple: Support for delays between GPIO & regulator
Date: Tue, 25 May 2021 13:00:29 +0530 [thread overview]
Message-ID: <1621927831-29471-3-git-send-email-rajeevny@codeaurora.org> (raw)
In-Reply-To: <1621927831-29471-1-git-send-email-rajeevny@codeaurora.org>
Some panels datasheets may specify a delay between the enable GPIO and
the regulator. Support this in panel-simple.
Signed-off-by: Rajeev Nandan <rajeevny@codeaurora.org>
---
Changes in v4:
- New
drivers/gpu/drm/panel/panel-simple.c | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)
diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
index f9e4e60..caed71b 100644
--- a/drivers/gpu/drm/panel/panel-simple.c
+++ b/drivers/gpu/drm/panel/panel-simple.c
@@ -134,6 +134,22 @@ struct panel_desc {
unsigned int prepare_to_enable;
/**
+ * @delay.power_to_enable: Time for the power to enable the display on.
+ *
+ * The time (in milliseconds) that it takes for the panel to
+ * turn the display on.
+ */
+ unsigned int power_to_enable;
+
+ /**
+ * @delay.disable_to_power_off: Time for the disable to power the display off.
+ *
+ * The time (in milliseconds) that it takes for the panel to
+ * turn the display off.
+ */
+ unsigned int disable_to_power_off;
+
+ /**
* @delay.enable: Time for the panel to display a valid frame.
*
* The time (in milliseconds) that it takes for the panel to
@@ -367,6 +383,10 @@ static int panel_simple_suspend(struct device *dev)
struct panel_simple *p = dev_get_drvdata(dev);
gpiod_set_value_cansleep(p->enable_gpio, 0);
+
+ if (p->desc->delay.disable_to_power_off)
+ msleep(p->desc->delay.disable_to_power_off);
+
regulator_disable(p->supply);
p->unprepared_time = ktime_get();
@@ -427,6 +447,9 @@ static int panel_simple_prepare_once(struct panel_simple *p)
return err;
}
+ if (p->desc->delay.power_to_enable)
+ msleep(p->desc->delay.power_to_enable);
+
gpiod_set_value_cansleep(p->enable_gpio, 1);
delay = p->desc->delay.prepare;
--
2.7.4
next prev parent reply other threads:[~2021-05-25 7:31 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-05-25 7:30 [v4 0/4] drm: Support basic DPCD backlight in panel-simple and add a new panel ATNA33XC20 Rajeev Nandan
2021-05-25 7:30 ` Rajeev Nandan
2021-05-25 7:30 ` [v4 1/4] drm/panel-simple: Add basic DPCD backlight support Rajeev Nandan
2021-05-25 7:30 ` Rajeev Nandan
2021-05-25 11:41 ` kernel test robot
2021-05-25 11:41 ` kernel test robot
2021-05-25 11:41 ` kernel test robot
2021-05-25 17:18 ` Doug Anderson
2021-05-25 17:18 ` Doug Anderson
2021-05-27 12:21 ` rajeevny
2021-05-27 12:21 ` rajeevny
2021-05-27 21:41 ` Doug Anderson
2021-05-27 21:41 ` Doug Anderson
2021-06-01 18:28 ` Lyude Paul
2021-06-01 18:28 ` Lyude Paul
2021-06-01 22:20 ` Lyude Paul
2021-06-01 22:20 ` Lyude Paul
2021-06-02 5:38 ` rajeevny
2021-06-02 5:38 ` rajeevny
2021-06-08 21:02 ` Doug Anderson
2021-06-08 21:02 ` Doug Anderson
2021-05-25 7:30 ` Rajeev Nandan [this message]
2021-05-25 7:30 ` [v4 2/4] drm/panel-simple: Support for delays between GPIO & regulator Rajeev Nandan
2021-05-25 17:18 ` Doug Anderson
2021-05-25 17:18 ` Doug Anderson
2021-05-25 7:30 ` [v4 3/4] dt-bindings: display: simple: Add Samsung ATNA33XC20 Rajeev Nandan
2021-05-25 7:30 ` Rajeev Nandan
2021-05-25 17:19 ` Doug Anderson
2021-05-25 17:19 ` Doug Anderson
2021-05-25 7:30 ` [v4 4/4] drm/panel-simple: " Rajeev Nandan
2021-05-25 7:30 ` Rajeev Nandan
2021-05-25 17:19 ` Doug Anderson
2021-05-25 17:19 ` Doug Anderson
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=1621927831-29471-3-git-send-email-rajeevny@codeaurora.org \
--to=rajeevny@codeaurora.org \
--cc=a.hajda@samsung.com \
--cc=abhinavk@codeaurora.org \
--cc=daniel.thompson@linaro.org \
--cc=devicetree@vger.kernel.org \
--cc=dianders@chromium.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=freedreno@lists.freedesktop.org \
--cc=hoegsberg@chromium.org \
--cc=jani.nikula@intel.com \
--cc=kalyan_t@codeaurora.org \
--cc=laurent.pinchart@ideasonboard.com \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lyude@redhat.com \
--cc=mkrishn@codeaurora.org \
--cc=robdclark@gmail.com \
--cc=robh@kernel.org \
--cc=sam@ravnborg.org \
--cc=seanpaul@chromium.org \
--cc=thierry.reding@gmail.com \
--cc=y@qualcomm.com \
/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.