From: James Simmons <hidden> Date: 2005-08-07 02:27:39
This patch makes the mach64 chip a platform device so sysfs can work with
it.
Signed-off-by: James Simmons <redacted>
diff -urN -X /home/jsimmons/dontdiff linus-2.6/drivers/video/aty/atyfb_base.c fbdev-2.6/drivers/video/aty/atyfb_base.c
@@ -321,10 +318,8 @@#endif#ifdef CONFIG_ATARI-staticunsignedintmach64_count__initdata=0;-staticunsignedlongphys_vmembase[FB_MAX]__initdata={0,};-staticunsignedlongphys_size[FB_MAX]__initdata={0,};-staticunsignedlongphys_guiregbase[FB_MAX]__initdata={0,};+staticstructmach64_device*__initstore_video_par(char*video_str,unsignedcharm64_num)+staticLIST_HEAD(mach64_list);#endif/* top -> down is an evolution of mach64 chipset, any corrections? */
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
Thanks, Geert.
James, I'll drop this one - it seems to need version 2.
I'll also drop fbdev-dont-allow-softcursor-use-from-userland.patch as there
seems to be quite a bit of controversy there.
-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
From: James Simmons <hidden> Date: 2005-08-07 23:10:00
Thanks, Geert.
James, I'll drop this one - it seems to need version 2.
Yeah!!! I got no response earlier. Now I can fix the patch up.
I'll also drop fbdev-dont-allow-softcursor-use-from-userland.patch as there
seems to be quite a bit of controversy there.
The disagreement was how much to change it at one time. Some patches where
just huge and did massive changes to all drivers. I wanted to break the patch
up into little pieces. Please apply this patch otherwise we will be stuck
where we are.
-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
From: "Antonino A. Daplas" <adaplas@gmail.com> Date: 2005-08-07 23:31:40
James Simmons wrote:
quoted
I'll also drop fbdev-dont-allow-softcursor-use-from-userland.patch as there
seems to be quite a bit of controversy there.
The disagreement was how much to change it at one time. Some patches where
just huge and did massive changes to all drivers. I wanted to break the patch
up into little pieces. Please apply this patch otherwise we will be stuck
where we are.
Please, my patch (based from Jon's) is huge because it's removing > 200 lines
and it's moving softcursor.c from drivers/video to drivers/video/console where
it belongs. But it is _not_ intrusive. In fact, the majority of the patch consists
of a single logical change which removes the line below from each driver
- .fb_cursor = softcursor;
and removes the line below from drivers/video/Kconfig.
- select FB_SOFT_CURSOR
Our proposal aims to make complex code simpler and big code smaller. Your patch,
on the other hand, although small, introduces another flag FB_HWCURSOR_SOFTCURSOR,
which is redundant, and adds yet another level of complexity to an already too
complex code.
I already have the patch, but I'm not pushing it yet because of an ongoing
disagreement, in courtesy to other developers such as yourself.
Tony
-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
From: Jon Smirl <hidden> Date: 2005-08-07 23:48:37
On 8/7/05, Antonino A. Daplas [off-list ref] wrote:
James Simmons wrote:
quoted
quoted
I'll also drop fbdev-dont-allow-softcursor-use-from-userland.patch as there
seems to be quite a bit of controversy there.
The disagreement was how much to change it at one time. Some patches where
just huge and did massive changes to all drivers. I wanted to break the patch
up into little pieces. Please apply this patch otherwise we will be stuck
where we are.
James, if you are really worried about our patch to move softcursor
into fbcon, why don't we put it into the -mm tree for a month without
moving it to the main kernel and see if anyone complains.
I am definitely of the belief that since softcursor can only be used
by fbcon then it should be moved into fbcon and all support for it be
dropped from fbdev. We can't leave the code as is since it interferes
with the use of the hardware cursors from user space.
I just don't think this patch is as complex as you are making it out
to be. It is large simply because the same action has been repeated
for each of the 65 drivers. The action is only a simple deletion of
two lines.
Please, my patch (based from Jon's) is huge because it's removing > 200 lines
and it's moving softcursor.c from drivers/video to drivers/video/console where
it belongs. But it is _not_ intrusive. In fact, the majority of the patch consists
of a single logical change which removes the line below from each driver
- .fb_cursor = softcursor;
and removes the line below from drivers/video/Kconfig.
- select FB_SOFT_CURSOR
Our proposal aims to make complex code simpler and big code smaller. Your patch,
on the other hand, although small, introduces another flag FB_HWCURSOR_SOFTCURSOR,
which is redundant, and adds yet another level of complexity to an already too
complex code.
I already have the patch, but I'm not pushing it yet because of an ongoing
disagreement, in courtesy to other developers such as yourself.
Tony
--
Jon Smirl
jonsmirl@gmail.com
-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
From: James Simmons <hidden> Date: 2005-08-08 17:31:02
James, if you are really worried about our patch to move softcursor
into fbcon, why don't we put it into the -mm tree for a month without
moving it to the main kernel and see if anyone complains.
I am definitely of the belief that since softcursor can only be used
by fbcon then it should be moved into fbcon and all support for it be
dropped from fbdev. We can't leave the code as is since it interferes
with the use of the hardware cursors from user space.
I just don't think this patch is as complex as you are making it out
to be. It is large simply because the same action has been repeated
for each of the 65 drivers. The action is only a simple deletion of
two lines.
I'm not arguing over this. What is wrong with breaking this patch up!!!!!
I still have no answer to this!!!! I'm using the hardware flag because
sometimes the driver that does have a hardware cursor wants to turn
support off for it.
-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
From: Jon Smirl <hidden> Date: 2005-08-08 17:56:26
On 8/8/05, James Simmons [off-list ref] wrote:
quoted
James, if you are really worried about our patch to move softcursor
into fbcon, why don't we put it into the -mm tree for a month without
moving it to the main kernel and see if anyone complains.
I am definitely of the belief that since softcursor can only be used
by fbcon then it should be moved into fbcon and all support for it be
dropped from fbdev. We can't leave the code as is since it interferes
with the use of the hardware cursors from user space.
I just don't think this patch is as complex as you are making it out
to be. It is large simply because the same action has been repeated
for each of the 65 drivers. The action is only a simple deletion of
two lines.
I'm not arguing over this. What is wrong with breaking this patch up!!!!!
I still have no answer to this!!!! I'm using the hardware flag because
sometimes the driver that does have a hardware cursor wants to turn
support off for it.
Set .fb_cursor = NULL; to turn off the support.
--
Jon Smirl
jonsmirl@gmail.com
-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
From: James Simmons <hidden> Date: 2005-08-08 18:15:26
quoted
quoted
I just don't think this patch is as complex as you are making it out
to be. It is large simply because the same action has been repeated
for each of the 65 drivers. The action is only a simple deletion of
two lines.
I'm not arguing over this. What is wrong with breaking this patch up!!!!!
I still have no answer to this!!!! I'm using the hardware flag because
sometimes the driver that does have a hardware cursor wants to turn
support off for it.
Set .fb_cursor = NULL; to turn off the support.
So forbid hardware drivers that support hware cursors to never turn off
there hardware cursor support!!!!!
Let see what drivers have a flag to control using the hardware cursor.
au1100fb int nohwcursor
intelfb int hwcursor
nvidia int hwcur
cyberfb
You need to remove this!!!!
What I am arguing is that drivers with hardware cursor support should be
able to turn off and on hardware cursor support. That is why the
HWACCEL_CURSOR flag. Your test the fb_cursor field prevents this!!!
-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
From: Jon Smirl <hidden> Date: 2005-08-08 18:34:33
On 8/8/05, James Simmons [off-list ref] wrote:
quoted
quoted
quoted
I just don't think this patch is as complex as you are making it out
to be. It is large simply because the same action has been repeated
for each of the 65 drivers. The action is only a simple deletion of
two lines.
I'm not arguing over this. What is wrong with breaking this patch up!!!!!
I still have no answer to this!!!! I'm using the hardware flag because
sometimes the driver that does have a hardware cursor wants to turn
support off for it.
Set .fb_cursor = NULL; to turn off the support.
So forbid hardware drivers that support hware cursors to never turn off
there hardware cursor support!!!!!
Let see what drivers have a flag to control using the hardware cursor.
au1100fb int nohwcursor
intelfb int hwcursor
nvidia int hwcur
cyberfb
You need to remove this!!!!
What I am arguing is that drivers with hardware cursor support should be
able to turn off and on hardware cursor support. That is why the
HWACCEL_CURSOR flag. Your test the fb_cursor field prevents this!!!
If you want fbconsole to use the software cusor instead of the
hardware cursor, that's between you and fbconsole to decide. Control
over that choice needs to be in fbconsole, not the base fbdev.
The fbdev drivers should just unconditionally offer the hardware
cursor if they support it. It is up to the user of the cursor to
choose whether to use it or ignore it.
--
Jon Smirl
jonsmirl@gmail.com
-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
From: James Simmons <hidden> Date: 2005-08-08 18:49:29
quoted
au1100fb int nohwcursor
intelfb int hwcursor
nvidia int hwcur
cyberfb
You need to remove this!!!!
What I am arguing is that drivers with hardware cursor support should be
able to turn off and on hardware cursor support. That is why the
HWACCEL_CURSOR flag. Your test the fb_cursor field prevents this!!!
If you want fbconsole to use the software cusor instead of the
hardware cursor, that's between you and fbconsole to decide. Control
over that choice needs to be in fbconsole, not the base fbdev.
The fbdev drivers should just unconditionally offer the hardware
cursor if they support it. It is up to the user of the cursor to
choose whether to use it or ignore it.
Finally you see the point I was making. I wanted it be very clear to every
one here the implications of your changes. You remove the power to control
the use of a hardware cursor from the driver. At this point driver writers
need to speak up if they have no problem with this.
P.S
The patch still needs to broken into smaller pieces.
-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
From: Jon Smirl <hidden> Date: 2005-08-09 23:44:47
On 8/8/05, James Simmons [off-list ref] wrote:
quoted
quoted
au1100fb int nohwcursor
intelfb int hwcursor
nvidia int hwcur
cyberfb
You need to remove this!!!!
What I am arguing is that drivers with hardware cursor support should be
able to turn off and on hardware cursor support. That is why the
HWACCEL_CURSOR flag. Your test the fb_cursor field prevents this!!!
If you want fbconsole to use the software cusor instead of the
hardware cursor, that's between you and fbconsole to decide. Control
over that choice needs to be in fbconsole, not the base fbdev.
The fbdev drivers should just unconditionally offer the hardware
cursor if they support it. It is up to the user of the cursor to
choose whether to use it or ignore it.
Finally you see the point I was making. I wanted it be very clear to every
one here the implications of your changes. You remove the power to control
the use of a hardware cursor from the driver. At this point driver writers
need to speak up if they have no problem with this.
I'm not working on fbconsole so it did not occur to me what your
issues was. My user space apps have always had control of whether they
used the hardware cursor or not.
You will need to ask Tony for a switch. Easiest way is to make it a
module parameter on fbconsole. That way it will appear in
/sys/module/fbconsole/parameters and you can use echo to set it from a
script. There is no need for an ioctl.
It only takes about five lines of code to implement this, something like this...
fbconsole.c
int use_hw_cursor = 0;
module_parm(use_hw_cursor);
if (fb_info->fb_cursor && use_hw_cursor)
fb_info->fb_cursor(...)
else
softcursor
P.S
The patch still needs to broken into smaller pieces.
--
Jon Smirl
jonsmirl@gmail.com
-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
From: Jon Smirl <hidden> Date: 2005-08-10 02:12:38
On 8/8/05, Jon Smirl [off-list ref] wrote:
On 8/8/05, James Simmons [off-list ref] wrote:
quoted
quoted
quoted
au1100fb int nohwcursor
intelfb int hwcursor
nvidia int hwcur
cyberfb
You need to remove this!!!!
What I am arguing is that drivers with hardware cursor support should be
able to turn off and on hardware cursor support. That is why the
HWACCEL_CURSOR flag. Your test the fb_cursor field prevents this!!!
If you want fbconsole to use the software cusor instead of the
hardware cursor, that's between you and fbconsole to decide. Control
over that choice needs to be in fbconsole, not the base fbdev.
The fbdev drivers should just unconditionally offer the hardware
cursor if they support it. It is up to the user of the cursor to
choose whether to use it or ignore it.
Finally you see the point I was making. I wanted it be very clear to every
one here the implications of your changes. You remove the power to control
the use of a hardware cursor from the driver. At this point driver writers
need to speak up if they have no problem with this.
I'm not working on fbconsole so it did not occur to me what your
issues was. My user space apps have always had control of whether they
used the hardware cursor or not.
You will need to ask Tony for a switch. Easiest way is to make it a
module parameter on fbconsole. That way it will appear in
/sys/module/fbconsole/parameters and you can use echo to set it from a
script. There is no need for an ioctl.
Personally I am not in favor of building hundreds of switches like
this into the kernel. If the hardware cursor doesn't work it should
either be fixed or disabled in the fbdev driver. If you take that
philosophy there is no need for a switch on fbconsole.
I really don't like the "if it doesn't work for you here's how to turn
if off" switches. All they do is hide bugs.
It only takes about five lines of code to implement this, something like this...
fbconsole.c
int use_hw_cursor = 0;
module_parm(use_hw_cursor);
if (fb_info->fb_cursor && use_hw_cursor)
fb_info->fb_cursor(...)
else
softcursor
quoted
P.S
The patch still needs to broken into smaller pieces.
--
Jon Smirl
jonsmirl@gmail.com
--
Jon Smirl
jonsmirl@gmail.com
-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
From: "Antonino A. Daplas" <adaplas@gmail.com> Date: 2005-08-09 23:54:48
James Simmons wrote:
quoted
quoted
quoted
I just don't think this patch is as complex as you are making it out
to be. It is large simply because the same action has been repeated
for each of the 65 drivers. The action is only a simple deletion of
two lines.
I'm not arguing over this. What is wrong with breaking this patch up!!!!!
I still have no answer to this!!!! I'm using the hardware flag because
sometimes the driver that does have a hardware cursor wants to turn
support off for it.
Set .fb_cursor = NULL; to turn off the support.
So forbid hardware drivers that support hware cursors to never turn off
there hardware cursor support!!!!!
Let see what drivers have a flag to control using the hardware cursor.
au1100fb int nohwcursor
intelfb int hwcursor
nvidia int hwcur
cyberfb
You need to remove this!!!!
Majority of the drivers that does support hardware cursors are written by myself.
If the driver does not want to turn on the hardware cursor, just return -ENODEV.
No need to fudge with pointers.
Tony
-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
From: James Simmons <hidden> Date: 2005-08-09 00:56:55
Please, my patch (based from Jon's) is huge because it's removing > 200 lines
and it's moving softcursor.c from drivers/video to drivers/video/console where
it belongs. But it is _not_ intrusive. In fact, the majority of the patch consists
of a single logical change which removes the line below from each driver
- .fb_cursor = softcursor;
and removes the line below from drivers/video/Kconfig.
- select FB_SOFT_CURSOR
Our proposal aims to make complex code simpler and big code smaller. Your patch,
on the other hand, although small, introduces another flag FB_HWCURSOR_SOFTCURSOR,
which is redundant, and adds yet another level of complexity to an already too
complex code.
I ask you the same question as Jon. Currently several fbdev drivers have a
optional flag to turn on and off the hardware cursor. Should this functionality
be removed and force all fbdev drivers to always have the hardware cursor
avaiable. Thus leaving fbcon to control when to use the hardware cursor
or the software cursor. It all comes down to who controls when the
hardware driver will use the hardware cursor. As noted several drivers
have such a flag. You would have to strip that flag out of the drivers as
well.
-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
From: Jon Smirl <hidden> Date: 2005-08-09 18:34:08
On 8/8/05, James Simmons [off-list ref] wrote:
quoted
Please, my patch (based from Jon's) is huge because it's removing > 200 lines
and it's moving softcursor.c from drivers/video to drivers/video/console where
it belongs. But it is _not_ intrusive. In fact, the majority of the patch consists
of a single logical change which removes the line below from each driver
- .fb_cursor = softcursor;
and removes the line below from drivers/video/Kconfig.
- select FB_SOFT_CURSOR
Our proposal aims to make complex code simpler and big code smaller. Your patch,
on the other hand, although small, introduces another flag FB_HWCURSOR_SOFTCURSOR,
which is redundant, and adds yet another level of complexity to an already too
complex code.
I ask you the same question as Jon. Currently several fbdev drivers have a
optional flag to turn on and off the hardware cursor. Should this functionality
In the current code I don't view that flag as turning the hardware
cursor on/off. Instead I view it as choosing to use the software or
hardware cursor. In my view the flag should be eliminated form fbdev.
If a driver has a hardware cursor it is always exposed.
fbconsole is then free to implement the flag if it chooses.
be removed and force all fbdev drivers to always have the hardware cursor
avaiable. Thus leaving fbcon to control when to use the hardware cursor
or the software cursor. It all comes down to who controls when the
hardware driver will use the hardware cursor. As noted several drivers
have such a flag. You would have to strip that flag out of the drivers as
well.
--
Jon Smirl
jonsmirl@gmail.com
-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
From: "Antonino A. Daplas" <adaplas@gmail.com> Date: 2005-08-10 01:43:21
James Simmons wrote:
quoted
Please, my patch (based from Jon's) is huge because it's removing > 200 lines
and it's moving softcursor.c from drivers/video to drivers/video/console where
it belongs. But it is _not_ intrusive. In fact, the majority of the patch consists
of a single logical change which removes the line below from each driver
- .fb_cursor = softcursor;
and removes the line below from drivers/video/Kconfig.
- select FB_SOFT_CURSOR
Our proposal aims to make complex code simpler and big code smaller. Your patch,
on the other hand, although small, introduces another flag FB_HWCURSOR_SOFTCURSOR,
which is redundant, and adds yet another level of complexity to an already too
complex code.
I ask you the same question as Jon. Currently several fbdev drivers have a
optional flag to turn on and off the hardware cursor. Should this functionality
be removed and force all fbdev drivers to always have the hardware cursor
avaiable. Thus leaving fbcon to control when to use the hardware cursor
or the software cursor. It all comes down to who controls when the
hardware driver will use the hardware cursor. As noted several drivers
have such a flag. You would have to strip that flag out of the drivers as
well.
.
BTW, the only drivers that have working hardware cursor support are
rivafb, intelfb,
nvidiafb, and i810fb. Except for intelfb, I wrote all of them, if not
the driver, the
hardware cursor support. And intelfb's cursor support was based on i810fb.
To answer your question, drivers can do either of two things:
1. If they don't want to use the hardware cursor, set
info->fbops->fb_cursor = NULL
in fb_set_par();
2. Or, they can keep info->fbops->fb_cursor() as is, but the function
will return
-ENODEV instead.
The end result is if info->fbops->fb_cursor == NULL, fbcon will call
soft_cursor.
Or if the return value of info->fb_ops->fb_cursor is not equal to zero,
fbcon will
call soft_cursor.
Either way, control remains with the driver, not fbcon.
Tony
-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
James Simmons wrote:
1. If they don't want to use the hardware cursor, set info->fbops->fb_cursor =
NULL
in fb_set_par();
Hence that fbops cannot be shared between multiple instances of the same
frame buffer device that need different values for fbops->fb_cursor.
2. Or, they can keep info->fbops->fb_cursor() as is, but the function will
return
-ENODEV instead.
So this one looks better to me, since it doesn't suffer from the limitation of
1.
(I'm thinking of hardware where the availability of a hardware cursor depends
on the video mode, e.g. the good old Amiga graphics)
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
From: "Antonino A. Daplas" <adaplas@gmail.com> Date: 2005-08-10 01:47:12
Antonino A. Daplas wrote:
James Simmons wrote:
quoted
quoted
Please, my patch (based from Jon's) is huge because it's removing >
200 lines
and it's moving softcursor.c from drivers/video to
drivers/video/console where
it belongs. But it is _not_ intrusive. In fact, the majority of the
patch consists
of a single logical change which removes the line below from each
driver
- .fb_cursor = softcursor;
and removes the line below from drivers/video/Kconfig.
- select FB_SOFT_CURSOR
Our proposal aims to make complex code simpler and big code smaller.
Your patch,
on the other hand, although small, introduces another flag
FB_HWCURSOR_SOFTCURSOR,
which is redundant, and adds yet another level of complexity to an
already too
complex code.
I ask you the same question as Jon. Currently several fbdev drivers
have a optional flag to turn on and off the hardware cursor. Should
this functionality
be removed and force all fbdev drivers to always have the hardware
cursor avaiable. Thus leaving fbcon to control when to use the
hardware cursor or the software cursor. It all comes down to who
controls when the hardware driver will use the hardware cursor. As
noted several drivers have such a flag. You would have to strip that
flag out of the drivers as well.
.
BTW, the only drivers that have working hardware cursor support are
rivafb, intelfb,
nvidiafb, and i810fb. Except for intelfb, I wrote all of them, if not
the driver, the
hardware cursor support. And intelfb's cursor support was based on
i810fb.
Erratum: Mach64 also has hardware cursor support, which looks like is
working. So
I take the above statement back.
Tony
-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
From: James Simmons <hidden> Date: 2005-08-12 17:47:53
Give this patch a try. It includes your fixes.
diff -urN -X /home/jsimmons/dontdiff linus-2.6/drivers/video/aty/atyfb_base.c fbdev-2.6/drivers/video/aty/atyfb_base.c
@@ -321,10 +318,8 @@#endif#ifdef CONFIG_ATARI-staticunsignedintmach64_count__initdata=0;-staticunsignedlongphys_vmembase[FB_MAX]__initdata={0,};-staticunsignedlongphys_size[FB_MAX]__initdata={0,};-staticunsignedlongphys_guiregbase[FB_MAX]__initdata={0,};+staticstructmach64_device*__initstore_video_par(char*video_str,unsignedcharm64_num);+staticLIST_HEAD(mach64_list);#endif/* top -> down is an evolution of mach64 chipset, any corrections? */
@@ -3508,92 +3576,29 @@par->clk_wr_offset=0;/* Panther 1 ISA Adapter (Gerald) */break;}--if(aty_init(info,"ISA bus")){-framebuffer_release(info);-/* This is insufficient! kernel_map has added two large chunks!! */-return-ENXIO;-}}-}--#endif /* CONFIG_ATARI */--staticvoid__devexitatyfb_remove(structfb_info*info)-{-structatyfb_par*par=(structatyfb_par*)info->par;-/* restore video mode */-aty_set_crtc(par,&saved_crtc);-par->pll_ops->set_pll(info,&saved_pll);--unregister_framebuffer(info);--#ifdef CONFIG_MTRR-if(par->mtrr_reg>=0){-mtrr_del(par->mtrr_reg,0,0);-par->mtrr_reg=-1;-}-if(par->mtrr_aper>=0){-mtrr_del(par->mtrr_aper,0,0);-par->mtrr_aper=-1;+if(aty_init(info,"ISA bus")){+framebuffer_release(info);+/* This is insufficient! kernel_map has added two large chunks!! */+return-ENXIO;}-#endif-#ifndef __sparc__-if(par->ati_regbase)-iounmap(par->ati_regbase);-if(info->screen_base)-iounmap(info->screen_base);-#ifdef __BIG_ENDIAN-if(info->sprite.addr)-iounmap(info->sprite.addr);-#endif-#endif-#ifdef __sparc__-kfree(par->mmap_map);-#endif-if(par->aux_start)-release_mem_region(par->aux_start,par->aux_size);--if(par->res_start)-release_mem_region(par->res_start,par->res_size);--framebuffer_release(info);}-#ifdef CONFIG_PCI--staticvoid__devexitatyfb_pci_remove(structpci_dev*pdev)+staticvoid__devexitatyfb_atari_remove(structdevice*dev){-structfb_info*info=pci_get_drvdata(pdev);+structfb_info*info=dev_get_drvdata(dev);atyfb_remove(info);}-/*-*Thisdriverusesitsownmatchingtable.Thatwillbemoredifficult-*tofix,sofornow,wejustmatchagainstanyATIIDandletthe-*probe()functionfindoutwhat'sup.Thatalsomeanwedon'thave-*amoduleIDtablethough.-*/-staticstructpci_device_idatyfb_pci_tbl[]={-{PCI_VENDOR_ID_ATI,PCI_ANY_ID,PCI_ANY_ID,PCI_ANY_ID,-PCI_BASE_CLASS_DISPLAY<<16,0xff0000,0},-{0,}-};--staticstructpci_driveratyfb_driver={+staticstructdevice_driveratyfb_driver={.name="atyfb",-.id_table=atyfb_pci_tbl,-.probe=atyfb_pci_probe,-.remove=__devexit_p(atyfb_pci_remove),-#ifdef CONFIG_PM-.suspend=atyfb_pci_suspend,-.resume=atyfb_pci_resume,-#endif /* CONFIG_PM */+.probe=atyfb_atari_probe,+.remove=__devexit_p(atyfb_atari_remove),};-#endif /* CONFIG_PCI */+#endif /* CONFIG_ATARI */#ifndef MODULEstaticint__initatyfb_setup(char*options)
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
diff -urN -X /home/jsimmons/dontdiff linus-2.6/drivers/video/aty/atyfb.h
fbdev-2.6/drivers/video/aty/atyfb.h ---
linus-2.6/drivers/video/aty/atyfb.h 2005-07-11 10:07:21.000000000 -0700 +++
fbdev-2.6/drivers/video/aty/atyfb.h 2005-07-22 15:36:41.000000000 -0700 @@
-187,6 +187,13 @@
#endif
};
+#ifdef CONFIG_ATARI
+struct mach64_device {
+ struct list_head node;
+ struct platform_device *dev;
+};
+#endif
+
/*
* ATI Mach64 features
*/
-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
_______________________________________________
Linux-fbdev-devel mailing list
Linux-fbdev-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-fbdev-devel
--
Best Wishes
Mit freundlichen Grüßen
Alex Kern
-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf