From: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
To: linux-fbdev@vger.kernel.org
Subject: Re: [PATCH] fb_defio: add first_io callback
Date: Thu, 16 Feb 2012 02:27:25 +0000 [thread overview]
Message-ID: <4F3C698D.7070207@gmx.de> (raw)
In-Reply-To: <201112311145.47717.heiko@sntech.de>
Hi Heiko,
sorry for the long delay.
On 12/31/2011 10:45 AM, Heiko Stübner wrote:
> With this optional callback the driver is notified when the first page
> is entered into the pagelist and a new deferred_io call is scheduled.
>
> A possible use-case for this is runtime-pm. In the first_io call
> pm_runtime_get()
> could be called, which starts an asynchronous runtime_resume of the
> device. In the deferred_io callback a call to
> pm_runtime_barrier()
> makes the sure, the device is resumed by then and a
> pm_runtime_put()
> may put the device back to sleep.
>
> Also, some SoCs may use the runtime-pm system to determine if they
> are able to enter deeper idle states. Therefore it is necessary to
> keep the use-count from the first written page until the conclusion
> of the screen update, to prevent the system from going to sleep before
> completing the pending update.
>
> Signed-off-by: Heiko Stuebner <heiko@sntech.de>
while I consider this patch acceptable, I don't see any reason to apply it as
long as there is no driver actually using it.
Best regards,
Florian Tobias Schandinat
> ---
> drivers/video/fb_defio.c | 4 ++++
> include/linux/fb.h | 1 +
> 2 files changed, 5 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/video/fb_defio.c b/drivers/video/fb_defio.c
> index c27e153..070f26f 100644
> --- a/drivers/video/fb_defio.c
> +++ b/drivers/video/fb_defio.c
> @@ -107,6 +107,10 @@ static int fb_deferred_io_mkwrite(struct vm_area_struct *vma,
> /* protect against the workqueue changing the page list */
> mutex_lock(&fbdefio->lock);
>
> + /* first write in this cycle, notify the driver */
> + if (fbdefio->first_io && list_empty(&fbdefio->pagelist))
> + fbdefio->first_io(info);
> +
> /*
> * We want the page to remain locked from ->page_mkwrite until
> * the PTE is marked dirty to avoid page_mkclean() being called
> diff --git a/include/linux/fb.h b/include/linux/fb.h
> index 1d6836c..b86cd41 100644
> --- a/include/linux/fb.h
> +++ b/include/linux/fb.h
> @@ -602,6 +602,7 @@ struct fb_deferred_io {
> struct mutex lock; /* mutex that protects the page list */
> struct list_head pagelist; /* list of touched pages */
> /* callback */
> + void (*first_io)(struct fb_info *info);
> void (*deferred_io)(struct fb_info *info, struct list_head *pagelist);
> };
> #endif
next prev parent reply other threads:[~2012-02-16 2:27 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-12-31 10:45 [PATCH] fb_defio: add first_io callback Heiko Stübner
2012-02-16 2:27 ` Florian Tobias Schandinat [this message]
2012-02-16 7:34 ` Heiko Stübner
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=4F3C698D.7070207@gmx.de \
--to=florianschandinat@gmx.de \
--cc=linux-fbdev@vger.kernel.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.