From: "Magnus Damm" <magnus.damm@gmail.com>
To: Jaya Kumar <jayakumar.lkml@gmail.com>
Cc: linux-fbdev-devel@lists.sourceforge.net, aliguori@us.ibm.com,
adaplas@gmail.com, linux-sh@vger.kernel.org, armbru@redhat.com,
lethal@linux-sh.org
Subject: Re: [PATCH 04/05] video: deferred io sys helpers - metronome
Date: Wed, 24 Dec 2008 14:46:59 +0900 [thread overview]
Message-ID: <aec7e5c30812232146t5dff36act9f4d5badc25bef22@mail.gmail.com> (raw)
In-Reply-To: <45a44e480812232058g5e81ee97r95c4b9c1ed81066@mail.gmail.com>
On Wed, Dec 24, 2008 at 1:58 PM, Jaya Kumar <jayakumar.lkml@gmail.com> wrote:
> On Mon, Dec 22, 2008 at 12:53 AM, Magnus Damm <magnus.damm@gmail.com> wrote:
>> + if (fbdefio->dx != -1) {
>> + /* update the entire screen */
>> + metronomefb_dpy_update(par);
>
> Okay, overall seems okay. But I'm not confident about this specific
> change above. The meaning of dx, etc is not clear to me. Okay, I think
> I found a problem with above. Here's my explanation, please correct me
> if I'm wrong in my reading of the code you've posted. The typical use
> case is just a single mmap client (eg: Xfbdev) and nothing else. No
> fbcon. The only code path I see that sets defio->dx is in the
> write/blit/* paths via the defio_touch in patch 1/5 and none in the
> mmap path so with this implementation, all mmap clients would
> repeatedly only hit the above full update scenario and never use the
> page based update mechanism.
Hm, I wonder if I reversed the logic by mistake, but I don't think so.
The idea is that dx should be set to -1 by default and stay that way
unless write/blit/* has been used. After each deferred io work dx is
reset to -1. If dx is not -1 in the deferred io callback then we need
to refresh the area specified by dx, dy, width, height _and_ the
pages. The xen driver does this.
In the metronome driver case we update the entire screen if dx has
been set which means we can skip the pages since they are considered
part of the entire screen. This should be the same behavior as before,
the local write/bit/* functions all call metronome_dpy_update()
without this patch.
Or maybe my logic is broken?
Btw, patch [1/5] is somewhat broken today with the handling of
sysdelay vs delay. Ideally I'd like to get rid of sysdelay and let
write/blit/* use the same delay as mmap(). Not sure if you are keen on
that though since it changes the behavior of your drivers. Otoh that
may make fbcon usable on e-paper since it decouples the soft cursor
refresh rate from the screen refresh rate.
> Other than the above problem, looks okay and its nice to get rid of
> all that stuff above. :-)
Excellent, thanks!
Cheers,
/ magnus
next prev parent reply other threads:[~2008-12-24 5:46 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-12-22 5:52 [PATCH 00/05] video: deferred io sys helpers Magnus Damm
2008-12-22 5:52 ` [PATCH 01/05] video: deferred io sys helpers - core Magnus Damm
2008-12-22 5:52 ` [PATCH 02/05] video: deferred io sys helpers - sh_mobile_lcdcfb Magnus Damm
2008-12-22 5:53 ` [PATCH 03/05] video: deferred io sys helpers - hecuba / n411 Magnus Damm
2008-12-22 5:58 ` Paul Mundt
2008-12-22 6:12 ` Magnus Damm
2008-12-22 5:53 ` [PATCH 04/05] video: deferred io sys helpers - metronome Magnus Damm
2008-12-24 4:58 ` Jaya Kumar
2008-12-24 5:46 ` Magnus Damm [this message]
2008-12-24 6:44 ` Jaya Kumar
2008-12-22 5:53 ` [PATCH 05/05] video: deferred io sys helpers - xen Magnus Damm
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=aec7e5c30812232146t5dff36act9f4d5badc25bef22@mail.gmail.com \
--to=magnus.damm@gmail.com \
--cc=adaplas@gmail.com \
--cc=aliguori@us.ibm.com \
--cc=armbru@redhat.com \
--cc=jayakumar.lkml@gmail.com \
--cc=lethal@linux-sh.org \
--cc=linux-fbdev-devel@lists.sourceforge.net \
--cc=linux-sh@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).