Commit graph

4364 commits

Author SHA1 Message Date
Alex Deucher
79754dd826 radeon: add new pci ids 2009-03-19 20:24:48 -04:00
Alex Deucher
3085912035 radeon: sync up with more changes from drm-next tree
- pull in some fixes
- restructure r6xx/r7xx code to match drm-next
2009-03-16 15:48:07 -04:00
Alex Deucher
3966e5584f radeon: irq fixes for rs600 2009-03-15 12:05:18 -04:00
Dave Airlie
06c0fea8bb drm/radeon: r600 ptes are 64-bit, cleanup cleanup function.
Signed-off-by: Dave Airlie <airlied@redhat.com>
2009-03-13 10:54:21 -04:00
Dave Airlie
36d30bc75d drm/radeon: don't call irq changes on r600 suspend/resume
Until we sort out r600 IRQs don't do this.

Signed-off-by: Dave Airlie <airlied@redhat.com>
2009-03-13 10:52:32 -04:00
Dave Airlie
abed41e108 drm/radeon: fix r600 writeback across suspend/resume
This update was done in mainline radeon, but not in the r600.

Signed-off-by: Dave Airlie <airlied@redhat.com>
2009-03-13 10:50:29 -04:00
Dave Airlie
7a2f958dc9 drm/radeon: fix r600 writeback setup.
This fixes 2 bugs:
1. the AGP calculation wasn't consistent with the PCI(E) calc for the
RPTR_ADDR registers. This consolidates the writes and fixes it up.

2. The scratch address was being incorrectly calculated, this breaks
it out into a lot more linear steps.

Signed-off-by: Dave Airlie <airlied@redhat.com>

pull in from drm-next
2009-03-09 11:11:40 -04:00
Dave Airlie
f80b83278f drm/radeon: fix r600 pci mapping calls.
This realigns the r600 pci mapping calls with the ati pcigart ones,
fixing the direction and using the correct interface.

Suggested by Jerome Glisse.

Signed-off-by: Dave Airlie <airlied@redhat.com>

pulled in from drm-next
2009-03-09 11:03:36 -04:00
Alex Deucher
cee25efa7d R6xx/R7xx: remove extra padding on cache flush and wait_until
padding is properly taken care of in commit_ring
2009-03-09 10:59:27 -04:00
Alex Deucher
160d78a889 r6xx/r7xx: fix possible oops in r600_page_table_cleanup() 2009-03-07 18:25:18 -05:00
Alex Deucher
cf8196e6eb radeon: pull in ring padding form drm-next 2009-03-04 16:18:17 -05:00
Alex Deucher
189cd825a8 Revert "R6xx/R7xx: don't pad ring for IB age submission"
This reverts commit 7f96e792f4.

