Commit graph

4341 commits

Author SHA1 Message Date
Ben Skeggs
13d7b06baf drm/nv50: use a slightly different initial context for nv96
I'm not 100% sure that the nv94 one we were using won't work.  The context
layouts are identical (well.. same ctxprog, so of course!), only a couple
of registers differ.  But, be safe until we actually get some 9xxx chips
working.
2009-02-10 09:07:28 +10:00
Ben Skeggs
8a60b2d6a8 drm/nv50: correct ramfc pointer in channel header
Suprisingly the card still worked without this...
2009-02-10 09:02:17 +10:00
Ben Skeggs
bc0e48baa3 nv50: support chipset NV96
ctxprog seen in okias' trace identical to one we use on NV94, assuming
the initial context values for NV94 will work here too.
2009-02-10 09:01:00 +10:00
Ben Skeggs
31caf2f9a9 drm/nv50: let the card handle the initial context switch
Our PFIFO/PGRAPH context save/load functions don't really work well
(at all?) on nv5x yet.  Depending on what random state the card is
in before the drm loads, fbcon probably won't work correctly.

Luckily we've setup the GPU in such a way that it'll actually do a
hw context switch for the first context.  Not sure of how successful
this'd be currently on the older chips (actually, pretty sure it won't
work), so NV50 only for now.
2009-02-10 08:57:21 +10:00
Ben Skeggs
2e7db8cc34 drm/nouveau: init fbcon after we flag the card as initialised 2009-02-10 08:56:17 +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
933995b1da drm/nouveau: store vram/gart object handles for each channel 2009-02-10 08:55:30 +10:00
Ben Skeggs
417c2c411f nv50: remove some badness, we bail in these situations now anyway 2009-02-06 05:29:14 +10:00
Ben Skeggs
1952a896d0 nouveau: fix some issues where buffer objects never get freed 2009-02-05 23:03:29 +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
68891ae2ef nouveau: install libdrm_nouveau with libdrm 2009-02-04 15:03:34 +10:00
Ben Skeggs
6ef7b032ea nouveau: bring in new mm api definitions, without the actual mm code
Use of the new bits is guarded with a mm_enabled=0 hardcode.
2009-02-04 13:28:39 +10:00
Ben Skeggs
34b74c06b6 nv50: ack nsource to prevent continuous protection fault irqs 2009-02-04 13:28:19 +10:00
Ben Skeggs
91a86bdc12 ttm: fix drm_fence_wait_polling timeout value 2009-02-04 13:27:54 +10:00
Dave Airlie
bbd5e64216 radeon: make dword writes be inlined
This moves the size checks to the begin section and makes dword
writes inline for all CS people.

Gets me back some of my CPU
2009-02-04 11:11:55 +10:00
Dave Airlie
98738555d1 radeon: add space accounting to cs code 2009-01-31 01:50:23 +10:00
Dave Airlie
e9298a02ac radeon: add bo_wait functionality 2009-01-13 16:48:04 +10:00
Dave Airlie
2b0c9c01c2 radeon: add new getparam to get pcidevice 2009-01-11 09:49:00 +10:00
Dave Airlie
d587c6f150 radeon: make name consistent with libdrm_intel 2008-12-22 12:26:56 +10:00
Dave Airlie
b3d4e7433d radeon: size the relocs correctly 2008-12-22 11:57:15 +10:00
Dave Airlie
c93f1c88ce radeon: drop more cs2 2008-12-19 16:44:22 +10:00
Dave Airlie
8c40a5c648 radeon: more cs2 removal 2008-12-19 16:43:01 +10:00
Dave Airlie
4b10ddff78 radeon: drop CS2 into CS, remove start/end offset 2008-12-19 16:31:55 +10:00
Jesse Barnes
12e68f8059 Merge branch 'master' into modesetting-gem 2008-12-03 11:54:07 -08:00
Jesse Barnes
d5d5aca7f9 Merge branch 'master' into modesetting-gem 2008-12-03 11:53:36 -08:00
Eric Anholt
b0d93c74d8 Bump version to 2.4.2 to signal new libdrm_intel functions. 2008-12-02 12:19:37 -08:00
Eric Anholt
6fb1ad767d intel: Add a function for setting (GTT,GTT) domain, for use by UXA.
This function can also serve the role that the bo_wait_rendering did, when
write_enable is unset.
2008-12-02 12:19:34 -08:00
Ben Skeggs
7e4e0fbbb8 nv50: support NV94 chipset 2008-11-23 18:49:09 +11:00
Ben Skeggs
52232ad702 nv50: update context-related tables for original 8800GTS
I either messed up when I pulled these from a mmio-trace last time, or
the previous values didn't work on my card.  Hopefully it's the former!

In any case, at least one of the original NV50 chipsets work now.
2008-11-21 13:18:58 +11:00