Commit graph

2277 commits

Author SHA1 Message Date
Dave Airlie
96982ffc09 radeon: fixup for kms api 2009-04-06 09:57:06 +10:00
Ben Skeggs
1e7d005aa0 nouveau: prevent fbcon notifier waits when unnecessary
It seems fbcon_sync will get called continually by something even while
not at a console, so ignore the call unless we've previously rendered
to the fbcon.
2009-03-25 14:59:07 +10:00
Ben Skeggs
f4cb7a7340 nv50: turn off crtcs in display_disable 2009-03-25 14:57:25 +10:00
Ben Skeggs
47c68ee6e4 nv50: enable dithering by default on lvds 2009-03-19 16:11:06 +10:00
Ben Skeggs
56887e62e7 nv50: some kms fixes 2009-03-19 16:11:05 +10:00
Ben Skeggs
4fec64f166 nv50: unpin cursor when not bound to a crtc 2009-03-19 16:11:05 +10:00
Ben Skeggs
abfe1738e0 nv50: pin/unpin framebuffer as required 2009-03-19 16:10:59 +10:00
Ben Skeggs
7e0ed73e0c nouveau: use nouveau_fence_channel() to get chan for m2mf move 2009-03-18 19:30:42 +10:00
Ben Skeggs
ec5abde7b3 nv50: kill off nv50_cursor 2009-03-18 19:21:57 +10:00
Ben Skeggs
d6f6108ad0 nv50: add update flag to set_dither() 2009-03-11 22:48:34 +10:00
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
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
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
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
Ben Skeggs
afac6a4ddc nouveau: hide instmem map, force use of {prepare,finish}_access 2009-02-22 11:38:41 +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
393494d9bd nv50: fix some fbcon corruption issues 2009-02-20 15:21:42 +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
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
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
Pekka Paalanen
3762c97c82 drm compat: fix euid for >=2.6.28
drm_fops.c reads the current process' EUID directly from task_struct.
Apparently starting in 2.6.28-rc4 this fails to build.

In Linus' tree, commit b6dff3ec5e116e3af6f537d4caedcad6b9e5082a
"CRED: Separate task security context from task_struct"
moves the euid field from task_struct to another struct.

Earlier commit 9e2b2dc4133f65272a6d3c5dcb2ce63f8a87cae9
"CRED: Introduce credential access wrappers" implements the wrapper
macros to access e.g. euid. This is in 2.6.27-rc4, and this contains the
definition of current_euid() that will be used in the DRM compatibility header
for kernels before 2.6.27. That commit also creates <linux/cred.h>, which
contains the upstream definition of current_euid().

drm_fops.c is fixed to use current_euid(), and drm_compat.h will offer
the compatibility definition for kernels <2.6.27.

Signed-off-by: Pekka Paalanen <pq@iki.fi>
2009-02-10 08:55:32 +10:00
Ben Skeggs
95fc1b0b52 nv50/kms: be less verbose without debug=1 2009-02-04 15:03:48 +10:00
Ben Skeggs
15ed426dd4 nv50/kms: use DRM_DEBUG 2009-02-04 15:03:48 +10:00
Ben Skeggs
988b805fd6 nv50/kms: oops, re-enable fbcon unregister, got disabled while debugging 2009-02-04 15:03:47 +10:00
Ben Skeggs
bf8181b78a nv50/kms: store dcb entry ptr & or in encoder struct, remove nv50_output.h 2009-02-04 15:03:47 +10:00
Ben Skeggs
5923c976fb nv50/kms: nv50_kms_ -> nv50_ 2009-02-04 15:03:47 +10:00
Ben Skeggs
cd2a87a682 nv50/kms: remove the last of nv50_kms_wrapper 2009-02-04 15:03:47 +10:00
Ben Skeggs
69beb9c191 nv50/kms: remove last bit of state mirroring 2009-02-04 15:03:46 +10:00
Ben Skeggs
0d7e613b66 nv50/kms: remove nv50_fb 2009-02-04 15:03:46 +10:00
Ben Skeggs
af8a76bd22 nv50/kms: get rid of nv50_fb_info 2009-02-04 15:03:46 +10:00
Ben Skeggs
f16514cccc nv50/kms: remove kms_priv 2009-02-04 15:03:46 +10:00
Ben Skeggs
8ed61cf557 nv50/kms: remove nv50_kms_get_scaling_mode() 2009-02-04 15:03:46 +10:00
Ben Skeggs
98e859f2f7 nv50/kms: remove redefinitions of scaling modes.. 2009-02-04 15:03:45 +10:00
Ben Skeggs
140a2da135 nv50/kms: remove or_counter, unused 2009-02-04 15:03:45 +10:00
Ben Skeggs
9f20d45d0a nv50/kms: clean up dcb_table usage a little 2009-02-04 15:03:45 +10:00
Ben Skeggs
d2b4a1fc8b nv50/kms: remove now unused fields from structs 2009-02-04 15:03:45 +10:00
Ben Skeggs
12f2125f11 nv50/kms: remove nv50_connector.type, also redundant 2009-02-04 15:03:44 +10:00
Ben Skeggs
c45ad75cd5 nv50/kms: remove nv50_output.type, it's redundant 2009-02-04 15:03:44 +10:00
Ben Skeggs
d84972f0eb nv50/kms: get rid of struct nouveau_mode 2009-02-04 15:03:44 +10:00
Ben Skeggs
ef42af67ce nv50/kms: merge nv50_kms_crtc and nv50_crtc 2009-02-04 15:03:44 +10:00
Ben Skeggs
1b6ff5a4db nv50/kms: merge nv50_output and nv50_kms_output 2009-02-04 15:03:44 +10:00
Ben Skeggs
4736d2172f nv50/kms: merge nv50_connector and nv50_kms_connector 2009-02-04 15:03:43 +10:00
Ben Skeggs
8e96ee5341 nouveau: bring in current mm implementation 2009-02-04 15:03:43 +10:00
Ben Skeggs
91a86bdc12 ttm: fix drm_fence_wait_polling timeout value 2009-02-04 13:27:54 +10:00