Commit graph

1864 commits

Author SHA1 Message Date
Alex Deucher
0101127af0 radeon: Simplify the radeon microcode loading.
based on patch from Christoph Mallon
2009-04-06 18:01:40 -04:00
Alex Deucher
9858540fab Add support for RV790 (HD 4890) asics 2009-04-02 12:16:10 -04:00
Alex Deucher
c3c2ae466c Merge branch 'master' into r6xx-r7xx-support 2009-03-30 01:54:54 -04:00
Alex Deucher
48b5f09534 RS780: Load the right firmware
copy paste error
2009-03-29 20:29:40 -04:00
Stuart Bennett
c9cfeaa554 nouveau: plug drm fifo ioremap leak (#14941) 2009-03-25 02:50:34 +00:00
Stuart Bennett
03ca202fa5 nouveau: add linux compat defines for PCI config access, use them for nvidia IGPs 2009-03-25 02:50:34 +00:00
Stuart Bennett
b71f3f114e nouveau: use PFB_CSTATUS naming from ddx (reg introduced with nv10)
NV04 had a PFB_FIFO_DATA at the same address, which we don't use, so
remove it to reduce confusion
2009-03-25 02:50:34 +00: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
Robert Noland
6777c6bb8b FreeBSD: Don't set the PZERO flag to mtx_sleep.
We also don't support anything old enough to need tsleep.
2009-03-16 00:17:54 -05: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
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
Ben Skeggs
391c92ae17 drm/nouveau: make portion of vram as reserved for PRAMIN on all chipsets
NV04 was completely busted.  Push buffers were getting allocated at the
end of VRAM, overwriting PRAMIN.  So, it turns out PRAMIN is in VRAM on
all chips.  Question answered!
2009-03-06 09:16:54 +10: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
Pekka Paalanen
f44c740dc7 drm: drop Linux < 2.6.19 support
This also means dropping the DRM_ODD_MM_COMPAT case.

Signed-off-by: Pekka Paalanen <pq@iki.fi>
2009-03-02 23:14:45 +02: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
Robert Noland
957b10695b Move vblank_init to driver load time. 2009-02-27 18:16:17 -06:00
Alex Deucher
e2f4c4a8ce R6xx/R7xx: fix AGP on 2.6.29 2009-02-25 16:07:43 -05:00
Robert Noland
948af0bd9b i915: Backport jbarnes gm45 vblank counter patch. 2009-02-25 14:20:52 -06: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
Robert Noland
a44b4ca820 i915: A few whitespace cleanups. 2009-02-24 14:01:38 -06:00
Robert Noland
6870780428 radeon: Prepare radeon for msi support. 2009-02-24 12:28:42 -06:00
Robert Noland
d45bc6667c i915: This was part of a sync to the intel driver at some point
-Remove the old TTM interface
	-Move register definitions to i915_reg.h
	-Rework the irq handler
2009-02-24 12:24:29 -06:00
Alex Deucher
18a2a0a4c6 RS600: fix MC addr mask
noticed by osiris on IRC
2009-02-24 09:49:40 -05:00
Robert Noland
9f94e39f0d i915: Rip out the use of vblank_swap 2009-02-23 22:39:07 -06: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
Matthew Garrett
96ce587e8b 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:48:33 +10: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
Ben Skeggs
084e143d0c nv40: fail completely if we don't have a ctxprog for the chipset 2009-02-15 22:06:18 +10:00
Ben Skeggs
a4ac60a102 nv50: context info for chipset 0xa0 2009-02-15 21:52:19 +10: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
Ben Skeggs
bc92c0edf3 drm/nv50: fix nv9x chipsets
NVIDIA do this fun little sequence after updating the PRAMIN page tables.

On 9xxx chips, none of the PRAMIN BAR bindings (except the initial one)
worked, hence the majority of the setup needed to create a channel
ended up in the wrong place, causing all sorts of fun.

This is done by NVIDIA on nv8x chips also, so we'll do it for them too,
even though they appear to work without it.
2009-02-11 11:22:41 +10:00
Ben Skeggs
7bbd605a21 drm/nv50: add context info for nv98
It won't work yet, just like the other 9xxx chips.  Real soon now :)
2009-02-11 10:12:43 +10:00