From: Petr Vandrovec <vandrove@vc.cvut.cz>
To: Antonino Daplas <adaplas@pol.net>
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: Sun, 9 Mar 2003 23:54:56 +0100 [thread overview]
Message-ID: <20030309225455.GD16578@vana.vc.cvut.cz> (raw)
In-Reply-To: <1047248782.1208.45.camel@localhost.localdomain>
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.
> > 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
at cursor position...) and fbcon_cursor(CM_DRAW) should restart timer interval
anyway (so you see cursor while you type characters, and not like Solaris
where cursor appears after you stop typing characters) (unfortunately when
I tried to verify how it behaves on secondary head of matrox (which does not
have hardware cursor), I made a typo and ...
Unable to handle kernel NULL pointer dereference at virtual address 00000196
printing eip:
c02f9258
*pde = 00000000
Oops: 0000
CPU: 0
EIP: 0060:[<c02f9258>] Tainted: PFS
EFLAGS: 00010202
EIP is at fb_open+0x28/0xf0
eax: c6ed2c30 ebx: 00000020 ecx: 00000001 edx: c04848e0
esi: 00000002 edi: 00000000 ebp: c6ed2c30 esp: c4bb3f18
ds: 007b es: 007b ss: 0068
Process con2fb (pid: 18180, threadinfo=c4bb2000 task=d874d940)
Stack: 00000006 c8a8aae4 c4bb2000 00000000 c8a8aae4 c01669ea c6ed2c30 c8a8aae4
dffe6830 c01435e3 c8a8aae4 c6ed2c30 dffe6830 00000000 c015af91 c6ed2c30
c8a8aae4 00000002 bffffe7a dcaa5000 c4bb2000 c015adb7 ca74978c dffe6830
Call Trace:
[<c01669ea>] chrdev_open+0xaa/0x110
[<c01435e3>] file_ra_state_init+0x23/0x40
[<c015af91>] dentry_open+0x1d1/0x1f0
[<c015adb7>] filp_open+0x67/0x70
[<c015b26b>] sys_open+0x5b/0x90
[<c0109983>] syscall_call+0x7/0xb
Code: 8b 86 94 01 00 00 b9 01 00 00 00 8b 10 85 d2 74 1c b8 00 e0
so I'll have to check it tomorrow on real dualhead system...)
Petr Vandrovec
vandrove@vc.cvut.cz
-------------------------------------------------------
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
next prev parent reply other threads:[~2003-03-09 22:55 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 [this message]
2003-03-09 23:44 ` Antonino Daplas
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=20030309225455.GD16578@vana.vc.cvut.cz \
--to=vandrove@vc.cvut.cz \
--cc=adaplas@pol.net \
--cc=jsimmons@infradead.org \
--cc=linux-fbdev-devel@lists.sourceforge.net \
--cc=linux-kernel@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).