Commit graph

4403 commits

Author SHA1 Message Date
Ben Skeggs
aeae747a69 nv50: more reordering to avoid display hanging on some chipsets
These things are so touchy!
2009-03-11 22:48:08 +10:00
Ben Skeggs
3fc105f00a nouveau/ppc: no instmem access at BIOS shadow time 2009-03-10 20:17:52 +10:00
Ben Skeggs
cce3eb4e26 drm/nv50: assorted kms fixes/cleanups 2009-03-10 18:22:42 +10:00
Ben Skeggs
16122cb1d9 drm/nv50: silence ddc timeout messages unless debugging enabled 2009-03-10 18:15:55 +10:00
Ben Skeggs
cbbbc9a1fc nv50: remove division from nv50_vm_bind_linear 2009-03-09 21:22:59 +10:00
Ben Skeggs
15e2184f74 nouveau: respect the nomap flag for gem objects 2009-03-09 11:04:49 +10:00
Ben Skeggs
fa73fa6889 nouveau: big rewrite of nv50 kms code
This is a essentially a big squash merge from the kernel tree I've been
working in, sorry about the loss of history, but commiting each patch
individually would've taken quite a while to do.

The nv50 kms code now uses the helpers in the drm, simplifying the
code greatly.

The code is far more stable than previously on all the G8x cards I've
been able to test on, but there's likely still bugs to be ironed out!
2009-03-09 10:58:57 +10:00
Ben Skeggs
f158b0253b nouveau: disable/enable PGRAPH FIFO access around channel creation 2009-03-09 08:07:55 +10:00
Ben Skeggs
54a66c3b44 drm/nouveau: implement NVOBJ_FLAG_ZERO_FREE
Not really necessary it seems as we've been dealing without it for a while
now.  But, it's useful to be sure that we don't end up with stale bits
of state laying around.
2009-03-09 08:06:30 +10:00
Stuart Bennett
6f76c1480c nouveau: don't try to traverse non-existent lists
Fixes nouveau_ioctl_mem_free Oops
2009-03-06 09:09:14 +10:00
Ben Skeggs
96e09e22a6 drm/nouveau: make portion of vram as reserved for PRAMIN on all chipsets
NV04 was completely busted.  Push buffers were getting allocated at the
end of VRAM, overwriting PRAMIN.  So, it turns out PRAMIN is in VRAM on
all chips.  Question answered!
2009-03-06 09:09:14 +10:00
Ben Skeggs
6e68f1f2b0 drm/nouveau: remove gpuobj ref from list even if not found in ramht 2009-03-06 09:09:14 +10:00
Ben Skeggs
baf814d1f2 nouveau: unbreak <nv50 and any ppc cards after instmem changes 2009-03-06 09:09:08 +10:00
Ben Skeggs
7946b7615f nouveau: fix oops in gem_new() failure path
It turns out drm_bo_usage_deref_locked doesn't set the pointer it's passed
to NULL after destroying the object.  So, this double free made things go
boom!
2009-03-06 09:09:08 +10:00
Maarten Maathuis
c921f402b7 nv50/kms: fix crtc timings to match ddx 2009-02-27 14:25:47 +01:00
Thomas Hellstrom
86a5f08fdb drm/ttm: work around some x86 pat oddities by using mixedmap instead of pfnmap 2009-02-27 14:01:33 +01:00
Dave Airlie
cc2b7ffc85 radeon: do not use this flushing mechanism yet.
This flush seems to cause instability at the moment,
I can run glxgears on a cube now a lot better without this
2009-02-23 14:36:40 +10:00
Ben Skeggs
b283b22d0b nv50: leave vm offset 0-512MiB invalid
To catch "NULL pointer" access
2009-02-22 12:54:24 +10:00
Ben Skeggs
e033cbf09a nv50: use nv_wait for PRAMIN page table update flushes 2009-02-22 11:40:12 +10:00
Ben Skeggs
f38b654609 nv50: remove redundant instmem flush after PRAMIN page table update 2009-02-22 11:40:08 +10:00
Ben Skeggs
9ab2a667b9 nv50: de-typedef nv50_instmem_priv 2009-02-22 11:40:02 +10:00
Ben Skeggs
05cda72eb7 nouveau: fix backwards conditional in wait_for_idle()
oops..
2009-02-22 11:39:48 +10:00
Ben Skeggs
569d3f8281 nv50: do instmem flush magic on finish_access() after writes 2009-02-22 11:39:43 +10:00
Ben Skeggs
afac6a4ddc nouveau: hide instmem map, force use of {prepare,finish}_access 2009-02-22 11:38:41 +10:00
Ben Skeggs
cdba1bf2e4 nouveau: decapitalise dev_priv->Engine 2009-02-22 11:37:17 +10:00
Ben Skeggs
5a28449f88 nv50: remove clamp to 512MiB VRAM 2009-02-20 15:33:29 +10:00
Ben Skeggs
8616e8499b nv50: rework vm handling so we can support >512MiB VRAM 2009-02-20 15:26:24 +10:00
Ben Skeggs
3c649c9329 nouveau: generalise waiting on register status with timeout 2009-02-20 15:23:50 +10:00
Ben Skeggs
393494d9bd nv50: fix some fbcon corruption issues 2009-02-20 15:21:42 +10:00
Ben Skeggs
6ec57ecae6 nouveau: signal any outstanding fences on channel destroy 2009-02-20 15:04:23 +10:00
Ben Skeggs
32a7de52a7 nv50: basic fbcon acceleration 2009-02-20 15:03:07 +10:00
Ben Skeggs
776d4fe697 nouveau: use consistant register access macros
We had quite a variety, name them all similarly and add a few new
ones that'll be needed for modesetting.
2009-02-20 14:57:40 +10:00
Ben Skeggs
bedffcd3bc nouveau: always map mmio regs at load time, not first open 2009-02-20 14:39:52 +10:00
Pekka Paalanen
54ba25571a nouveau: support backlight only when kernel does
Loading nouveau.ko would fail with unknown symbols, if the backlight
class device support is not provided in the kernel. Let's make the
backlight support dependant on the kernel configuration.

