linux-fbdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Antonino Daplas <adaplas@pol.net>
To: Petr Vandrovec <vandrove@vc.cvut.cz>
Cc: James Simmons <jsimmons@infradead.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Linux Fbdev development list
	<linux-fbdev-devel@lists.sourceforge.net>
Subject: Re: Re: FBdev updates.
Date: 10 Mar 2003 07:44:31 +0800	[thread overview]
Message-ID: <1047253415.1208.66.camel@localhost.localdomain> (raw)
In-Reply-To: <20030309225455.GD16578@vana.vc.cvut.cz>

On Mon, 2003-03-10 at 06:54, Petr Vandrovec wrote:
> On Mon, Mar 10, 2003 at 06:27:14AM +0800, Antonino Daplas wrote:
> > On Mon, 2003-03-10 at 05:29, Petr Vandrovec wrote:
> > 
> > As for synchronization, I was meaning to ask some pointers on that.  The
> > setup currently works like this:
> > 
> >                         (blink)
> > fbcon_cursor         fbcon_vbl_handler (interrupt or timer)   
> >      |                     |
> >      -----------------------
> >                |
> >            accel_cursor
> >                |
> >      -----------------------
> >      |                      |
> >   hardware              soft_cursor    accel_putcs    accel_putc
> >                             |              |               |
> >                             -------------- -----------------
> >                                            | 
> >                                    fb_get_buffer_offset
> >                                            |
> >                                      xxxfb_imageblit
> >                                            |
> >                                   -------------------
> >                                   |                  |
> >                               hardware           software
> > 
> > 
> > I was thinking of placing locks in accel_cursor and
> > fb_get_buffer_offset, but I'm not sure.
> 
> Maybe just auditing code is enough: cursor_on should be zero while
> we are inside accel_putc/putcs (or inside any other fb function), and
> if cursor_on is zero, fbcon_vbl_handler should do nothing. So just making
> sure that fbcon_vbl_handler is not running on other CPU while we set
> cursor_on = 0 should be enough.

I think that's what happens.  cursor_on is set to 0 at the beginning of
fbcon_cursor(), and it remains 0 until the next fbcon_cursor() is
CM_DRAW or CM_MOVE.  And while cursor_on is 0, fbcon_vbl_handler just
exits immediately.  Yes, it's basically the code in 2.4, but instead of
using revc, it uses imageblit, and instead of allowing the drivers to do
the blinking, fbcon does it entirely, whether a hardware or software
cursor method is installed.  

> 
> > >     if fbdev provides hardware cursor... And HZ/50 delay after
> > >     putcs makes orientation on screen very complicated, as there
> > >     is no cursor while new characters are appearing on screen.
> > 
> > The delay is only for the blinking.  After drawing a character/stream of
> > characters, an explicit "draw cursor" command immediately follows (I
> > think) via fbcon_cursor.
> 
> Why we schedule cursor painting at all then? While we are inside putcs,
> we cannot paint cursor anyway (as we are busy with painting characters

I don't think any cursor painting is done while doing putcs, if the
CM_ERASE, putc/putcs, CM_DRAW/CM_MOVE sequence is followed.  Note that I
haven't verified if that particular sequence is followed, I just assume
the console layer does.

Tony




-------------------------------------------------------
This SF.net email is sponsored by: Etnus, makers of TotalView, The debugger 
for complex code. Debugging C/C++ programs can leave you feeling lost and 
disoriented. TotalView can help you find your way. Available on major UNIX 
and Linux platforms. Try it free. www.etnus.com

  reply	other threads:[~2003-03-09 23:47 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-02-20  1:09 FBdev updates James Simmons
2003-02-20  1:17 ` Jeff Garzik
2003-02-20  1:22   ` James Simmons
2003-02-20 15:02 ` Dave Jones
2003-02-20 15:07   ` James Simmons
2003-02-20 18:29   ` Petr Vandrovec
2003-02-20 19:58     ` James Simmons
2003-02-20 22:00       ` [Linux-fbdev-devel] " Antonino Daplas
2003-02-21  9:09         ` Geert Uytterhoeven
2003-02-21 10:46           ` Antonino Daplas
2003-02-21 11:02             ` [Linux-fbdev-devel] " Geert Uytterhoeven
2003-02-21  1:45       ` David S. Miller
2003-02-21  9:04         ` [Linux-fbdev-devel] " Geert Uytterhoeven
2003-02-21  0:24     ` Antonino Daplas
2003-03-03 20:35       ` [Linux-fbdev-devel] " Petr Vandrovec
2003-03-03 21:25         ` Geert Uytterhoeven
2003-03-03 21:32         ` Antonino Daplas
2003-03-05 20:23           ` James Simmons
2003-03-06  1:18             ` Antonino Daplas
2003-03-04 21:29         ` Jurriaan
2003-03-04 21:46           ` Petr Vandrovec
2003-03-09 21:29           ` Petr Vandrovec
2003-03-09 22:27             ` Antonino Daplas
2003-03-09 22:54               ` Petr Vandrovec
2003-03-09 23:44                 ` Antonino Daplas [this message]
2003-03-13 22:23                 ` fb_imageblit semantic Petr Vandrovec
2003-03-14  9:22                   ` Geert Uytterhoeven
2003-03-11 15:31             ` [Linux-fbdev-devel] Re: FBdev updates James Simmons
2003-03-16 22:10               ` Nicholas Wourms
2003-03-05 20:22         ` James Simmons
2003-03-06  7:35           ` Sven Luther
2003-03-06  8:05             ` [Linux-fbdev-devel] " Antonino Daplas
2003-03-06  8:25               ` Sven Luther
2003-03-28 14:19         ` 2.5.66 fbdev performance (was Re: Re: FBdev updates) Petr Vandrovec
2003-03-28 18:50           ` [Linux-fbdev-devel] " Antonino Daplas
2003-02-20 15:10 ` FBdev updates Ivan Kokshaysky
  -- strict thread matches above, loose matches on Subject: below --
2003-08-14 20:52 FBDEV updates James Simmons
2003-08-14 21:57 ` Jon Smirl
2003-03-05 20:31 Re: FBdev updates Petr Vandrovec
     [not found] <20020605175013.G10293@flint.arm.linux.org.uk>
2002-06-05 17:21 ` Re: fbdev updates James Simmons

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=1047253415.1208.66.camel@localhost.localdomain \
    --to=adaplas@pol.net \
    --cc=jsimmons@infradead.org \
    --cc=linux-fbdev-devel@lists.sourceforge.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=vandrove@vc.cvut.cz \
    /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).