summaryrefslogtreecommitdiff
path: root/drivers/char/drm/radeon_state.c
AgeCommit message (Collapse)Author
2006-12-15drm: Unify radeon offset checking.=?utf-8?q?Michel_D=C3=A4nzer?=
Replace r300_check_offset() with generic radeon_check_offset(), which doesn't reject valid offsets when the framebuffer area is at the very end of the card's 32 bit address space. Make radeon_check_and_fixup_offset() use radeon_check_offset() as well. This fixes https://bugs.freedesktop.org/show_bug.cgi?id=7697 .
2006-10-24drm: radeon: only allow specific type-3 packetss through verifierRoland Scheidegger
only allow specific type-3 packets to pass the verifier instead of all for r100/r200 as others might be unsafe (r300 already does this), and add checking for these we need but aren't safe. Check the RADEON_CP_INDX_BUFFER packet on both r200 and r300 as it isn't safe neither. Signed-off-by: Dave Airlie <airlied@linux.ie>
2006-09-22drm: Use register writes instead of BITBLT_MULTI packets for buffer swap blitsMichel Daenzer
This takes up two more ring buffer entries per rectangle blitted but makes sure the blit is performed top to bottom, reducing the likelyhood of tearing. Signed-off-by: Dave Airlie <airlied@linux.ie>
2006-09-22drm: use radeon specific names for radeon flagsDave Airlie
Signed-off-by: Dave Airlie <airlied@linux.ie>
2006-09-22drm: fd.o Bug #7595: Avoid u32 overflows in radeon_check_and_fixup_offset().Michel Daenzer
The overflows could cause valid offsets to get rejected under some circumstances, e.g. when the framebuffer resides at the very end of the card's address space. Signed-off-by: Dave Airlie <airlied@linux.ie>
2006-09-22drm: radeon: implement RADEON_PARAM_SCRATCH_OFFSET getparamMichel Dänzer
When this succeeds, userspace can read the scratch register contents from th mapped writeback page directly. Signed-off-by: Dave Airlie <airlied@linux.ie>
2006-09-22drm: radeon: add some debug output when getparam is called with unknownMichel Dänzer
Signed-off-by: Dave Airlie <airlied@linux.ie>
2006-08-30[PATCH] drm: radeon flush TCL VAP for vertex program enable/disableRoland Scheidegger
The radeon requires a VAP state flush when enabling/disabling vertex programs on the r200 cards. Signed-off-by: Dave Airlie <airlied@linux.ie> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-06-24drm: update radeon to 1.25 add r200 vertex program supportDave Airlie
Add support for r200 vertex programs (R200_EMIT_VAP_PVS_CNTL, and new packet type for making it possible to address whole tcl vector space and have a larger count) From: Roland Scheidegger (DRM CVS) Signed-off-by: Dave Airlie <airlied@linux.ie>
2006-06-24drm: radeon add a tcl state flush before accessing tcl vector spaceDave Airlie
Do a tcl state flush before accessing tcl vector space. This fixes some more problems with flickering (bug #6637). drm may not be appropriate place for this, since doing that flush there might both be overkill and insufficient in some cases. However, it's hard to figure out when that flush is needed, so this has to suffice. There does not seem to be a performance penalty associated with it. From: Roland Scheidegger (DRM CVS) Signed-off-by: Dave Airlie <airlied@linux.ie>
2006-03-19drm: remove pointless checks in radeon_stateDave Airlie
If these were valid checks, we'd have already oopsed several lines above where we were already dereferencing them. DA: these used to be valid but other changes made them unnecessary. Coverity: 776,777,778 Signed-off-by: Dave Jones <davej@redhat.com> Signed-off-by: Dave Airlie <airlied@linux.ie>
2006-03-19drm: fixup improper cast.Dave Airlie
Signed-off-by: Dave Airlie <airlied@linux.ie>
2006-03-19drm: rework radeon memory map (radeon 1.23)Dave Airlie
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>
2006-01-10drm: fix radeon warnings on 64-bitDave Airlie
From: Andrew Morton <akpm@osdl.org> drivers/char/drm/radeon_state.c: In function `radeon_cp_dispatch_texture': drivers/char/drm/radeon_state.c:1653: warning: int format, different type arg (arg 3) drivers/char/drm/radeon_state.c:1661: warning: int format, different type arg (arg 3) drivers/char/drm/radeon_state.c:1689: warning: int format, different type arg (arg 3) sizeof() doesn't return an int. Cc: Dave Airlie <airlied@linux.ie> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Dave Airlie <airlied@linux.ie>
2006-01-02drm: major update from CVS for radeon and coreDave Airlie
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>
2006-01-02drm: move ioctl flags to a bit field of flagsDave Airlie
From: Dave Airlie Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-11-10drm: rename driver hooks more understandablyDave Airlie
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>
2005-09-30drm: fix all sparse warning on 32-bit x86Dave Airlie
Finally cleaned up the sparse warnings for the drm. Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-09-25drm: fix some lindent damageDave Airlie
Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-09-25drm: lindent the drm directory.Dave Airlie
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>
2005-09-11drm: add radeon PCI express supportDave Airlie
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>
2005-09-11drm: update radeon driver to 1.18Dave Airlie
Add support for GL_ATI_fragment_shader, new packets R200_EMIT_PP_AFS_0/1, R200_EMIT_PP_TXCTLALL_0-5 (replaces R200_EMIT_PP_TXFILTER_0-5, 2 more regs) and R200_EMIT_ATF_TFACTOR (replaces R200_EMIT_TFACTOR_0 (8 consts instead of 6) From: Roland Scheidegger, David Airlie Signed-off-by: David Airlie <airlied@linux.ie>
2005-08-20drm: add new texture upload code from r300 projectDave Airlie
Paul Mackerras did some new upload code for r300, I forgot to add it to the kernel with r300 merge. Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-08-16drm: add initial r300 3D support.Dave Airlie
This adds initial r300 3D support to the radeon DRM. From: Nicolai Haehnle, Vladimir Dergachev, and others. Signed-off-by: David Airlie <airlied@linux.ie>
2005-04-16Linux-2.6.12-rc2v2.6.12-rc2Linus Torvalds
Initial git repository build. I'm not bothering with the full history, even though we have it. We can create a separate "historical" git archive of that later if we want to, and in the meantime it's about 3.2GB when imported into git - space that would just make the early git days unnecessarily complicated, when we don't have a lot of good infrastructure for it. Let it rip!