This is a bit ugly, the proper way would be to check for the config in
Makefile.kernel whether to build nouveau_backlight.o at all, and if not,
nouveau_drv.h should provide the stubs.

Signed-off-by: Pekka Paalanen <pq@iki.fi>
2009-02-20 14:17:02 +10:00
Matthew Garrett
ba41d2df3f nv40, nv50: fix backlight build for <2.6.29 kernels
Signed-off-by: Matthew Garrett <mjg59@srcf.ucam.org>
Signed-off-by: Pekka Paalanen <pq@iki.fi>
2009-02-20 14:16:54 +10:00
Ben Skeggs
61ff524373 libdrm/nouveau: free drmVersion after we're done with it 2009-02-20 09:25:35 +10:00
Ben Skeggs
7e744d523d libdrm/nouveau: fix dma debugging 2009-02-19 19:40:19 +10:00
Matthew Garrett
a2e02900b6 nouveau: Add in-kernel backlight control support
Several nvidia-based systems don't support backlight control via the
standard ACPI control mechanisms. Instead, it's necessary for the driver
to modify the backlight control registers directly. This patch adds
support for determining whether the registers appear to be in use, and
if so registers a kernel backlight device to control them. The backlight
can then be controlled via existing userspace tools.

Signed-off-by: Matthew Garrett <mjg@redhat.com>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2009-02-18 13:50:38 +10:00
Dave Airlie
d9689e2161 libdrm/radeon: remove unused debug 2009-02-17 10:55:26 +10:00
Dave Airlie
333f3395a0 libdrm/radeon: reset the usage counters post-submit 2009-02-17 10:55:26 +10:00
Ben Skeggs
7436dc6691 nv40: fail completely if we don't have a ctxprog for the chipset 2009-02-15 22:06:57 +10:00
Ben Skeggs
1fee78e8e4 nv50: context info for chipset 0xa0 2009-02-15 21:59:19 +10:00
Eric Anholt
8a1de2a4ee bump version to 2.4.4 2009-02-15 17:03:18 +10:00
Eric Anholt
011a04c7a2 intel: don't count fences on 965 and later, as they don't use them.
(cherry picked from commit cbdd6272c0)
2009-02-15 17:03:18 +10:00
Eric Anholt
544847b774 intel: Fix under-counting of fences registers required in check_aperture.
(cherry picked from commit 9209c9a653)
2009-02-15 17:03:17 +10:00
Jesse Barnes
727feefcac intel: libdrm support for fence management in execbuf
This patch tries to use the available fence count to figure out whether a
given batch can succeed or not (just like the aperture check).

Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: Eric Anholt <eric@anholt.net>
(cherry picked from commit 2fa5f28eee)
2009-02-15 17:03:17 +10:00
Eric Anholt
dd027724ba intel: Retry pin ioctl on -EINTR.
(cherry picked from commit 02445eab64)
2009-02-15 17:03:17 +10:00
Owain G. Ainsworth
f78fda0c31 Remove drmModeReplaceFb after it was removed from the kernel.
It is impossible to replace the original semantics of this call purely
in userland, since the fb_id would change.

after discussion with Dr_Jakob

Signed-Off-By: Owain Ainsworth <oga@openbsd.org>
Acked-By: Jakob Bornecrantz <jakob@vmware.com>
2009-02-15 17:03:17 +10:00
Jesse Barnes
7df60d46fd libdrm: add autoconf check for clock_gettime
Should be more portable this way.
(cherry picked from commit badc63464c)
2009-02-15 17:03:16 +10:00
Jesse Barnes
3e4b9e9727 libdrm: only check for vblank timeout if we caught EINTR
Michel caught a case where we might overwrite a success or other return
value with EBUSY, so check the return value before checking for the
timeout condition.
(cherry picked from commit ca37077fb7)
2009-02-15 17:03:16 +10:00