Use of 'reserved' fields in var_screeninfo
Hello,
I've got a question about the purpose of the reserved fields in the var_screeninfo struct:
struct fb_var_screeninfo {
[ ... ]
__u32 reserved[5]; /* Reserved for future compatibility */
};What are these reserved for? Is it appropriate for drivers to use these for additional, HW-specific values that are then made available to the VSCREENINFO ioctls?
If a driver does store state here, or attempt to pass info using an ioctl, the data is promptly overwritten by fbcon during an fbcon_switch(), when it creates a var_screeninfo struct, memsets it to zero, copies a couple fields and passes it to fb_set_var().
I have a patch to copy the 'reserved' fields during an fbcon_switch() that solves the problem but I'm not sure if this is the right thing to do.
Signature · 10 lines
Kevin Hilman MontaVista Software -- http://www.mvista.com/ ------------------------------------------------------- SF.Net email is sponsored by: Tame your development challenges with Apache's Geronimo App Server. Download it for free - -and be entered to win a 42" plasma tv or your very own Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php
Quoted 9 lines · Kevin Hilman
I've got a question about the purpose of the reserved fields in the
var_screeninfostruct:struct fb_var_screeninfo { [ ... ] __u32 reserved[5]; /* Reserved for future compatibility */ };What are these reserved for? Is it appropriate for drivers to use these for
They are reserved for future expansion.
Quoted 2 lines
additional, HW-specific values that are then made available to the VSCREENINFO ioctls?
Not really, only for generic info that's useful for multiple drivers. What do you want to export there?
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]
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:
Tame your development challenges with Apache's Geronimo App Server. Download it for free - -and be entered to win a 42" plasma tv or your very own Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php
Quoted 16 lines · Geert Uytterhoeven
Quoted 9 lines · Kevin Hilman
I've got a question about the purpose of the reserved fields in the
var_screeninfostruct:struct fb_var_screeninfo { [ ... ] __u32 reserved[5]; /* Reserved for future compatibility */ };What are these reserved for? Is it appropriate for drivers to use these for
They are reserved for future expansion.
Quoted 7 lines
Quoted 2 lines
additional, HW-specific values that are then made available to the VSCREENINFO ioctls?
Not really, only for generic info that's useful for multiple drivers. What do you want to export there?
I'm just weighing the options of whether I should just add a new device-specific ioctl, or try to export this as part of the var_screeninfo.
I've got some HW which has the ability display/blend up to 4 video/graphics sources within a root display window. I'd like to export this x,y offset (which is independent of the xoffset,yoffset for the virtual/visual stuff). Also, it has a per-source scaling factor I'd like to export.
Kevin
-------------------------------------------------------
SF.Net email is sponsored by:
Tame your development challenges with Apache's Geronimo App Server. Download it for free - -and be entered to win a 42" plasma tv or your very own Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php
Quoted 9 lines · Kevin Hilman
Quoted 2 lines · Geert Uytterhoeven
What do you want to export there?
I'm just weighing the options of whether I should just add a new device-specific ioctl, or try to export this as part of the
var_screeninfo.
Come to think of it, no matter what I added to the screeninfo struct, fbcon_switch() would have to be hacked to not disrupt any new fields since it does a memset-to-zero.
I think a device-specific ioctl is the way to go.
Thanks for the help.
Signature · 10 lines
Kevin Hilman MontaVista Software -- http://www.mvista.com/ ------------------------------------------------------- SF.Net email is sponsored by: Tame your development challenges with Apache's Geronimo App Server. Download it for free - -and be entered to win a 42" plasma tv or your very own Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php
Quoted 8 lines · Kevin Hilman
Quoted 6 lines · Kevin Hilman
Quoted 1 line · Geert Uytterhoeven
What do you want to export there?
I'm just weighing the options of whether I should just add a new device-specific ioctl, or try to export this as part of the
var_screeninfo.
Quoted 5 lines
Come to think of it, no matter what I added to the screeninfo struct,
fbcon_switch()would have to be hacked to not disrupt any new fields since it does a memset-to-zero.I think a device-specific ioctl is the way to go.
That's indeed the best solution for now, until we have a real API for handling multiple planes.
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]
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:
Tame your development challenges with Apache's Geronimo App Server. Download it for free - -and be entered to win a 42" plasma tv or your very own Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php
Quoted 4 lines · Kevin Hilman
Quoted 1 line · Kevin Hilman
Geert Uytterhoeven wrote:
I think a device-specific ioctl is the way to go.
Or sysfs.
Tony
-------------------------------------------------------
SF.Net email is sponsored by:
Tame your development challenges with Apache's Geronimo App Server. Download it for free - -and be entered to win a 42" plasma tv or your very own Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php
Quoted 7 lines · Antonino A. Daplas
Quoted 4 lines · Kevin Hilman
Quoted 1 line · Kevin Hilman
Geert Uytterhoeven wrote:
I think a device-specific ioctl is the way to go.
Or sysfs.
Even better!
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]
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:
Tame your development challenges with Apache's Geronimo App Server. Download it for free - -and be entered to win a 42" plasma tv or your very own Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php