Age | Commit message (Collapse) | Author |
|
This should close kernel/5995.
|
|
registers directly (via the memory sharing interface that intagp uses).
It doesn't need to be in a map structure.
Idea taken from some of intel's work.
|
|
|
|
|
|
|
|
The pipestat register needs tweaking when enabling vblanks, and doing this and
playing with the IMR seems to lead to problems, so just leave them always
unmasked and just tweak PIPESTAT.
From Keith Packard at Intel.
|
|
From intel.
|
|
support yet, but will) it won't exist, prepare for this by only writing to it if
it's there.
Bits of this came from Eric Anholt at intel.
|
|
on rather old xservers. Said old xservers haven't been around in quite a
long time so just remove them.
Since the only function left in drm_fops.c is a small helper function,
just move it to drm_drv.c and nuke the redundant file.
no one objected when I said I was going to do this.
|
|
in the callback structure, just use a bunch of ORed together bits. This
has been annoying me for ages.
|
|
Before it was based on a static array with flags. Instead, let the
driver provide an ioctl callback, which deals with things appropriately.
Makes the code a bit easier to read, and also drops just over 5k on an
amd64 kernel build with all drm drivers enabled.
Tested by a few.
|
|
Eventually a drm driver for via hardware may be written, but it will be
utterly different to this one.
No one objected, ok matthieu@.
|
|
|
|
Alex Deuchar via drm git.
|
|
|
|
Remove softc members and prototypes related to the tasklet system.
|
|
nice catch, oga@
|
|
was the i915 vblank swap ioctl, which just went kaput.
|
|
using it allowed rendering to continue while waiting for a vblank swap,
and often this lead to flickering and rendering a new scene before the
swap. this broke a lot of things.
With the removal of this swap, userland falls back to the old way of
waiting for the vblank then doing the swap itself, this is smooth
enough.
I decided independantly to kill this, but the intel guys recently
concurred. Comment change comes from Eric Anholt at intel.
|
|
tsk_lock (which blocks irqs) for the whole call of the function, just
when we manipulate the function pointer.
|
|
|
|
won't be). It doesn't need to block interrupts anymore so switch to
IPL_NONE.
|
|
pipestat register. Fixes a nasty race where the bit would get set
without being reflected in the interrupt register, so we'd never get
another vblank interrupt.
Also, use the user_irq_lock to also protect vblank register writes, since it
covers the same register.
From Eric Anholt and Keith Packard at Intel.
|
|
Not strictly needed in the non-gem case, but it will be needed then, and
doesn't hurt now.
From Eric Anholt at intel.
|
|
doesn't handle triple buffering (which has been marked ``don't use this,
it's unstable'' for ever anyway)
While the code just removed is in drm git. it's not planned to go any
further, due to being a horribly ugly hack. Instead a proper fix which
will depend on memory management is planned. So revert this stuff here,
since it's now dead.
Testing shows no regressions.
|
|
it.
Since the vblank handling got reworked this is very much unneeded.
|
|
never used (mesa did a version check that never passed on our kernel).
The correct way to do this is in mesa master and requires memory
management.
|
|
Some ideas taken from upstream.
|
|
once is impossible; ok oga
|
|
Prompted by deraadt, kettenis@.
|
|
ok oga@
|
|
Pointed out by Olaf Kirch, this has been in snaps for two weeks, no
problems.
ok millert@, deraadt@
|
|
From Robert Noland at FreeBSD.
|
|
|
|
|
|
them wrong in several cases that i've noticed and Merging when needed is
still fairly simple, anyway. This shaves another 500 bytes from an amd64
kernel due to not having to flip the sign on some things. It also stops
my eyes bleeding.
Tested by a few along with the last diff that went in.
|
|
filling in a pre-allocated one on each attach.
Makes the code a bunch nicer, shrinks a kernel by about 1.5k on amd64,
helps with my sanity, and paves way for later changes.
Tested by a few for a couple of weeks now.
|
|
actually compile again (no one's tested it yet, still and I don't have
one).
|
|
here rework it a little bit to remove a shadowed variable.
|
|
held a lock over all driver ioctls in order to be ``mpsafe''. Stop lying
to ourselves for a start. This code is not fully mpsafe, and should not
pretend to be so. Put the locking around where it should, and rely on
biglock for the rest. This will need to be fixed, but avoids some of the
horrible that we have right now.
Tested by many over a long time and several iterations.
|
|
Tested by a few, no regressions for normal use.
|
|
|
|
directly. While i'm here, factor out some common functionality into a
separate function, and kill some typedefs (man this code is full of
them...). Shaves another 450 bytes off the kernel.
Tested by ckuethe and Paul de Weerd, thanks.
|
|
|
|
|
|
|
|
userland asks for these stats, and we stopped recording anything
interesting a while back.
|
|
is the same. Factor them into one function. Saves another 450 bytes on
amd64.
|
|
relatively small, so inline them. This shrinks the kernel by about 500
bytes and saves a tree lookup.
|
|
needs the actual interrupts. Oops!
|