xf86 drivers need to create RandR object in the PreInit stage,
before the ScreenRec is allocated. Changing the RandR DIX code
to permit this required the addition of functions that later associate the
objects with the related screen.
An additional change is that modes are now global, and no longer associated
with a specific screen. This change actually makes mode management cleaner
as there is no more per-screen list of modes to deal with.
This changes the RandR 1.2 ABI/API for drivers.
ia64 specific functions + defines.
Still uses /proc interface for some scaning code.
Based on code from Egbert Eich <eich@freedesktop.org>.
(cherry picked from caaa113acf commit)
Additional scanning code uses the /sys interface of 2.6 kernels.
Cleaned up the use of tags and already split domain/bus/dev/fn.
(cherry picked from 5afc6c1a14 commit)
Add a general socket (not input device, but still need to be woken for it)
handler to both the DIX and XFree86, and make XFree86's ACPI handling use
it. This stops DPMS waking up every time an ACPI notification comes in.
If we're mapping something in the "legacy range" (0-1Mb), we shouldn't
expand the requested range to the entire 0-1Mb range. Typically this
is for mapping the VGA frame buffer, and some platforms support mmap of
the frame buffer but not the entire 0-1Mb range.
For example, HP sx1000 and sx2000 ia64 platforms can have memory from
0-0x9ffff, VGA frame buffer from 0xa0000-0xbffff, and memory from
0xc0000-0xfffff. On these platforms, we can't map the entire 0-1Mb
range with the same attribute because the memory only supports WB,
while the frame buffer supports only UC. But an mmap of just the
frame buffer should work fine.
(cherry picked from bd0c829654 commit)
Mach64 driver bails out on ia64 because it cannot map device
memory. It turns out that some bogus and unneeded code attempts
to find the root bridge of the device and fails to do so proberly
as there this host-to-pci bridge is not existant. This code has
been around for years although it completely unclear what it had
been intended for. Fixing this by eliminating the bogus code.
(cherry picked from c1828a8ff5 commit)
Without being able to tie these to specific commits, the text changelog is
useless, as well as being huge.
(cherry picked from 430411ae07ad74662e22da70563f757a931c72b9 commit)
Commit b3a3020fd0 used a sparc64 ifdef instead of
sparc. But for 32-bit userland, __sparc64__ is not defined so the wrong code is
used.
(cherry picked from d812f486a0 commit)