Commit graph

4365 commits

Author SHA1 Message Date
Alex Deucher
48b5f09534 RS780: Load the right firmware
copy paste error
2009-03-29 20:29:40 -04:00
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