Re: deprecating fix->mmio_start and smem_start
From: Ville Syrjälä <syrjala@sci.fi>
Date: 2008-04-22 18:41:56
On Tue, Apr 22, 2008 at 10:00:10AM +0200, Geert Uytterhoeven wrote:
On Tue, 22 Apr 2008, Benjamin Herrenschmidt wrote:quoted
We currently have a problem with those two members of struct fb_fix_screeninfo. The struct contains an "unsigned long" which means that: - 64 bits kernels with 32 bits userspace can't pass a complete address - 32 bits machines with 64 bits resource_size_t can't pass a complete address - The structure isn't even properly padded to be 32/64 bits neutral in the first place. We could define new versions of the struct with new get/set ioctls, or we could try to just deprecate those fields. What do you guys think ?As userspace doesn't really need those fields[1], we can easily deprecate them.
DirectFB uses both. smem_start is used to get the physical address of the frambuffer for v4l capture purposes at least. It's also used by several of the hw specific gfxdrivers for various reasons. For example the matrox driver uses it to figure out the offset from the beginning of the video memory to the portion allocated for CRTC2 by matroxfb. This only applies when matroxfb is left in control of CRTC2. I doubt may people use DirectFB this way since DirectFB can drive CRTC2+TVout itself and manage the full memory for both heads. But the support is still there in the code FWIW. I'm not actually sure what the other gfxdrivers use it for but I see several references when I grep for it. mmio_start is used to figure out where the registers actually lie within the mmapped MMIO area. atyfb is the only fb driver that I know to need this. The problem is that with new chips the aux register aperture is used and the registers are at the beginning of that aperture but when the aux register aperture is not used the registers occupy the last 2K of the framebuffer. That means an offset of 2K on typical systems. -- Ville Syrjälä syrjala@sci.fi http://www.sci.fi/~syrjala/ ------------------------------------------------------------------------- This SF.net email is sponsored by the 2008 JavaOne(SM) Conference Don't miss this year's exciting event. There's still time to save $100. Use priority code J8TL2D2. http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone