Commit graph

96 commits

Author SHA1 Message Date
Dave Airlie
26f04a1664 add some idct type 3 packets for reference 2005-03-04 03:04:37 +00:00
Roland Scheidegger
732cdc5cef add support for texture micro tiling on radeon/r200. Add support for r100
cube maps (since it also requires a version bump) at the same time.
2005-02-10 19:22:43 +00:00
Eric Anholt
81459d6e50 Close a race which could allow for privilege escalation by users with DRI
privileges on Radeon hardware. Essentially, a malicious program could
    submit a packet containing an offset (possibly in main memory) to be
    rendered from/to, while a separate thread switched that offset in
    userspace rapidly between a valid value and an invalid one.
    radeon_check_and_fixup_offset() would pull the offset in from user
    space, check it, and spit it back out to user space to be copied in
    later by the emit code. It would sometimes catch the bad value, but
    sometimes the malicious program could modify it after the check and get
    an invalid offset rendered from/to.
Fix this by allocating a temporary buffer and copying the data in at once.
    While here, make the cliprects stuff not do the VERIFYAREA_READ and
    COPY_FROM_USER_UNCHECKED gymnastics, avoiding a lock order reversal on
    FreeBSD. Performance impact is negligible -- no difference on r200 to
    ~1% improvement on rv200 in quake3 tests (P4 1Ghz, demofour at
    1024x768, n=4 or 5).
2005-02-08 04:17:14 +00:00
Dave Airlie
0d6b7fcb79 cleanup patch from Adrian Bunk <bunk@stusta.de> 2005-02-01 11:08:31 +00:00
Dave Airlie
77045dc516 fix incorrect PCI id for ATI radeon 2005-01-27 09:13:42 +00:00
Roland Scheidegger
43c3223de6 (Stephane Marchesin,me) Add radeon framebuffer tiling support to radeon
drm. Add new ioctls to manage surfaces which cover the tiled areas
2005-01-26 17:48:59 +00:00
Roland Scheidegger
408376b203 replace magic number with macro constant RADEON_ZBLOCK16 2005-01-26 14:19:24 +00:00
Roland Scheidegger
c4a87c6883 (Stephane Marchesin, me) add hyperz support to radeon drm. Only fast z
clear and z buffer compression are working correctly, hierarchical-z is
    not.
2004-12-08 16:43:00 +00:00
Jon Smirl
069f53a93b Move radeon i2c include to top of file 2004-11-06 16:55:41 +00:00
Eric Anholt
c9202c8965 Commit WIP of BSD conversion to core model. Compiles for r128, radeon, but
doesn't run yet. Moves the ioctl definitions for these two drivers back
    to the shared code -- they aren't OS-specific.
2004-11-06 01:41:47 +00:00
Dave Airlie
3f02a79351 Vladimir requested support so we can at least load r300 microcode for
helping
2D operations.
Ups radeon to version 1.12.0, Vladimir, you might want to add any extra
    pciids...
Approved-by: Dave Airlie <airlied@linux.ie>
2004-10-10 05:52:19 +00:00
Jon Smirl
9f9a8f1382 Lindent of core build. Drivers checked for no binary diffs. A few files
weren't Lindent's because their comments didn't convert very well. A
    bunch of other minor clean up with no code implact included.
2004-09-30 21:12:10 +00:00
Jon Smirl
fa6b1d129e First check in for DRM that splits core from personality modules 2004-09-27 19:51:38 +00:00
Jon Smirl
74f063fc9d Create new linux-2.6 build. Move all gpl files into the 2.6 build. If you
edit files for 2.6 be sure and break the link to the 2.4 directory and
    copy the cvs history.
2004-09-24 03:12:17 +00:00
Jon Smirl
0c6fb0fbe1 Add linux sysfs i2c support to radeon driver. This patch adds GPL licensed
files to the linux build but not to the BSD directories.
2004-09-17 04:02:28 +00:00
Jon Smirl
03c2e674e4 Add chip family names to the radeon driver 2004-09-14 03:59:25 +00:00
Dave Airlie
d4dbf45781 Merged drmfntbl-0-0-2 2004-08-24 11:15:53 +00:00
Dave Airlie
5c9ed83094 Merged drmfntbl-0-0-1 2004-08-17 13:10:05 +00:00
Dave Airlie
93e8c201af preparation patch for radeon permanent mapping registers/framebuffer makes
dev_priv live always, and add AGP detection in kernel patch:
    radeon-pre-2.patch From: Jon Smirl
2004-08-17 11:24:50 +00:00
Dave Airlie
9277f9eef3 Patch from Jon Smirl to add attribute field to the pciids, and use this for
certain radeon combinations - intel drivers can probably use this for
    dual head capable devices etc..
2004-08-10 11:14:07 +00:00
Dave Airlie
02df04d71d sync up with current 2.6 kernel bk tree - mostly __user annotations 2004-07-25 08:47:38 +00:00
Roland Scheidegger
aa142ff1b5 add R200_EMIT_RB3D_BLENDCOLOR state packet to support GL_EXT_blend_color,
GL_EXT_blend_func_separate and GL_EXT_blend_equation_separate on r200
2004-05-18 23:03:22 +00:00
Eric Anholt
9fb6986e83 Don't ioremap the framebuffer area. The ioremapped area wasn't used by
anything, and took up valuable KVA. While I'm in the area, clean up BSD
    MTRR stuff some more.
Suggested by: jonsmirl
2003-12-16 08:57:08 +00:00
Michel Daenzer
2655ccddf4 Memory layout transition:
the 2D driver initializes MC_FB_LOCATION and related registers sanely
the DRM deduces the layout from these registers
clients use the new SETPARAM ioctl to tell the DRM where they think the
    framebuffer is located in the card's address space
the DRM uses all this information to check client state and fix it up if
    necessary
This is a prerequisite for things like direct rendering with IGP chips and
    video capturing.
2003-11-04 00:46:05 +00:00
Michel Daenzer
062751ac47 Remove artificial PCI GART limitations, rename AGP to GART where
appropriate
2003-08-26 15:44:01 +00:00
Keith Whitwell
0b01c70d59 Texture rectangle support for r100 2003-06-10 18:54:17 +00:00
David Dawes
c0efa1a777 DRM part of Radeon DRI suspend/resume support (Charl Botha). 2003-05-20 22:43:39 +00:00
Ian Romanick
285b1cdc39 Merged texmem-0-0-1 2003-04-30 01:51:00 +00:00
Eric Anholt
766a1da2e5 Remove the map argument from DRM_*MEMORYBARRIER. Not all of the uses of
DRM_*MEMORYBARRIER we had were related to an MMIO space. This means
    arch-specific code on the BSDs, unfortunately. Also add
    DRM_MEMORYBARRIER() and change the DRM_READMEMORYBARRIER()s that used
    to be read/write barriers to it.
2003-04-26 23:32:00 +00:00
Michel Daenzer
d5db1144dd get rid of superfluous fields in struct drm_radeon_ring_buffer
use correct address for ring read pointer writeback (yes, we seem to have
    been running with bogus values for the ring read pointer, which
    'worked' because the return value of radeon_wait_ring() is never
    checked and the ring usually never fills up)
2003-04-22 21:45:06 +00:00
Keith Whitwell
13211ad82c add more get_param queries for embedded project 2003-04-22 09:49:14 +00:00
Keith Whitwell
1728bc637d merged drm-filp-0-1-branch 2003-03-28 14:27:37 +00:00
Alan Hourihane
c14006ba9f XFree86 4.3.0 merge 2003-03-25 00:29:14 +00:00
Eric Anholt
cfa778af9c Merge from bsd-4-0-0-branch. 2003-02-21 23:23:09 +00:00
Michel Daenzer
73bf29a6c1 fix PCI and AGP posting problems (based on testing by Chris Ison and
suggestions by Benjamin Herrenschmidt and Arjan van de Ven)
remove radeon_flush_write_combine() which has been unused for a while
2003-02-04 19:20:18 +00:00
Keith Whitwell
208c0779b6 Make the radeon drm module better at cleaning up after itself if all the
clients (particularly the X server) exit without doing so for it.
2003-01-02 18:38:07 +00:00
Michel Daenzer
5e1b8ed88a preserve CRTC{,2}_OFFSET_CNTL in 2D driver to avoid bad effects when
pageflipping after a mode switch
take current page into account in AdjustFrame(); writing the CRTC offset
    via the CP was probably a bad idea as this can happen asynchronously,
    reverted
take frame offset into account when flipping pages
handle CRTC2 as well for pageflipping (untested)
preserve GEN_INT_CNTL on mode switches to prevent interrupts from getting
    disabled
2002-10-29 13:49:26 +00:00
Brian Paul
ff25e7016c merge from mesa-4-1-branch to get cube-map registers. bumped version to 1.7 2002-10-28 19:05:40 +00:00
Michel Daenzer
a33d42e2ba make SW interrupts more robust: write sequence number to scratch register,
acknowledge any lost interrupts before waiting
2002-09-27 21:47:52 +00:00
Eric Anholt
97961e2c65 BSD vblank framework. 2002-09-26 07:45:07 +00:00
Michel Daenzer
55acd0d5a6 common ioctl to wait for vertical blank IRQs 2002-09-25 17:18:19 +00:00
Keith Whitwell
f1c8fe9557 merged r200-0-2-branch to trunk 2002-09-23 17:26:43 +00:00
Keith Whitwell
4fcde1efc1 standardize use of __FUNCTION__ (Linus) 2002-08-29 07:34:49 +00:00
Keith Whitwell
48cc350e21 merged r200-0-1-branch 2002-08-26 22:16:18 +00:00
Michel Daenzer
d0ac4e5ad0 test scratch register writeback before using it 2002-08-11 15:56:44 +00:00
Alan Hourihane
74ef13fd00 merged bsd-3-0-0-branch 2002-07-05 08:31:11 +00:00
Renamed from linux/radeon_drv.h (Browse further)