drm-snapshot: Changes to 'upstream-experimental'
New branch 'upstream-experimental' available with the following commits:
commit 6905c7a29d2a3bc0e605a09b98ac02a4a50893d0
Author: Dennis Kasprzyk <onestone@opencompositing.org>
Date: Thu Jun 5 17:08:44 2008 +0200
radeon: Restore software interrupt on resume.
Fixes performance drop after suspend/resume on some systems.
commit ba7263b8c2f8c14c647da725ecbc73fcd456d63c
Author: Michel Dänzer <michel@tungstengraphics.com>
Date: Tue Jun 3 11:28:10 2008 +0200
vblank: Don't wait or update the counter while the CRTC is supposedly disabled.
Without kernel modesetting, this requires cooperation of the userspace
modesetting driver. We may have to leave the vblank interrupt enabled otherwise
to avoid problems.
commit 237172b7670611b36d92be3b92983674846f6564
Author: Michel Dänzer <michel@tungstengraphics.com>
Date: Tue Jun 3 11:28:10 2008 +0200
vblank: Clean up compensation for spurious wraparounds of driver counter.
Only compensate when the driver counter actually appears to have moved
backwards.
The compensation deltas need to be incremental instead of absolute; drop the
vblank_offset field and just use atomic_sub().
commit d1dcb2b32e0c51d7cbcaa2ba1e0544452cf8f47b
Author: Michel Dänzer <michel@tungstengraphics.com>
Date: Tue Jun 3 11:28:09 2008 +0200
vblank: Special-case driver vblank counter going back by 1.
Turns out the radeon driver is affected by the same problem that prompted i915
to revert to less useful counter flipping at the end of the vblank interval. In
the long term, we can hopefully implement more reliable methods to achieve
counter flipping at the beginning of vblank, but otherwise this should be an
acceptable workaround.
commit 0144ebeb8a713b1420d35004075037cd4b0495a1
Author: Michel Dänzer <michel@tungstengraphics.com>
Date: Tue Jun 3 11:28:09 2008 +0200
vblank: Don't return current sequence number and time if interrupted by signal.
commit 6b520005c6714d8a8afa68b8a43065a40da298cc
Author: Michel Dänzer <michel@tungstengraphics.com>
Date: Tue Jun 3 11:27:39 2008 +0200
Revert "don't copy back if an error was returned."
This reverts commit 6671ad1917698b6174a1af314b63b3800d75248c.
The vblank ioctl needs to update the userspace parameters when interrupted by
a signal, which was prevented by this. Let's see if this breaks other ioctls...
commit d5ae19ebcf2dc6402872e0575b5786b6e8117b6f
Author: Dave Airlie <airlied@redhat.com>
Date: Tue Jun 3 12:42:49 2008 +1000
drm: sg alloc should write back the handle to userspace
commit f1e12d40af6ce9b6159c28529bcbdc877c565c82
Author: Dave Airlie <airlied@redhat.com>
Date: Tue Jun 3 12:40:54 2008 +1000
drm/ati_pcigart: use proper page mapping function
This should be pci_map_page not pci_map_single
commit 416754f1cc5a55b1c6b2d2fa2f501b18462d62e6
Author: Robert Noland <rnoland@wombat.2hip.net>
Date: Sun Jun 1 19:34:29 2008 -0400
[FreeBSD] Declare vblank_disable_fn callout MPSAFE.
commit 4ce47fd328cd885d66abdd42db1f7c054bd44498
Author: Robert Noland <rnoland@wombat.2hip.net>
Date: Sun Jun 1 16:17:31 2008 -0400
[FreeBSD] Get rid of vbl_lock and re-use irq_lock.
commit ac4da869285173ad0ac947bdf41ffe10efe21c05
Author: Robert Noland <rnoland@wombat.2hip.net>
Date: Sun Jun 1 12:56:34 2008 -0400
[FreeBSD] Add symlink for radeon_microcode.h
commit 2186f9f6eff4b3b4f605d35a030c0910646865ab
Author: Robert Noland <rnoland@wombat.2hip.net>
Date: Sun Jun 1 12:49:20 2008 -0400
[FreeBSD] Call drm_vblank_cleanup during irq uninstall
I needed to re-arrange some functions for this.
Also needed to call DRM_SPINUNINIT on the vbl_lock during cleanup.
commit a12cbf8aa5cf21d30bd2c798ff059cb1ba92b382
Author: Alex Deucher <alex@botchco.com>
Date: Fri May 30 18:20:01 2008 -0400
RADEON: fix typo in last commit
commit 6e8a2cff66ac0d6afaf9bb233bc81449c2014078
Author: Dave Airlie <airlied@linux.ie>
Date: Fri May 30 20:27:31 2008 +1000
r500: attempt to make AGP work by programming agp base in the MC correctly
commit 5b86823fa36513f521412a38c240cb18f02dcc9a
Author: Dave Airlie <airlied@redhat.com>
Date: Wed May 28 11:12:57 2008 +1000
radeon: split microcode out into a separate header file.
commit 0c8a8db1b6c97dd0fad18bd72a1bc56e2a673a10
Author: Dave Airlie <airlied@redhat.com>
Date: Wed May 28 10:28:13 2008 +1000
i915: fix BSD bh, DRI2 not uses anywhere else
commit c06096d34fa4afb3f24d610ccfb385f92dbc1e83
Author: Dave Airlie <airlied@redhat.com>
Date: Wed May 28 10:02:20 2008 +1000
radeon: bump release date/version for r500 3D support
commit 59c953245c583bb1062d3a8409a9b615a3a19654
Author: Alex Deucher <alex@botch2.com>
Date: Tue May 27 18:33:33 2008 -0400
RADEON: add get_param for number of GB pipes
commit df127c303d944720937fa6b54a8a9f84bc2fe518
Author: Owain Ainsworth <oga@stephanie.cybernetseraph.org>
Date: Tue May 27 15:12:35 2008 -0700
[BSD] Move unlock in drm_vm.c from accidental platform #ifdeffing.
Also remove an unreachable unlock.
commit cc7ad27fe414cdf87b7561778a766a012541f116
Author: Owain Ainsworth <oga@stephanie.cybernetseraph.org>
Date: Tue May 27 15:11:25 2008 -0700
[BSD] Fix lock leak in drm_update_draw malloc failure path.
commit 9a2ae28fbe0e1e5cce0a5d89fbcc84fbdba1206e
Author: Owain Ainsworth <oga@stephanie.cybernetseraph.org>
Date: Tue May 27 15:07:04 2008 -0700
[BSD] Fix lock leaks in error paths in drm_bufs.c.
commit 200ac59573b43abd112d27a1ddda3c124ba9db2a
Author: Owain Ainsworth <oga@stephanie.cybernetseraph.org>
Date: Tue May 27 14:59:38 2008 -0700
[BSD] Remove superfluous recursive locking in drm_add_magic.
commit e45f95a03b7242115030a74ab27b142bc5c004c4
Author: Jie Luo <clotho67@gmail.com>
Date: Tue May 27 14:55:01 2008 -0700
[i915] Fix typo in (unused) START_ADDR definition.
commit 8cd045079e21093437b99cb150b97403e945d2c2
Author: Robert Noland <rnoland@2hip.net>
Date: Fri May 23 14:36:05 2008 -0400
[FreeBSD] Add vblank-rework support and get drivers building.
The i915 driver now works again.
commit ad8eb0ed01d96cc16cdafd3b48c0f0cd73d315b4
Author: Eric Anholt <eric@anholt.net>
Date: Tue May 27 14:12:51 2008 -0700
[FreeBSD] Convert from drm_device_t to struct drm_device for consistency.
commit 49075b678fad6c3a5cadd1af67a37332b9255ace
Author: Dave Airlie <airlied@redhat.com>
Date: Fri May 23 09:39:54 2008 +1000
r500: add two more register ranges for mesa driver to setup
commit 74a9ea896e4c3f4bb3c7195872755ad40da30828
Author: Dave Airlie <airlied@redhat.com>
Date: Thu May 15 11:13:03 2008 +1000
drm: fix nouveau warning
commit 91c6c4b2403caca80273e8010e9ced74cf900be3
Author: Dave Airlie <airlied@redhat.com>
Date: Wed May 21 20:14:45 2008 +1000
rs690/r500: vblank support.
The new display controller has the vblank interrupts in a different place.
Add support for vbl interrupts for these chips
commit 83996561061b99bb490fa0692a491ac9e51245a1
Author: Dave Airlie <airlied@redhat.com>
Date: Sat May 17 10:22:12 2008 +1000
r500: add more register ranges for Mesa driver
commit a09c0bbe11004a020d0fac47f7517db55fb91754
Author: Dave Airlie <airlied@redhat.com>
Date: Wed May 14 22:48:12 2008 +1000
ati_pcigart: oops wrong way around not that it actually mattered
commit 4c6ec02eb8b1a5723f1a00dc420740d440a9ee0d
Author: Dave Airlie <airlied@redhat.com>
Date: Wed May 14 22:44:22 2008 +1000
ati_pcigart: stop working in the evenings you mess up too often
commit 2712cdeec319d73187a6cccb06522a4125eef619
Author: Dave Airlie <airlied@redhat.com>
Date: Wed May 14 22:43:28 2008 +1000
Revert "ati_pcigart: fixup properly this version might even work"
This reverts commit bc0836e12a9790f1cc83f8bc29bc05043c4bc840.
tree has some kref hacks in it - oops
commit bc0836e12a9790f1cc83f8bc29bc05043c4bc840
Author: Dave Airlie <airlied@redhat.com>
Date: Wed May 14 22:42:21 2008 +1000
ati_pcigart: fixup properly this version might even work
commit dd1f33f83cbbb9917e13f194fadda4f7066ea98a
Author: Dave Airlie <airlied@redhat.com>
Date: Wed May 14 22:35:32 2008 +1000
ati_pcigart: fill out 40-bit gart table support properly
Thanks to Alex for supplying this info.
commit caace3692f3121dcc18fa5e9260ffe1a4abbb943
Author: Alex Deucher <alex@cube.(none)>
Date: Tue May 13 21:02:17 2008 -0400
RS4xx: separate out RS400 and RS480 IGP chips
RS400 (intel based IGP) and RS480 (AMD based IGP) have
different MC and GART setups. Currently we only support
RS480.
commit 10d754f0a2ba2bdda87c243305c8fc46616e965c
Author: Alex Deucher <alex@cube.(none)>
Date: Mon May 12 14:49:43 2008 -0400
RADEON: fix copy/pasto in last commit
commit 75bc739bee366b8e0520c61c9b9cc10b94524525
Author: Alex Deucher <alex@cube.(none)>
Date: Mon May 12 09:44:20 2008 -0400
R3/4/5: init pipe setup in drm
Similar (broken) code in mesa needs to be removed
commit e16a7101e809aa816463547e0c0284853b0247ed
Author: Alex Deucher <alex@cube.(none)>
Date: Mon May 12 09:35:06 2008 -0400
RADEON: cleanup radeon_do_engine_reset()
commit 5532b8d2a006451555c4f1309987e62971660cea
Author: Alex Deucher <alex@cube.(none)>
Date: Mon May 12 09:30:47 2008 -0400
R300+: fixup pixcache flush
commit 3582e82f140cdae947864af8403674e6e117588e
Author: Alex Deucher <alex@cube.(none)>
Date: Mon May 12 09:24:13 2008 -0400
RS4xx: fix MCIND index mask
commit d26af273f8558c8ee6eca1914b35bfd174129da7
Author: Alex Deucher <alex@cube.(none)>
Date: Mon May 12 09:21:45 2008 -0400
RADEON: write AGP_BASE_2 on chips that support it
commit c307e50724c8d0d88b9ac1788de02b8478261967
Author: Alex Deucher <alex@cube.(none)>
Date: Mon May 12 09:18:28 2008 -0400
R300+: fixup PURGE/FLUSH macros
commit fb9eaff74712b7b29a7e76209d803fec21c0318c
Author: Alex Deucher <alex@cube.(none)>
Date: Mon May 12 09:13:44 2008 -0400
Radeon IGP: merge RS4xx/RS6xx gart setup
commit 68b7f550ba140d275c6f9bb26c2186069354be24
Author: Alex Deucher <alex@cube.(none)>
Date: Mon May 12 09:00:40 2008 -0400
Radeon IGP: wrap MCIND access
first step in merging rs4xx/rs6xx gart setup
commit a34025ce227e8755505b483b1a77c4cf5d7fece5
Author: Alex Deucher <alex@cube.(none)>
Date: Mon May 12 08:56:11 2008 -0400
Radeon IGP: clean up registers and magic numbers
commit b44f2da380e78769b58c751e81f376f0fa1f48aa
Author: Dave Airlie <airlied@linux.ie>
Date: Wed May 7 15:10:23 2008 +1000
drm: nopage compat fixup for drm_vm
The kernel has removed nopage so move the old nopage codepaths into a compat vm file and switch to using the fault paths.
nopfn is on its way out in the future also, so we should switch to using fault
for that path as well soon
commit d015219bd0b25f367be23e5df8355f479ee53a0f
Author: Dave Airlie <airlied@redhat.com>
Date: Mon May 5 16:49:04 2008 +1000
r500: add allowed range for us config/pixsize
commit 3ac74f3208ed15a990a0a26742fbfe566f08aa80
Author: Ben Skeggs <skeggsb@gmail.com>
Date: Fri May 2 01:36:30 2008 +1000
nv50: enable 0x400500 bit 0 after PGRAPH exception also
No solid idea about what these 2 bits do, but nv50 can now survive a few
PGRAPH exceptions just as nv40 does :)
commit 6d8062ac1e048c3643d3a9d2432e497e17f717de
Author: Ben Skeggs <skeggsb@gmail.com>
Date: Fri May 2 01:03:51 2008 +1000
nouveau: guard against channels potentially not having a context, fix nv50
commit 77d20928b330acda5b6ceb469f50757b5300702b
Author: Ben Skeggs <skeggsb@gmail.com>
Date: Fri May 2 00:53:42 2008 +1000
nouveau: disable all card interrupts when unknown PFIFO IRQ occurs.
This is possibly temporary. I can trigger an unending IRQ storm on G8x
in some circumstances, and have no idea how to handle that particular PFIFO
exception correctly yet.
commit 5c4c778c0d7d3f4749efade3b1023b8b22c029a9
Author: Ben Skeggs <skeggsb@gmail.com>
Date: Fri May 2 00:52:21 2008 +1000
nouveau: restore original NV_PFIFO_CACHES_REASSIGN value in fifo handler
Doesn't fix any issue I've seen, but is a potential issue if a FIFO IRQ
occurs during channel creation/takedown.
commit bfbe4ade3253330bd0c625d50fa2e7b5cb62dada
Author: Ben Skeggs <skeggsb@gmail.com>
Date: Fri May 2 00:50:21 2008 +1000
nouveau: gather nsource in trap_info()
The IRQ handling stuff really is a mess.. On the TODO :)
commit e317dfdabfb836165fbe3b006e53a88a1bc7c264
Author: Ben Skeggs <skeggsb@gmail.com>
Date: Fri May 2 00:06:22 2008 +1000
nv50: PGRAPH exception handling completely different from earlier chips
commit b92efd59565b9c63734b762b9d2be46447309007
Author: Ben Skeggs <skeggsb@gmail.com>
Date: Thu May 1 23:47:42 2008 +1000
nv50: I cave... Add nv84 initial context values.
I swore I'd actually do this properly and not go the horrible route
we did with nv4x, but I won't get around to it just yet with so many
*actually* interesting things to do first.. One day.
Since someone already added nv86, why not!
commit cb33133ef354b77a8cf06b16ce95a0babbe8bc6f
Author: Jesse Barnes <jbarnes@jbarnes-d500.(none)>
Date: Tue Apr 29 12:36:04 2008 -0700
i915: fix off by one in VGA save/restore of AR & CR regs
Turns out it's important to save/restore AR14 in particular.
commit f31e04a96013c059fc90c98a878de14adbea524a
Author: Maarten Maathuis <madman2003@gmail.com>
Date: Tue Apr 29 19:34:22 2008 +0200
nouveau: NV9x cards exist as well.
commit 7f8e4060859651993921281445ec00940c577222
Author: Jesse Barnes <jbarnes@hobbes.(none)>
Date: Sun Apr 27 09:42:17 2008 -0700
Use fixed sized types in new ioctls
Make both crtc and the command argument 32 bits to avoid any 32-on-64 compat
issues.
commit b45fe49bcd989be4e1327c13dd734410b395761c
Author: Jesse Barnes <jbarnes@jbarnes-t61.(none)>
Date: Sat Apr 26 17:11:18 2008 -0700
Enum-ectomy of vblank modesetting ioctl
Enum can be of pretty much any size since C leaves the choice of size up to the implementation. So avoid using it in new interfaces like the vblank pre- & post-modeset ioctl. Thanks to hch for spotting this.
commit 10b9a116a7b7fe3acf0848de9e0cf40f8e1bcd75
Author: Thomas Hellstrom <thomas-at-tungstengraphics-dot-com>
Date: Wed Apr 23 17:33:09 2008 +0200
Don't disable IRQs, just tasklets, when taking the drm lock spinlock.
commit 9ba3aaaa1a22663ec3d8d9d1792edf10a25d0ad7
Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
Date: Wed Apr 23 12:43:30 2008 +0200
Fixed unlock check on EAGAIN
commit feff72929e94b6c17e352a2ec86b3440b9edf059
Author: Xiang, Haihao <haihao.xiang@intel.com>
Date: Wed Apr 23 17:17:16 2008 +0800
i915: fix for compatibility mode
commit b3967765c082c4fae1954ec70474fb428ef42c70
Author: Pekka Paalanen <pq@iki.fi>
Date: Sun Apr 20 20:47:38 2008 +0300
linux-core Makefile: add GIT_REVISION
This tries to automatically fetch a git revision string and if succeeds,
it #defines GIT_REVISION string macro. Packagers can override it by
'make GIT_REVISION=foo'.
Update Nouveau to use GIT_REVISION, if defined, instead of DRIVER_DATE
in struct drm_driver.
Signed-off-by: Pekka Paalanen <pq@iki.fi>
commit ce8c8425185cfe0390230b7b537f2e0514c721c6
Author: Dave Airlie <airlied@linux.ie>
Date: Tue Apr 22 16:08:17 2008 +1000
i915: gfx hw and i945gme fixes from upstream
From Jesse and Zhenyu originally.
commit f0e38f521790becbf9ca13ef5c579d12c6985d52
Author: Keith Packard <keithp@keithp.com>
Date: Sun Apr 20 16:10:05 2008 -0700
[I915] Handle tiled buffers in vblank tasklet
The vblank tasklet update code must build 2D blt commands with the
appropriate tiled flags.
commit 21dbba5a227e20dd64ce300cc78927e139a684dd
Author: Keith Packard <keithp@keithp.com>
Date: Sun Apr 20 01:55:57 2008 -0700
On I965, use correct 3DSTATE_DRAWING_RECTANGLE command in vblank
The batchbuffer submission paths were fixed to use the 965-specific command,
but the vblank tasklet was not. When the older version is sent, the 965 will
lock up.
commit 1ad1bd5bd95db71500edfcea8b46421d7f3cdb15
Author: Thomas Hellstrom <thomas-at-tungstengraphics-dot-com>
Date: Mon Apr 14 13:52:33 2008 +0200
Fix buffer object map wait error.
Add some branch prediction hints.
commit c5955c652302d66719984cb5a218cb590c74ad42
Author: Thomas Hellstrom <thomas-at-tungstengraphics-dot-com>
Date: Mon Apr 14 12:10:50 2008 +0200
Fix buffer object creation validation.
BO lock fixes.
commit c9b73ef6daff75df27d17260a9fc84e68f1b21b4
Author: Thomas Hellstrom <thomas-at-tungstengraphics-dot-com>
Date: Sun Apr 13 14:49:14 2008 +0200
Unlock the BO mutex while waiting for idle, unmapped, unfenced.
Move unfenced checking into idle checking.
Never time out while waiting for software events like unmapped or unfenced.
commit 65dd0e68ff0e0e354925adb7d5fffeb0ffbb485c
Author: Thomas Hellstrom <thomas-at-tungstengraphics-dot-com>
Date: Fri Apr 11 09:36:12 2008 +0200
Fix up buffer manager locking.
commit b986d7d2c9090fc62c1853f62886dd124e8066c1
Author: Keith Packard <keithp@keithp.com>
Date: Thu Mar 27 11:40:04 2008 -0700
Save and restore dsparb and d_state regs
commit db61f02bd7e4b9d5ac416f1ef98bac1bd4d984bc
Author: Patrice Mandin <pmandin@caramail.com>
Date: Mon Apr 7 22:24:24 2008 +0200
Missing KERNEL_VERSION macro
commit 27c3785d3f12743a9e160238a4d00353060ec2f2
Author: Hasso Tepper <hasso@estpak.ee>
Date: Mon Apr 7 15:27:43 2008 +0300
Add DragonFly BSD support for device creation
DragonFly behaves just like FreeBSD in this regard.
commit dfa9f0399223d86a6478bf93be879da476f93eda
Author: Ben Skeggs <skeggsb@gmail.com>
Date: Mon Apr 7 13:29:11 2008 +1000
nouveau: enable accelerated move to sysmem
commit c12b60b5094fe97db60cd0f18fafd1720679bd38
Author: Ben Skeggs <skeggsb@gmail.com>
Date: Mon Apr 7 13:05:51 2008 +1000
nouveau: enable m2mf for tt<->vram moves, fix fence_poll
commit e89710bef7691e4e9d0bc7d427542bfae6ce4258
Author: Thomas Hellstrom <thomas-at-tungstengraphics-dot-com>
Date: Sun Apr 6 11:21:22 2008 +0200
Place highmem pages last in the ttm page array.
commit c3888b97f60fbbc0b1382e5a16689eecaa2f79a5
Author: Thomas Hellstrom <thomas-at-tungstengraphics-dot-com>
Date: Sun Apr 6 10:32:02 2008 +0200
Use clflush() when available for cache flushing.
commit 51a0fdcf3fef5af57938d9958efd698e96d78803
Author: Thomas Hellstrom <thomas-at-tungstengraphics-dot-com>
Date: Sun Apr 6 09:46:29 2008 +0200
[I915] Fix VRAM eviction.
commit 87ae5b22e3120d205f520a99cea31743903d49a2
Author: Thomas Hellstrom <thomas-at-tungstengraphics-dot-com>
Date: Sun Apr 6 09:33:50 2008 +0200
Fix emergency allocation accounting.
commit 1692d30cea263a084bfea824cd8638000e97bc57
Author: Maarten Maathuis <madman2003@gmail.com>
Date: Sat Apr 5 21:02:00 2008 +0200
nv50: primitive i2c interrupt handler
commit 3fc444a5e8e35ffec7a1426c80c9644e5777ddbe
Author: Maarten Maathuis <madman2003@gmail.com>
Date: Thu Apr 3 01:13:31 2008 +0200
nv50: primitive display interrupt handler.
commit 562f95ea96f08e1d73a872dc87237614292c873a
Author: Dave Airlie <airlied@redhat.com>
Date: Mon Mar 31 11:34:48 2008 +1000
nouveau: fix return from function..
dude kernel moduless use kernel errors :)
this fixes an oops on init when this codepath hits.
commit 22d931f9664e1857e07ce7ab8aad760a4a22f15e
Author: Thomas Hellstrom <thomas-at-tungstengraphics-dot-com>
Date: Sun Mar 30 21:30:43 2008 +0200
Initialize the fence::error member.
commit 1f4ba62567d32fdd32786273326e1aab17d5d412
Author: Thomas Hellstrom <thomas-at-tungstengraphics-dot-com>
Date: Sun Mar 30 15:14:45 2008 +0200
[i915] Report buffer state _after_ fence submission to user-space.
This fixes a problem where the wrong bo->fence_type was reported, and
also saves some memory space.
[bo core] export the drm_bo_fill_rep_arg function.
commit b8567bafff58cfb9d77145088fd5b8ad2e5cde6b
Author: Thomas Hellström <thomas@linlap0.(none)>
Date: Thu Mar 6 17:35:56 2008 +0100
Don't call fence::poll during irq if there are no waiters.
commit cf3c0123a038a825d478fa10e29cd7490bab369e
Author: Maarten Maathuis <madman2003@gmail.com>
Date: Sun Mar 30 14:50:41 2008 +0200
nouveau: forgot to add a break
commit 68b83a88135cd236be220dafde65c877e396eb0d
Author: Maarten Maathuis <madman2003@gmail.com>
Date: Sun Mar 30 14:46:45 2008 +0200
nouveau: Add ctx values for nv86.
- Note that this may not work for all nv86.
commit 753a4bdf1b554490f7b288c0203050b5114433c3
Author: Dave Airlie <airlied@redhat.com>
Date: Sun Mar 30 07:33:39 2008 +1000
drm/r300: fix wait interface mixup
This interface was defined completely wrong, however userspace has only
ever used 4 values from it (0x1, 0x2, 0x3 and 0x6), so fix the interface to do what userspace actually expected but define new defines for new users to use
it properly.
commit 1674d2817929fe4ee4e1c4762e89600119dbdc50
Author: Oliver McFadden <z3ro.geek@gmail.com>
Date: Sat Mar 29 17:25:44 2008 +0000
r300: Correctly translate the value for the R300_CMD_WAIT command.
Previously, the R300_CMD_WAIT command would write the passed directly to the
hardware. However this is incorrect because the R300_WAIT_* values used are
internal interface values that do not map directly to the hardware.
The new function I have added translates the R300_WAIT_* values into appropriate
values for the hardware before writing the register.
Thanks to John Bridgman for pointing this out. :-)
commit a81d07f64d7557da3c4888867a20d2eec94b4ec1
Author: Stuart Bennett <sb476@cam.ac.uk>
Date: Tue Mar 25 18:30:05 2008 +0000
nouveau: nv20 bios does not initialise PTIMER
The wait functions depend on PTIMER, so write the old (incorrect, but working) values for uninitialised hw
commit b0817a42e789a83454e6acba0578116829e2bf51
Author: Dave Airlie <airlied@redhat.com>
Date: Mon Mar 24 18:52:26 2008 +1000
i915: fix oops on agp=off
Kernel bug 10289.
commit 4323ee3e5b263a1dc8cfdf72485a20a3c1d8f144
Merge: a244d2905052d3263bdcc26b295558a354702b89 36e11dd3801734ff5af9f5edb7aa698f0e2c49c2
Author: Dave Airlie <airlied@redhat.com>
Date: Mon Mar 24 18:47:50 2008 +1000
Merge branch 'r500-fp'
commit a244d2905052d3263bdcc26b295558a354702b89
Author: Ben Skeggs <skeggsb@gmail.com>
Date: Mon Mar 24 03:22:42 2008 +1100
nouveau: silence warning
commit 24ba0c9c3bd0f160eb0c3a820fd407998f85fd55
Author: Ben Skeggs <skeggsb@gmail.com>
Date: Mon Mar 24 03:20:59 2008 +1100
nv40: voodoo - not quite.
commit 6f4b3de284e93e8fdb133f0aadfc86d298f45916
Author: Ben Skeggs <skeggsb@gmail.com>
Date: Mon Mar 24 03:13:05 2008 +1100
nv40: allocate massive amount of PRAMIN for grctx on all chipsets.
More or less a workaround for issues on some chipsets where a context
switch results in critical data in PRAMIN being overwritten by the GPU.
The correct fix is known, but may take some time before it's a feasible
option.
commit 36e11dd3801734ff5af9f5edb7aa698f0e2c49c2
Author: Dave Airlie <airlied@redhat.com>
Date: Fri Mar 21 16:59:52 2008 +1000
r500: fragment program upload is also used to upload constants.
Limit frag address to 8 bits
commit 316979356f05796c5bd5a47dfc29fe48d6874b49
Author: Dave Airlie <airlied@redhat.com>
Date: Thu Mar 20 14:20:53 2008 +1000
drm: fixup r500fp submission
commit 1021799b6ca6b195ad2d5f002e45668f69c44651
Author: Stuart Bennett <sb476@cam.ac.uk>
Date: Tue Mar 18 23:12:28 2008 +0000
nouveau: do not set on-board timer's numerator/denominator to bad values
commit 9e4f9082872838084a3c4f9661d65c12768d3dc4
Author: Alex Deucher <alex@cube.(none)>
Date: Wed Mar 19 15:37:56 2008 -0400
RADEON: switch over to new production microcode
This needs to be tested thoroughly before pushing to the
kernel.
commit d8af16d2a75f38dacb9b87a4b317790c88c6ba40
Author: Alex Deucher <alex@samba.(none)>
Date: Wed Mar 19 14:57:42 2008 -0400
RADEON: production microcode for all radeons, r1xx-r6xx
This updated microcode is not in use yet.
commit a3c808d8feff9dc379f71f971ca20ec3c686b0c0
Author: Dave Airlie <airlied@redhat.com>
Date: Wed Mar 19 16:10:37 2008 +1000
move some more r300 regs into not allowed on r500
commit d18c2c684229ec6923e1a578ae837f34e6b97422
Author: Dave Airlie <airlied@linux.ie>
Date: Tue Mar 18 09:07:45 2008 +1000
drm: add new rs690 pci id
commit 602800a280ecaf562427eada19b118b990ab26e1
Author: Thomas Hellstrom <thomas-at-tungstengraphics-dot-com>
Date: Mon Mar 17 11:37:10 2008 +0100
Evict cached_mapped relocatee before applying reloc.
Fix that got left out after the intel-post-reloc merge.
commit 3add9494037e7c88b5e5a476001176784d743a26
Author: Dave Airlie <airlied@redhat.com>
Date: Mon Mar 17 11:08:03 2008 +1000
initial r500 RS and FP register and upload code
commit 1f96e9a98245b18c99cc6a7e66372a076b9abf6b
Author: Dave Airlie <airlied@redhat.com>
Date: Mon Mar 17 07:05:46 2008 +1000
drm/pcigart: fix the pci gart to use the drm_pci wrapper.
This is the correct fix for the RS690 and hopefully the dma coherent work.
For now we limit everybody to a 32-bit DMA mask but it is possible for
RS690 to use a 40-bit DMA mask for the GART table itself,
and the PCIE cards can use 40-bits for the table entries.
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 1a2d8c4bfa96dd176ec084811ad286f95968ee52
Author: Thomas Hellstrom <thomas-at-tungstengraphics-dot-com>
Date: Sun Mar 16 20:07:14 2008 +0100
Avoid unnecessary waits for command regulator pause.
commit 3a3a9485aadced820f7619ef7f2a11e72782769f
Author: Thomas Hellstrom <thomas-at-tungstengraphics-dot-com>
Date: Sun Mar 16 11:44:35 2008 +0100
[via] Remove some leftover vars.
commit b81d7b3b8d7ca83a9b79d2dbea22f00e78180516
Author: Thomas Hellstrom <thomas-at-tungstengraphics-dot-com>
Date: Sun Mar 16 11:39:18 2008 +0100
[via] Allow a little larger stride for SG DMA DownloadFromScreen.
commit 7d3d15e67de27f7c47859f36bb55002f0c9d52d6
Author: Thomas Hellstrom <thomas-at-tungstengraphics-dot-com>
Date: Sun Mar 16 11:37:17 2008 +0100
[via] The millionth fixup for the millionth-1 attempt to stabilize the AGP
DMA command submission. It's worth remembering that all new bright ideas on how
to make this command reader work properly and according to docs
will probably fail :( Bring in some old code.
commit 563fe9dcd4d08de8864ade161258df891f3db471
Author: Thomas Hellstrom <thomas-at-tungstengraphics-dot-com>
Date: Sun Mar 16 11:29:57 2008 +0100
[via] Fix driver after vblank-rework merge.
commit afa803ee40c1d06066f58a34761be58ba03badb5
Author: Dave Airlie <airlied@redhat.com>
Date: Sun Mar 16 15:01:27 2008 +1000
ati: fix rs690 igp gart by allocating the page table in 32-bit memory
commit 5b1d9263d3c108be7360ccd3aeed4cc3a0bf1ada
Author: Dave Airlie <airlied@linux.ie>
Date: Sun Mar 16 14:00:16 2008 +1000
drm/rs690: set AGP_BASE_2 to 0
commit dd9eb923edd15284113dc12c05fb341ad60f1b46
Author: Dave Airlie <airlied@linux.ie>
Date: Sun Mar 16 12:58:07 2008 +1000
drm: set rs690 gart base completly.
The docs state bits 4-11 represent bits 32-39 of a 40-bit address
commit 76946ed83df2e39e3867538e54dc743fecb4f8e8
Author: Dave Airlie <airlied@linux.ie>
Date: Sun Mar 16 12:56:11 2008 +1000
drm: this u32 should be a dma_addr_t
doesn't fix anything but just making it consistent
commit 1ea8a470fe9103036817ae3a960522c37901bddc
Author: Alan Hourihane <alanh@tungstengraphics.com>
Date: Fri Mar 14 00:25:42 2008 +0000
fix build problems
commit ae1bb96a7e24362500e02cf3a86bd268c2dcc835
Author: Mike Isely <isely@pobox.com>
Date: Fri Mar 14 09:53:05 2008 +1000
drm: Fix race that can lockup the kernel
The i915_vblank_swap() function schedules an automatic buffer swap
upon receipt of the vertical sync interrupt. Such an operation is
lengthy so it can't be allowed to happen in normal interrupt context,
thus the DRM implements this by scheduling the work in a kernel
softirq-scheduled tasklet. In order for the buffer swap to work
safely, the DRM's central lock must be taken, via a call to
drm_lock_take() located in drivers/char/drm/drm_irq.c within the
function drm_locked_tasklet_func(). The lock-taking logic uses a
non-interrupt-blocking spinlock to implement the manipulations needed
to take the lock. This semantic would be safe if all attempts to use
the spinlock only happen from process context. However this buffer
swap happens from softirq context which is really a form of interrupt
context. Thus we have an unsafe situation, in that
drm_locked_tasklet_func() can block on a spinlock already taken by a
thread in process context which will never get scheduled again because
of the blocked softirq tasklet. This wedges the kernel hard.
To trigger this bug, run a dual-head cloned mode configuration which
uses the i915 drm, then execute an opengl application which
synchronizes buffer swaps against the vertical sync interrupt. In my
testing, a lockup always results after running anywhere from 5 minutes
to an hour and a half. I believe dual-head is needed to really
trigger the problem because then the vertical sync interrupt handling
is no longer predictable (due to being interrupt-sourced from two
different heads running at different speeds). This raises the
probability of the tasklet trying to run while the userspace DRI is
doing things to the GPU (and manipulating the DRM lock).
The fix is to change the relevant spinlock semantics to be the
interrupt-blocking form. After this change I am no longer able to
trigger the lockup; the longest test run so far was 20 hours (test
stopped after that point).
Note: I have examined the places where this spinlock is being
employed; all are reasonably short bounded sequences and should be
suitable for interrupts being blocked without impacting overall kernel
interrupt response latency.
Signed-off-by: Mike Isely <isely@pobox.com>
commit 9be916f3537599489e083437c9a948eb93004904
Author: Alex Deucher <alex@botch2.com>
Date: Wed Mar 12 11:16:12 2008 -0400
Fix chip family for RV550
commit 1766e1c07b03c6ccf545469663334be762c0bddf
Author: Ben Skeggs <skeggsb@gmail.com>
Date: Wed Mar 12 23:37:29 2008 +1100
nv50: force channel vram access through vm
If we ever want to be able to use the 3D engine we have no choice. It
appears that the tiling setup (required for 3D on G8x) is in the page tables.
The immediate benefit of this change however is that it's now not possible
for a client to use the GPU to render over the top of important engine setup
tables, which also live in VRAM.
G8x VRAM size is limited to 512MiB at the moment, as we use a 1-1 mapping
of real vram pages to their offset within the start of a channel's VRAM
DMA object and only populate a single PDE for VRAM use.
commit 88bd1e4a350d011ec44f6786e0bfdf8fb386800c
Merge: 2a618e5a7f6d26fe85e7d931d0ef08d9f18b1b7c 612c22f131a25915196e69d7ec1adb6f4ec84a60
Author: Thomas Hellstrom <thomas-at-tungstengraphics-dot-com>
Date: Wed Mar 12 11:34:29 2008 +0100
Merge branch 'intel-post-reloc'
Conflicts:
linux-core/drm_compat.c
linux-core/drm_compat.h
linux-core/drm_ttm.c
shared-core/i915_dma.c
Bump driver minor to 13 due to introduction of new
relocation type.
commit 2a618e5a7f6d26fe85e7d931d0ef08d9f18b1b7c
Author: Thomas Hellstrom <thomas-at-tungstengraphics-dot-com>
Date: Wed Mar 12 10:36:40 2008 +0100
Bug # 14712
Disable page saving for GPU read-only TTMs.
commit 5bebcd7a0b548b29a9859b2949b06662968cc868
Author: Thomas Hellstrom <thomas-at-tungstengraphics-dot-com>
Date: Wed Mar 12 10:19:36 2008 +0100
Dont allow !sysadmin clients to alter the memory type of
NO_EVICT buffers.
commit 88be276a427124cc545a7d89b137e4ae6dd79acb
Author: Alan Hourihane <alanh@tungstengraphics.com>
Date: Thu Jan 17 13:04:42 2008 +0000
Fix for debug memory routines
commit 32625774072f905d15024cc40ce7fd364d9ee4cd
Author: Alan Hourihane <alanh@tungstengraphics.com>
Date: Thu Jan 17 13:04:23 2008 +0000
Add error message
commit c0a1cd052ac44d1b342fa3f26afe1bd21d92b194
Author: Thomas Hellstrom <thomas-at-tungstengraphics-dot-com>
Date: Thu Jan 17 13:10:36 2008 +0100
Add an emergency pinnable memory quota for root-only processes.
commit 7bcce66a1d5c93ff9b9f20d45d5b2c33c8ca8da9
Author: Thomas Hellstrom <thomas-at-tungstengraphics-dot-com>
Date: Wed Mar 12 10:07:56 2008 +0100
Fix kernel crash when we hit OOM conditions.
(Alan Hourihane)
commit f1a681ebe5573c2ec7806ba4cb754314baef6935
Author: Thomas Hellstrom <thomas-at-tungstengraphics-dot-com>
Date: Wed Mar 12 10:02:09 2008 +0100
Avoid duplicate calls to drm_ttm_bind in some cases.
commit fa1d88e3b2de843f33c9d77c9d95db762a950a14
Author: Thomas Hellstrom <thomas-at-tungstengraphics-dot-com>
Date: Wed Mar 12 09:56:06 2008 +0100
Make sure other TTM memory types than TT is really unbound when evicted.
commit 8a18d123f55a7fb11ce333f0b1095020918b8616
Author: Thomas Hellstrom <thomas-at-tungstengraphics-dot-com>
Date: Thu Feb 28 09:08:52 2008 +0100
Avoid large kmallocs.
commit f13936f7fc4d4932d5c511ccec29f1c4d24dc2dc
Author: Stuart Bennett <sb476@cam.ac.uk>
Date: Tue Mar 11 00:33:58 2008 +0000
nouveau: move AGP reset to mem_init_agp
Also, power cycle PGRAPH when resetting AGP -- it seems to fix problems encountered by p0g on nv25
commit 07ba3b7193f1a50c3ef0509f9e37dab41457f81b
Reply to: