Thread (3 messages) 3 messages, 2 authors, 2004-10-16

Re: latest patch for atyfb, even more patches

From: Antonino A. Daplas <hidden>
Date: 2004-10-16 22:14:57

On Sunday 17 October 2004 05:47, Alexander Kern wrote:
Am Freitag, 15. Oktober 2004 21:25 schrieb Alexander Kern:
quoted
Am Dienstag, 12. Oktober 2004 14:42 schrieb Antonino A. Daplas:
Hi,  here is more patches to go

Our cursor API is a bit understandable, 80 % of drivers given up, and using
soft_cursor (see a comment in ffb.c#61).

Three drivers made an error and use cursor->enable insted of
info->cursor.enable.

[PATCH atyfb] fix hw cursor breakage

[PATCH g364fb] fix hw cursor breakage

[PATCH imsttfb] fix hw cursor breakage

And tdfxfb is in my mind, broken as a hell.
cut from tdfxfb_cursor function

#ifdef TDFX_HARDWARE_CURSOR <-- not defined at all
Yep, tdfxfb_cursor() doesn't get compiled as it's seriously broken.
static int tdfxfb_cursor(struct fb_info *info, struct fb_cursor *cursor)
{
......
	if (info->cursor.enable) {    < Hey it's right
......
	/* Turn the cursor on */
	cursor->enable = 1;
	info->cursor = *cursor;    < Outch!
}
#endif
Yep, the cursor API, IMHO is very confusing, some fields are taken from
info->cursor (ie, mask, enable, rop), the rest from the passed fb_cursor
structure. There are also a lot of short-circuits in the cursor code path.

I've cleaned all this up in my tree so all drivers will use fields in the
passed fb_cursor structure _only_. Also, drivers need not store the changed
fields in info->cursor, fbcon will do that for you.  The end result is that
drivers don't have to look at info->cursor at all.  

Driver changes should be minimal, all references to info->cursor will just
be changed to cursor.  And things like this can be removed:

if (cursor->set & FB_CUR_BLAH)
	info->cursor.blah = cursor->blah; <-- this line can be removed

I'll document all of this in skeletenfb.c.

Other changes: cleaned up the cursor code path.

I'll submit the cursor API patches (including my attempt to modify
drivers) when 2.6.9 comes out.

Tony




-------------------------------------------------------
This SF.net email is sponsored by: IT Product Guide on ITManagersJournal
Use IT products in your business? Tell us what you think of them. Give us
Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more
http://productguide.itmanagersjournal.com/guidepromo.tmpl
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help