This is fixed in the DDX, EXA composite was leaking dma buffers
in some cases:
radeon: 4ad1c4decfee653dbbc1ea2ca4270487be622382
rhd: 9c8ab2dfbe61120298c4b46a2b49245c6779dbc2
2009-03-02 16:26:58 -05:00
Alex Deucher
7f96e792f4 R6xx/R7xx: don't pad ring for IB age submission
This fixes studdering on HD video playpack, but I don't
think it's the root cause.  This need more investigation,
maybe a larger ring for r6xx/r7xx?
2009-03-02 14:37:49 -05:00
Alex Deucher
e2f4c4a8ce R6xx/R7xx: fix AGP on 2.6.29 2009-02-25 16:07:43 -05:00
Pekka Paalanen
e5ef746f7b 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-25 13:02:11 -05:00
Alex Deucher
ce6bde7ab9 RS600: cleanup page table properly 2009-02-25 12:54:35 -05:00
Alex Deucher
b37a96750a RS600: fix gart setup 2009-02-25 12:43:54 -05:00
Alex Deucher
39de178f68 r6xx/r7xx: re-init vm regs on resume
should fix resume
2009-02-25 11:02:46 -05:00
Alex Deucher
18a2a0a4c6 RS600: fix MC addr mask
noticed by osiris on IRC
2009-02-24 09:49:40 -05:00
Alex Deucher
ac88916eea radeon: fix logic error 2009-02-23 11:55:52 -05:00
Alex Deucher
112ad16178 RS600: add initial support (untested)
The RS600 gart setup is more like R6xx/R7xx than older IGP chips.
If you have an RS600, please test!
2009-02-23 10:27:24 -05:00
Robert Noland
fc9ea629ed FreeBSD: Finish fixing up the r6/7xx build on FreeBSD.
Slightly modified version of a patch provided by vehemens.
2009-02-23 02:13:15 -06:00
Alex Deucher
993d387d75 radeon: make radeon_do_release() r6xx/r7xx safe 2009-02-19 12:02:37 -05:00
Alex Deucher
239acbbb27 R6xx/R7xx: pad VB age submission to 8 dwords
also switch to standard VB age check
2009-02-19 10:57:56 -05:00
Alex Deucher
62d391417d R6xx/R7xx: make sure to call radeon_freelist_reset() in engine_reset()
fixes VT switch
2009-02-18 18:58:39 -05:00
Alex Deucher
7d3f64a41d radeon: pad r6xx/r7xx ring submissions to 8 dwords 2009-02-16 19:27:19 -05:00
Alex Deucher
4fa339c480 radeon: r6xx/r7xx cleanups
- clean up some magic numbers
- add padding to flush/idle in CP_IDLE ioctl (probably not needed)
2009-02-16 19:11:38 -05:00
Alex Deucher
8447fbad20 radeon: fix cmdfifo handling for r7xx 2009-02-12 17:36:08 -05:00
Alex Deucher
48bbfae6dc radeon: fill in more r6xx/r7xx bits
- cp reset
2009-02-12 17:04:46 -05:00
Alex Deucher
458497b288 radeon: don't need to pad the ring for IBs 2009-02-11 18:28:45 -05:00
Alex Deucher
36d5bb53d8 radeon: fill in additional missing r6xx/r7xx bits
- wait for fifo
- engine idle
- engine reset
2009-02-11 18:21:37 -05:00
Alex Deucher
4cf376338c radeon: add more r6xx/r7xx pci ids 2009-02-08 20:12:22 -05:00
Alex Deucher
9e7982d71e radeon: add r6xx another pci id 2009-02-07 13:27:55 -05:00
Alex Deucher
6bb5c6a910 RADEON: add new rs780 id, fix rv710 id 2009-02-03 11:16:17 -05:00
Alex Deucher
fc2345f5ac radeon: add initial R6xx/R7xx AGP support
Many thanks to Christian Konig for testing and spotting a
few issues.
2009-02-02 10:25:27 -05:00
Alex Deucher
ba4e9f6397 R6xx/R7xx: move additional VGT setup to the drm
VGT_VERTEX_REUSE_BLOCK_CNTL and VGT_OUT_DEALLOC_CNTL
are setup based on the number of available backends and
shouldn't need to be changed again.
2009-01-29 13:45:12 -05:00
Alex Deucher
240b6ab7c7 R6xx/R7xx: turn off some debugging info 2009-01-23 01:47:59 -05:00
Sytse Wielinga
fd3b361a54 Fix R6xx/R7xx drm support with CONFIG_X86_PAT enabled
Signed-off-by: Sytse Wielinga <s.b.wielinga@student.utwente.nl>
Acked by: Alex Deucher <alexdeucher@gmail.com>
2009-01-13 10:44:16 -05:00
Alex Deucher
520d361cde r6xx/r7xx: Build and warning fixes 2008-12-29 19:18:27 -05:00
Robert Noland
4236f11f52 Clean up a few more warnings. 2008-12-29 18:11:37 -05:00
Robert Noland
0ceeead628 avoid uninitialized use warning 2008-12-29 18:11:37 -05:00
Robert Noland
97f8eb6bc0 use upper_32_bit macro to handle 32/64 bit archs. 2008-12-29 18:11:37 -05:00
Robert Noland
371af62c9a Replace udelay() with DRM_UDELAY() 2008-12-29 18:11:37 -05:00
Jesse Barnes
b18b276906 Remove executable from modeprint test dir
Accidentally committed it with the mode setting changes.
2008-12-29 18:11:37 -05:00
Alex Deucher
8da42ddc44 RADEON: small RV710 fix 2008-12-29 17:57:43 -05:00
Matthias Hopf
ddb2af4fae RADEON: remove drm master requirement for indirect ioctl
allows r600_demo to work
2008-12-29 15:38:10 -05:00
Alex Deucher
52990ecb36 RADEON: Initial DRM support for r6xx/r7xx hw
- Initial support written by Dave Airlie
- Bug fixes, gfx init, and r7xx support by me
2008-12-29 15:35:37 -05:00
Robert Noland
58d557c73b [FreeBSD] Fix build on FreeBSD after modesetting import. 2008-12-23 13:56:23 -05:00
Dave Airlie
b48bd3a036 radeon: only write irq regs if irq is enabled 2008-12-23 11:30:37 +10:00
Eric Anholt
dfd7fdafd8 intel: Rename plane[AB]* back to pipe[AB]*.
The values are really going to continue meaning pipe, not plane, and that's
what they're called in the kernel copy of the header.  Userland hasn't ever
made the switch to pipe!=plane, since userland checks are based on DRM
version, which is still stuck at 1.6.  However, Mesa did start using
plane[AB] names, so provide a compat define.
2008-12-22 16:03:35 -08:00