summaryrefslogtreecommitdiffstats
path: root/drivers/char/drm/radeon_cp.c
Commit message (Collapse)AuthorAgeFilesLines
* drm: reorganise drm tree to be more future proof.Dave Airlie2008-07-141-1773/+0
| | | | | | | | | | | | | | With the coming of kernel based modesetting and the memory manager stuff, the everything in one directory approach was getting very ugly and starting to be unmanageable. This restructures the drm along the lines of other kernel components. It creates a drivers/gpu/drm directory and moves the hw drivers into subdirectores. It moves the includes into an include/drm, and sets up the unifdef for the userspace headers we should be exporting. Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon: use DSTCACHE_CTLSTAT rather than RB2D_DSTCACHE_CTLSTATAlex Deucher2008-06-191-3/+3
| | | | | | | According to the hw guys, you should use DSTCACHE_CTLSTAT to flush the 2D dst cache rather than RB2D_DSTCACHE_CTLSTAT. Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon: switch IGP gart to use radeon_write_agp_base()Alex Deucher2008-06-191-8/+4
| | | | Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon: Restore sw interrupt on resumeDennis Kasprzyk2008-06-191-0/+1
| | | | | | Fixes performance drop after suspend/resume on some systems. Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/r500: add support for AGP based cards.Dave Airlie2008-06-191-3/+23
| | | | | | AGP registers weren't programmed properly for r500 cards. Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon: init pipe setup in kernel code.Alex Deucher2008-06-191-0/+48
| | | | | | | This inits the card pipes in the kernel and lets userspace getparam the correct setup. Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon: fixup radeon_do_engine_resetAlex Deucher2008-06-191-23/+26
| | | | | | Cleanup do engine reset for different chip families. Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon: fix pixcache and purge/cache flushing registersAlex Deucher2008-06-191-9/+29
| | | | Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon: write AGP_BASE_2 on chips that support it.Alex Deucher2008-06-191-0/+2
| | | | Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon: merge IGP chip setup and fixup RS400 vs RS480 supportAlex Deucher2008-06-191-99/+70
| | | | | | | We only support RS480 (AMD based IGP) at the moment not RS400 (Intel based IGP) ones. Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon: IGP clean up register and magic numbers.Alex Deucher2008-06-191-35/+44
| | | | Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/rs690: set base 2 to 0.Dave Airlie2008-06-191-0/+2
| | | | Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/rs690: set all of gart base address.Dave Airlie2008-06-191-2/+3
| | | | | | Docs state bits 4-11 maps to bits 32-39 of the 40-bit range Signed-off-by: Dave Airlie <airlied@redhat.com>
* radeon: add production microcode from AMDAlex Deucher2008-06-191-784/+49
| | | | | | This adds production microcode for r100->r500 from AMD. Signed-off-by: Dave Airlie <airlied@redhat.com>
* drivers/char: replace remaining __FUNCTION__ occurrencesHarvey Harrison2008-04-301-1/+1
| | | | | | | | __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* drm/ati_pcigart: fix the PCIGART to use drm_pci to allocate GART table.Dave Airlie2008-03-171-0/+1
| | | | | | | This fixes a problem on 64-bit with 4GB with ATI RS690 chipsets. It makes sure the pcigart table is allocated in coherent memory for DMA operations. Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon: add initial rs690 support to drm.Maciej Cencora2008-02-201-0/+81
| | | | | | This adds support for configuring the RS690 GART. Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm: add initial r500 drm supportDave Airlie2008-02-071-45/+90
| | | | | | | This adds CP support for the r500 series of chips, and allows accel 2D support on these chips with a new radeon driver. Signed-off-by: Dave Airlie <airlied@redhat.com>
* radeon: setup the ring buffer fetcher to be less agressive.Roland Scheidegger2008-02-071-2/+13
| | | | Signed-off-by: Dave Airlie <airlied@linux.ie>
* drm: cleanup DRM_DEBUG() parametersMárton Németh2008-02-071-4/+4
| | | | | | | | | | As DRM_DEBUG macro already prints out the __FUNCTION__ string (see drivers/char/drm/drmP.h), it is not worth doing this again. At some other places the ending "\n" was added. airlied:- I cleaned up a few that this patch missed also Signed-off-by: Dave Airlie <airlied@linux.ie>
* drm: run cleanfile across drm treeDave Airlie2008-02-071-4/+4
| | | | Signed-off-by: Dave Airlie <airlied@linux.ie>
* radeon: set the address to access the GART table on the CPU side correctlyDave Airlie2007-11-051-2/+3
| | | | | | | | This code relied on the CPU and GPU address for the aperture being the same, On some r5xx hardware I was playing with I noticed that this isn't always true. This fixes issues seen on some r400 cards. (bugs.freedesktop.org 9957) Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm: Replace DRM_IOCTL_ARGS with (dev, data, file_priv) and remove DRM_DEVICE.Eric Anholt2007-10-151-43/+24
| | | | | | | | | The data is now in kernel space, copied in/out as appropriate according to t This results in DRM_COPY_{TO,FROM}_USER going away, and error paths to deal with those failures. This also means that XFree86 4.2.0 support for i810 DR is lost. Signed-off-by: Dave Airlie <airlied@linux.ie>
* drm: Replace filp in ioctl arguments with drm_file *file_priv.Eric Anholt2007-10-151-14/+17
| | | | | | | | | | As a fallout, replace filp storage with file_priv storage for "unique identifier of a client" all over the DRM. There is a 1:1 mapping, so this should be a noop. This could be a minor performance improvement, as everyth on Linux dereferenced filp to get file_priv anyway, while only the mmap ioct went the other direction. Signed-off-by: Dave Airlie <airlied@linux.ie>
* drm: Remove DRM_ERR OS macro.Eric Anholt2007-10-151-25/+25
| | | | | | | | This was used to make all ioctl handlers return -errno on linux and errno on *BSD. Instead, just return -errno in shared code, and flip sign on return f shared code to *BSD code. Signed-off-by: Dave Airlie <airlied@linux.ie>
* drm: detypedeffing continues...Dave Airlie2007-07-111-1/+1
| | | | Signed-off-by: Dave Airlie <airlied@linux.ie>
* drm: detypef waitlist/freelist/buf_entry/device_dma/drm_queue structsDave Airlie2007-07-111-4/+4
| | | | Signed-off-by: Dave Airlie <airlied@linux.ie>
* drm: drop drm_buf_t typedefDave Airlie2007-07-111-6/+6
| | | | Signed-off-by: Dave Airlie <airlied@linux.ie>
* drm: remove drm_file_t, drm_device_t and drm_head_t typedefsDave Airlie2007-07-111-12/+12
| | | | | | some drivers still todo. Signed-off-by: Dave Airlie <airlied@linux.ie>
* drm: remove a bunch of typedefs on the userspace interfaceDave Airlie2007-07-111-3/+3
| | | | | | | This moves a bunch of typedefs into a !defined __KERNEL__ to keep userspace API compatiblity, it changes all internal usages to structs/enum/unions. Signed-off-by: Dave Airlie <airlied@linux.ie>
* radeon: add support for vblank on crtc2Dave Airlie2007-07-111-0/+4
| | | | | | This adds support for CRTC2 vblank on radeon similiar to the i915. Signed-off-by: Dave Airlie <airlied@linux.ie>
* drm: remove DRM_GETSAREA and replace with drm_getsarea functionDave Airlie2007-07-111-1/+1
| | | | Signed-off-by: Dave Airlie <airlied@linux.ie>
* drm/radeon: upgrade to 1.27 - make PCI GART more flexibleDave Airlie2007-05-081-6/+65
| | | | | | | | | | | | | | | | | | radeon: make PCI GART aperture size variable, but making table size variable This is precursor to getting a TTM backend for this stuff, and also allows the PCI table to be allocated at fb 0 radeon: add support for reverse engineered xpress200m The IGPGART setup code was traced using mmio-trace on fglrx by myself and Phillip Ezolt <phillipezolt@gmail.com> on dri-devel. This code doesn't let the 3D driver work properly as the card has no vertex shader support. Thanks to Matthew Garrett + Ubuntu for providing me some hardware to do this work on. Signed-off-by: Dave Airlie <airlied@linux.ie>
* drm/radeon: Fix u32 overflows when determining AGP base address in card space.Michel Dänzer2007-03-111-4/+4
| | | | | | | | | The overflows could lead to the AGP aperture overlapping the framebuffer are in the card's address space when the latter is located at the very end of th 32 bit address space, which would result in a freeze on X server startup, probably because the card read commands from the framebuffer instead of from AGP. See http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=392915 . Signed-off-by: Dave Airlie <airlied@linux.ie>
* drm: use radeon specific names for radeon flagsDave Airlie2006-09-221-23/+23
| | | | Signed-off-by: Dave Airlie <airlied@linux.ie>
* drm: realign sosme radeon code with drm git treeDave Airlie2006-09-221-7/+12
| | | | | | | this applies some minor cleanups for the radeon driver, to use the 3D flush and reset the AGP flags on X recycle Signed-off-by: Dave Airlie <airlied@linux.ie>
* drm: radeon: Use RADEON_RB3D_DSTCACHE_CTLSTAT instead of ↵Michel Dänzer2006-09-221-5/+5
| | | | | | | | RADEON_RB2D_DSTCACHE_CTLSTAT. The latter seems to be a read-only mirror of the former. Signed-off-by: Dave Airlie <airlied@linux.ie>
* drm: radeon: fix up bus mastering when writeback is disabledMichel Dänzer2006-09-221-0/+7
| | | | | | | | | | When writeback isn't used, actually disable it in the hardware. Not doing this might waste bus bandwidth or even cause memory corruption or system crashes on systems that check bus transfers. No such incident has been reported though. Signed-off-by: Dave Airlie <airlied@linux.ie>
* drm: radeon constify radeon microcodeDave Airlie2006-06-241-3/+3
| | | | | From: Tilman (DRM CVS) Signed-off-by: Dave Airlie <airlied@linux.ie>
* drm: add new radeon PCI ids..Dave Airlie2006-03-251-0/+8
| | | | | | | | This adds all the r300 and r400 PCI ids from DRM CVS, it also makes these cards only initialise when the new xorg driver is used, as otherwise the DRM can cause lockups. Signed-off-by: Dave Airlie <airlied@linux.ie>
* drm: rework radeon memory map (radeon 1.23)Dave Airlie2006-03-191-43/+100
| | | | | | | | | | This code reworks the radeon memory map so it works better for newer r300 chips and for a lot of older PCI chips. It really requires a new X driver in order to take advantage of this code. From: Ben Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Dave Airlie <airlied@linux.ie>
* drm: Fix sparce warning in radeon driverDave Airlie2006-01-251-1/+1
| | | | | | | | | | | From: Luiz Fernando Capitulino <lcapitulino@mandriva.com.br> drivers/char/drm/radeon_cp.c:1643:31: warning: Using plain integer as NULL pointer Signed-off-by: Luiz Capitulino <lcapitulino@mandriva.com.br> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Dave Airlie <airlied@linux.ie>
* drm: major update from CVS for radeon and coreDave Airlie2006-01-021-41/+34
| | | | | | | | This patch pull in a lot of changes from CVS to the main core DRM, and updates the radeon driver to 1.21.0 that supports r300 texrect and radeon card type ioctl. Signed-off-by: Dave Airlie <airlied@linux.ie>
* drm: update PCIGART support from CVSDave Airlie2006-01-021-11/+13
| | | | | | | | | In order to work on FreeBSD the gart needed to use a local mapping This patch moves the mainline to the new code and aligns some comment changes From: Eric Anholt <anholt@freebsd.org> Signed-off-by: Dave Airlie <airlied@linux.ie>
* drm: rename driver hooks more understandablyDave Airlie2005-11-101-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | Rename the driver hooks in the DRM to something a little more understandable: preinit -> load postinit -> (removed) presetup -> firstopen postsetup -> (removed) open_helper -> open prerelease -> preclose free_filp_priv -> postclose pretakedown -> lastclose postcleanup -> unload release -> reclaim_buffers_locked version -> (removed) postinit and version were replaced with generic code in the Linux DRM (drivers now set their version numbers and description in the driver structure, like on BSD). postsetup wasn't used at all. Fixes the savage hooks for initializing and tearing down mappings at the right times. Testing involved at least starting X, running glxgears, killing glxgears, exiting X, and repeating. Tested on: FreeBSD (g200, g400, r200, r128) Linux (r200, savage4) From: Eric Anholt <anholt@freebsd.org> Signed-off-by: Dave Airlie <airlied@linux.ie>
* Merge master.kernel.org:/pub/scm/linux/kernel/git/airlied/drm-2.6Linus Torvalds2005-11-011-1203/+1280
|\ | | | | | | Manual fixups for some clashes due to re-indenting.
| * drm: add option to force writeback off.Dave Airlie2005-09-301-0/+4
| | | | | | | | | | | | | | In order to get some better debugging from people about certain hangs/crashes we need to be able to turn AGP writeback off permanently... Signed-off-by: Dave Airlie <airlied@linux.ie>
| * drm: lindent the drm directory.Dave Airlie2005-09-251-1236/+1244
| | | | | | | | | | | | | | | | | | I've been threatening this for a while, so no point hanging around. This lindents the DRM code which was always really bad in tabbing department. I've also fixed some misnamed files in comments and removed some trailing whitespace. Signed-off-by: Dave Airlie <airlied@linux.ie>
| * drm: add radeon PCI express supportDave Airlie2005-09-111-7/+70
| | | | | | | | | | | | | | Add support for Radeon PCI Express cards (needs a new X.org DDX) Also allows PCI GART table to be stored in VRAM for non PCIE cards Signed-off-by: Dave Airlie <airlied@linux.ie>
* | [PATCH] fix radeon_cp_init_ring_buffer()Ivan Kokshaysky2005-10-261-5/+6
|/ | | | | | | | | | I've seen similar failure on alpha. Obviously, someone forgot to convert sg->handle stuff for PCI gart case. Signed-off-by: Dave Airlie <airlied@linux.ie> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
OpenPOWER on IntegriCloud