public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* sparse, __iomem and framebuffer memory
@ 2004-09-25  3:13 Jon Smirl
  0 siblings, 0 replies; only message in thread
From: Jon Smirl @ 2004-09-25  3:13 UTC (permalink / raw)
  To: lkml, Dave Airlie

I just spent sometime looking at about a thousand errors from sparse
in the DRM code.

There are two main problems, first DRM makes use of opaque handles
which are passed to user space. These handles can be to normal or
iomem memory. Since the handles are typeless this generates a lot of
sparse errors. Other data associated with the handle can be use to
tell if it is normal or iomem.

Second the DRM code always treats the framebuffer as if it is in
IOMEM. But what about IGP type devices where the framebuffer is in
main memory? These only exist on the x86 so treating their framebuffer
as IOMEM works since there is no difference between IOMEM and normal
memory access on an x86.

Is there an example of a IGP type device on an architecture where
normal and IOMEM need different access functions? I suspect DRI/DRM
would break on the device.

This implies that DRM should be passing back two distinct handle
types, one for normal and one for IOMEM, so that the user space app
will use the correct access function. This is also a pretty good
argument for hiding direct framebuffer access and forcing access with
read/write calls on a handle like the IA64 people want to do.

Of course there are a thousand errors to browse though and I may not
be interpreting everything right.

-- 
Jon Smirl
jonsmirl@gmail.com

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2004-09-25  3:13 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-09-25  3:13 sparse, __iomem and framebuffer memory Jon Smirl

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox