summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2009-04-06radeon: Simplify the radeon microcode loading.r6xx-r7xx-supportAlex Deucher2-254/+135
based on patch from Christoph Mallon
2009-04-02Add support for RV790 (HD 4890) asicsAlex Deucher2-2/+4
2009-03-30Merge branch 'master' into r6xx-r7xx-supportAlex Deucher177-10388/+24932
2009-03-29RS780: Load the right firmwareAlex Deucher1-4/+4
copy paste error
2009-03-26libdrm/intel: support GTT maps correctlyJesse Barnes2-16/+42
libdrm has some support for GTT mapping already, but there are bugs with it (no surprise since it hasn't been used much). In fixing 20803, I found that sharing bo_gem->virtual was a bad idea, since a previously mapped object might not end up getting GTT mapped, leading to corruption. So this patch splits the fields according to use, taking care to unmap both at free time (but preserving the map caching). There's still a risk we might run out of mappings (there's a sysctl tunable for max number of mappings per process, defaulted to 64k or so it looks like) but at least GTT maps will work with these changes (and some others for fixing PAT breakage in the kernel). Reviewed-by: Eric Anholt <eric@anholt.net> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
2009-03-25nouveau: plug drm fifo ioremap leak (#14941)Stuart Bennett1-0/+1
2009-03-25nouveau: add linux compat defines for PCI config access, use them for nvidia ↵Stuart Bennett2-18/+34
IGPs
2009-03-25nouveau: use PFB_CSTATUS naming from ddx (reg introduced with nv10)Stuart Bennett3-9/+7
NV04 had a PFB_FIFO_DATA at the same address, which we don't use, so remove it to reduce confusion
2009-03-25libdrm/nouveau: fix typo in nouveau_device_close()Ben Skeggs1-1/+1
2009-03-20libdrm/nouveau: ask the kernel for vram/gart aperture sizesBen Skeggs2-0/+19
2009-03-20libdrm/nouveau: remove unneccesary null ptr checksBen Skeggs1-4/+2
2009-03-20libdrm/nouveau: incr refcount on ref fence before decr on old fenceBen Skeggs1-11/+5
2009-03-19radeon: add new pci idsAlex Deucher1-0/+2
2009-03-20libdrm/nouveau: unref fences when deleting boMaarten Maathuis1-0/+4
- This was causing a significant memory leak.
2009-03-18libdrm/nouveau: implement bo_handle_get for !mm_enabledBen Skeggs1-11/+12
bo_handle_ref on !mm_enabled treats handle as an offset, make bo_handle_get do the same rather than failing.
2009-03-16radeon: sync up with more changes from drm-next treeAlex Deucher5-635/+648
- pull in some fixes - restructure r6xx/r7xx code to match drm-next
2009-03-16libdrm_nouveau: The handle that is passed to mmap needs to be drm_handle_tRobert Noland1-1/+1
drm_handle_t is defined to be a u32 on linux and a u64 on everything else. This addresses an issue on FreeBSD amd64 where the map offsets may be greater than 32bits. When the handle is cast to 32bit, mmap cannot match the requested map and causes X to crash. This should be a NOOP on linux since drm_handle_t is always 32bit. Signed-off-by: Robert Noland <rnoland@2hip.net>
2009-03-16FreeBSD: Set up the nouveau build infrastructureRobert Noland38-1/+573
disabled by default until the rest of the patches are in.
2009-03-16FreeBSD: Add support for matching solely on vedor id.Robert Noland1-2/+6
This also adds that ability to set device name from VPD, but that doesn't seem to be working...
2009-03-16FreeBSD: Improve the debug output of drm_mmap().Robert Noland1-1/+6
2009-03-16FreeBSD: Add list_for_each_prev() to our bank of compat functions.Robert Noland1-0/+4
2009-03-16FreeBSD: Don't set the PZERO flag to mtx_sleep.Robert Noland3-8/+3
We also don't support anything old enough to need tsleep.
2009-03-16FreeBSD: use flsl() instead of ffsl().Robert Noland1-1/+1
I noticed that we were computing drm_order differently than linux.
2009-03-16FreeBSD: Minor code cleanup.Robert Noland1-1/+1
2009-03-16FreeBSD: Increase MAX_PCI_RESOURCERobert Noland1-1/+1
We can have more than 3 BARs to access.
2009-03-16FreeBSD: Cast map handles to vm_offset_tRobert Noland1-6/+12
This prevents some warnings with nouveau.
2009-03-15radeon: irq fixes for rs600Alex Deucher2-9/+9
2009-03-13drm/radeon: r600 ptes are 64-bit, cleanup cleanup function.Dave Airlie1-1/+1
Signed-off-by: Dave Airlie <airlied@redhat.com>
2009-03-13drm/radeon: don't call irq changes on r600 suspend/resumeDave Airlie1-0/+6
Until we sort out r600 IRQs don't do this. Signed-off-by: Dave Airlie <airlied@redhat.com>
2009-03-13drm/radeon: fix r600 writeback across suspend/resumeDave Airlie1-3/+0
This update was done in mainline radeon, but not in the r600. Signed-off-by: Dave Airlie <airlied@redhat.com>
2009-03-09FreeBSD: Fix the printing of maps on amd64/i386 to be consistentRobert Noland1-3/+3
2009-03-09FreeBSD: Fix up the flags for bus_dmamem here as well.Robert Noland1-4/+4
2009-03-09drm/radeon: fix r600 writeback setup.Dave Airlie1-19/+24
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-09drm/radeon: fix r600 pci mapping calls.Dave Airlie1-6/+5
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-09R6xx/R7xx: remove extra padding on cache flush and wait_untilAlex Deucher1-4/+1
padding is properly taken care of in commit_ring
2009-03-08FreeBSD: Fix up the flags to bus_dmamem_*Robert Noland1-2/+3
Allow it to sleep waiting for resources during the allocation stage. Only use BUS_DMA_NOWAIT when loading the map.
2009-03-08FreeBSD use kdev for kernel device namevehemens11-99/+99
Signed-off-by: Robert Noland <rnoland@2hip.net>
2009-03-07r6xx/r7xx: fix possible oops in r600_page_table_cleanup()Alex Deucher1-0/+4
2009-03-06drm/nouveau: make portion of vram as reserved for PRAMIN on all chipsetsBen Skeggs2-6/+2
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-05FreeBSD: Rework DRM_[DEBUG,ERROR,INFO] macros a bit.Robert Noland1-5/+5
2009-03-05FreeBSD: Garbage collect entries from pcireg.h since we now include it.Robert Noland1-9/+0
2009-03-05FreeBSD: We only want drm to ever attach to the primary pci device.Robert Noland2-0/+5
Intel 855 chips present the same pci id for both heads. This prevents us from attaching to the dummy second head. All other chips that I am aware of either only present a single pci id, or different ids for each head so that we only match on the correct head.
2009-03-05FreeBSD: rework drm_scatter.c which allocates scatter / gather pages for use byRobert Noland2-31/+91
ati pci gart to use bus_dma to handle the allocations. This fixes a garbled screen issue on at least some radeons (X1400 tested).
2009-03-04radeon: pull in ring padding form drm-nextAlex Deucher3-36/+47
2009-03-03drm: drop Linux < 2.6.21 supportPekka Paalanen3-195/+1
This also means, that DRM_FULL_MM_COMPAT is always defined, so it is dropped, too. Signed-off-by: Pekka Paalanen <pq@iki.fi>
2009-03-03drm, via: drop Linux < 2.6.20 supportPekka Paalanen3-29/+0
Signed-off-by: Pekka Paalanen <pq@iki.fi>
2009-03-02Revert "R6xx/R7xx: don't pad ring for IB age submission"Alex Deucher1-1/+7
This reverts commit 7f96e792f45d48e565cc332616acee7cecb6c44e. This is fixed in the DDX, EXA composite was leaking dma buffers in some cases: radeon: 4ad1c4decfee653dbbc1ea2ca4270487be622382 rhd: 9c8ab2dfbe61120298c4b46a2b49245c6779dbc2
2009-03-02drm: drop Linux < 2.6.19 supportPekka Paalanen7-437/+3
This also means dropping the DRM_ODD_MM_COMPAT case. Signed-off-by: Pekka Paalanen <pq@iki.fi>
2009-03-02drm: drop Linux < 2.6.18 supportPekka Paalanen2-56/+0
Signed-off-by: Pekka Paalanen <pq@iki.fi>
2009-03-02drm: drop Linux < 2.6.16 supportPekka Paalanen2-12/+0
Signed-off-by: Pekka Paalanen <pq@iki.fi>