* [PATCH] drivers: Change calls to mdelay to msleep in order to stop CPU busy looping in mdfld_dsi_pkg_sender.c
@ 2014-11-15 18:21 Nicholas Krause
2014-11-17 8:40 ` Jani Nikula
0 siblings, 1 reply; 4+ messages in thread
From: Nicholas Krause @ 2014-11-15 18:21 UTC (permalink / raw)
To: airlied; +Cc: airlied, linux-kernel, dri-devel
Changes the calls of mdelay to msleep in the driver file mdfld_dsi_pkg_sender.c
in order to prevent CPU busy looping in order to save CPU cycles as this is
considered bad form over sleeping the CPU for high resolution timer function
calls as this driver needs in order to function properly.
Signed-off-by: Nicholas Krause <xerofoify@gmail.com>
---
drivers/gpu/drm/gma500/mdfld_dsi_pkg_sender.c | 15 +++++----------
1 file changed, 5 insertions(+), 10 deletions(-)
diff --git a/drivers/gpu/drm/gma500/mdfld_dsi_pkg_sender.c b/drivers/gpu/drm/gma500/mdfld_dsi_pkg_sender.c
index 87885d8..77c656a 100644
--- a/drivers/gpu/drm/gma500/mdfld_dsi_pkg_sender.c
+++ b/drivers/gpu/drm/gma500/mdfld_dsi_pkg_sender.c
@@ -335,13 +335,11 @@ static int send_pkg_prepare(struct mdfld_dsi_pkg_sender *sender, u8 data_type,
/*wait for 120 milliseconds in case exit_sleep_mode just be sent*/
if (unlikely(cmd == DCS_ENTER_SLEEP_MODE)) {
- /*TODO: replace it with msleep later*/
- mdelay(120);
+ msleep(120);
}
if (unlikely(cmd == DCS_EXIT_SLEEP_MODE)) {
- /*TODO: replace it with msleep later*/
- mdelay(120);
+ msleep(120);
}
return 0;
}
@@ -364,15 +362,12 @@ static int send_pkg_done(struct mdfld_dsi_pkg_sender *sender, u8 data_type,
/*update panel status*/
if (unlikely(cmd == DCS_ENTER_SLEEP_MODE)) {
sender->panel_mode |= MDFLD_DSI_PANEL_MODE_SLEEP;
- /*TODO: replace it with msleep later*/
- mdelay(120);
+ msleep(120);
} else if (unlikely(cmd == DCS_EXIT_SLEEP_MODE)) {
sender->panel_mode &= ~MDFLD_DSI_PANEL_MODE_SLEEP;
- /*TODO: replace it with msleep later*/
- mdelay(120);
+ msleep(120);
} else if (unlikely(cmd == DCS_SOFT_RESET)) {
- /*TODO: replace it with msleep later*/
- mdelay(5);
+ msleep(5);
}
sender->status = MDFLD_DSI_PKG_SENDER_FREE;
--
1.9.1
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH] drivers: Change calls to mdelay to msleep in order to stop CPU busy looping in mdfld_dsi_pkg_sender.c
2014-11-15 18:21 [PATCH] drivers: Change calls to mdelay to msleep in order to stop CPU busy looping in mdfld_dsi_pkg_sender.c Nicholas Krause
@ 2014-11-17 8:40 ` Jani Nikula
0 siblings, 0 replies; 4+ messages in thread
From: Jani Nikula @ 2014-11-17 8:40 UTC (permalink / raw)
To: Nicholas Krause, airlied; +Cc: airlied, linux-kernel, dri-devel
On Sat, 15 Nov 2014, Nicholas Krause <xerofoify@gmail.com> wrote:
> Changes the calls of mdelay to msleep in the driver file mdfld_dsi_pkg_sender.c
> in order to prevent CPU busy looping in order to save CPU cycles as this is
> considered bad form over sleeping the CPU for high resolution timer function
> calls as this driver needs in order to function properly.
The code paths are called with sender->lock spinlock held.
BR,
Jani.
>
> Signed-off-by: Nicholas Krause <xerofoify@gmail.com>
> ---
> drivers/gpu/drm/gma500/mdfld_dsi_pkg_sender.c | 15 +++++----------
> 1 file changed, 5 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/gpu/drm/gma500/mdfld_dsi_pkg_sender.c b/drivers/gpu/drm/gma500/mdfld_dsi_pkg_sender.c
> index 87885d8..77c656a 100644
> --- a/drivers/gpu/drm/gma500/mdfld_dsi_pkg_sender.c
> +++ b/drivers/gpu/drm/gma500/mdfld_dsi_pkg_sender.c
> @@ -335,13 +335,11 @@ static int send_pkg_prepare(struct mdfld_dsi_pkg_sender *sender, u8 data_type,
>
> /*wait for 120 milliseconds in case exit_sleep_mode just be sent*/
> if (unlikely(cmd == DCS_ENTER_SLEEP_MODE)) {
> - /*TODO: replace it with msleep later*/
> - mdelay(120);
> + msleep(120);
> }
>
> if (unlikely(cmd == DCS_EXIT_SLEEP_MODE)) {
> - /*TODO: replace it with msleep later*/
> - mdelay(120);
> + msleep(120);
> }
> return 0;
> }
> @@ -364,15 +362,12 @@ static int send_pkg_done(struct mdfld_dsi_pkg_sender *sender, u8 data_type,
> /*update panel status*/
> if (unlikely(cmd == DCS_ENTER_SLEEP_MODE)) {
> sender->panel_mode |= MDFLD_DSI_PANEL_MODE_SLEEP;
> - /*TODO: replace it with msleep later*/
> - mdelay(120);
> + msleep(120);
> } else if (unlikely(cmd == DCS_EXIT_SLEEP_MODE)) {
> sender->panel_mode &= ~MDFLD_DSI_PANEL_MODE_SLEEP;
> - /*TODO: replace it with msleep later*/
> - mdelay(120);
> + msleep(120);
> } else if (unlikely(cmd == DCS_SOFT_RESET)) {
> - /*TODO: replace it with msleep later*/
> - mdelay(5);
> + msleep(5);
> }
>
> sender->status = MDFLD_DSI_PKG_SENDER_FREE;
> --
> 1.9.1
>
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel
--
Jani Nikula, Intel Open Source Technology Center
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] drivers: Change calls to mdelay to msleep in order to stop CPU busy looping in mdfld_dsi_pkg_sender.c
@ 2014-11-17 8:40 ` Jani Nikula
0 siblings, 0 replies; 4+ messages in thread
From: Jani Nikula @ 2014-11-17 8:40 UTC (permalink / raw)
To: Nicholas Krause, airlied; +Cc: airlied, linux-kernel, dri-devel
On Sat, 15 Nov 2014, Nicholas Krause <xerofoify@gmail.com> wrote:
> Changes the calls of mdelay to msleep in the driver file mdfld_dsi_pkg_sender.c
> in order to prevent CPU busy looping in order to save CPU cycles as this is
> considered bad form over sleeping the CPU for high resolution timer function
> calls as this driver needs in order to function properly.
The code paths are called with sender->lock spinlock held.
BR,
Jani.
>
> Signed-off-by: Nicholas Krause <xerofoify@gmail.com>
> ---
> drivers/gpu/drm/gma500/mdfld_dsi_pkg_sender.c | 15 +++++----------
> 1 file changed, 5 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/gpu/drm/gma500/mdfld_dsi_pkg_sender.c b/drivers/gpu/drm/gma500/mdfld_dsi_pkg_sender.c
> index 87885d8..77c656a 100644
> --- a/drivers/gpu/drm/gma500/mdfld_dsi_pkg_sender.c
> +++ b/drivers/gpu/drm/gma500/mdfld_dsi_pkg_sender.c
> @@ -335,13 +335,11 @@ static int send_pkg_prepare(struct mdfld_dsi_pkg_sender *sender, u8 data_type,
>
> /*wait for 120 milliseconds in case exit_sleep_mode just be sent*/
> if (unlikely(cmd == DCS_ENTER_SLEEP_MODE)) {
> - /*TODO: replace it with msleep later*/
> - mdelay(120);
> + msleep(120);
> }
>
> if (unlikely(cmd == DCS_EXIT_SLEEP_MODE)) {
> - /*TODO: replace it with msleep later*/
> - mdelay(120);
> + msleep(120);
> }
> return 0;
> }
> @@ -364,15 +362,12 @@ static int send_pkg_done(struct mdfld_dsi_pkg_sender *sender, u8 data_type,
> /*update panel status*/
> if (unlikely(cmd == DCS_ENTER_SLEEP_MODE)) {
> sender->panel_mode |= MDFLD_DSI_PANEL_MODE_SLEEP;
> - /*TODO: replace it with msleep later*/
> - mdelay(120);
> + msleep(120);
> } else if (unlikely(cmd == DCS_EXIT_SLEEP_MODE)) {
> sender->panel_mode &= ~MDFLD_DSI_PANEL_MODE_SLEEP;
> - /*TODO: replace it with msleep later*/
> - mdelay(120);
> + msleep(120);
> } else if (unlikely(cmd == DCS_SOFT_RESET)) {
> - /*TODO: replace it with msleep later*/
> - mdelay(5);
> + msleep(5);
> }
>
> sender->status = MDFLD_DSI_PKG_SENDER_FREE;
> --
> 1.9.1
>
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel
--
Jani Nikula, Intel Open Source Technology Center
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] drivers: Change calls to mdelay to msleep in order to stop CPU busy looping in mdfld_dsi_pkg_sender.c
2014-11-17 8:40 ` Jani Nikula
(?)
@ 2014-11-17 15:38 ` Nick Krause
-1 siblings, 0 replies; 4+ messages in thread
From: Nick Krause @ 2014-11-17 15:38 UTC (permalink / raw)
To: Jani Nikula; +Cc: airlied, linux-kernel@vger.kernel.org, dri-devel
On Mon, Nov 17, 2014 at 3:40 AM, Jani Nikula
<jani.nikula@linux.intel.com> wrote:
> On Sat, 15 Nov 2014, Nicholas Krause <xerofoify@gmail.com> wrote:
>> Changes the calls of mdelay to msleep in the driver file mdfld_dsi_pkg_sender.c
>> in order to prevent CPU busy looping in order to save CPU cycles as this is
>> considered bad form over sleeping the CPU for high resolution timer function
>> calls as this driver needs in order to function properly.
>
> The code paths are called with sender->lock spinlock held.
>
> BR,
> Jani.
>
>>
>> Signed-off-by: Nicholas Krause <xerofoify@gmail.com>
>> ---
>> drivers/gpu/drm/gma500/mdfld_dsi_pkg_sender.c | 15 +++++----------
>> 1 file changed, 5 insertions(+), 10 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/gma500/mdfld_dsi_pkg_sender.c b/drivers/gpu/drm/gma500/mdfld_dsi_pkg_sender.c
>> index 87885d8..77c656a 100644
>> --- a/drivers/gpu/drm/gma500/mdfld_dsi_pkg_sender.c
>> +++ b/drivers/gpu/drm/gma500/mdfld_dsi_pkg_sender.c
>> @@ -335,13 +335,11 @@ static int send_pkg_prepare(struct mdfld_dsi_pkg_sender *sender, u8 data_type,
>>
>> /*wait for 120 milliseconds in case exit_sleep_mode just be sent*/
>> if (unlikely(cmd == DCS_ENTER_SLEEP_MODE)) {
>> - /*TODO: replace it with msleep later*/
>> - mdelay(120);
>> + msleep(120);
>> }
>>
>> if (unlikely(cmd == DCS_EXIT_SLEEP_MODE)) {
>> - /*TODO: replace it with msleep later*/
>> - mdelay(120);
>> + msleep(120);
>> }
>> return 0;
>> }
>> @@ -364,15 +362,12 @@ static int send_pkg_done(struct mdfld_dsi_pkg_sender *sender, u8 data_type,
>> /*update panel status*/
>> if (unlikely(cmd == DCS_ENTER_SLEEP_MODE)) {
>> sender->panel_mode |= MDFLD_DSI_PANEL_MODE_SLEEP;
>> - /*TODO: replace it with msleep later*/
>> - mdelay(120);
>> + msleep(120);
>> } else if (unlikely(cmd == DCS_EXIT_SLEEP_MODE)) {
>> sender->panel_mode &= ~MDFLD_DSI_PANEL_MODE_SLEEP;
>> - /*TODO: replace it with msleep later*/
>> - mdelay(120);
>> + msleep(120);
>> } else if (unlikely(cmd == DCS_SOFT_RESET)) {
>> - /*TODO: replace it with msleep later*/
>> - mdelay(5);
>> + msleep(5);
>> }
>>
>> sender->status = MDFLD_DSI_PKG_SENDER_FREE;
>> --
>> 1.9.1
>>
>> _______________________________________________
>> dri-devel mailing list
>> dri-devel@lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/dri-devel
>
> --
> Jani Nikula, Intel Open Source Technology Center
Then surely we can remove this to dos or do we have to move all the
code to another coding scheme for this driver using mutuxes as they
don't loop.
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2014-11-17 15:38 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-11-15 18:21 [PATCH] drivers: Change calls to mdelay to msleep in order to stop CPU busy looping in mdfld_dsi_pkg_sender.c Nicholas Krause
2014-11-17 8:40 ` Jani Nikula
2014-11-17 8:40 ` Jani Nikula
2014-11-17 15:38 ` Nick Krause
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.