summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/radeon/reg_srcs
Commit message (Collapse)AuthorAgeFilesLines
* drm/radeon/kms: check AA resolve registers on r300Marek Olšák2011-02-144-12/+0Star
| | | | | | | | | This is an important security fix because we allowed arbitrary values to be passed to AARESOLVE_OFFSET. This also puts the right buffer address in the register. Signed-off-by: Marek Olšák <maraeo@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: fix tracking of BLENDCNTL, COLOR_CHANNEL_MASK, and GB_Z on r300Marek Olšák2011-02-144-10/+4Star
| | | | | | | Also move ZB_DEPTHCLEARVALUE to the list of safe regs. Signed-off-by: Marek Olšák <maraeo@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: fix typo in evergreen safe regAlex Deucher2011-01-171-1/+1
| | | | | Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: allow r500 US_FORMAT regs in the CS checkerMarek Olšák2010-12-211-0/+16
| | | | | | | | | add to the 2.8 bump for pageflip The purpose of these regs is to work around a TX hw bug in R520. Signed-off-by: Marek Olšák <maraeo@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms/evergreen: add some additional safe regs v2Alex Deucher2010-10-261-0/+8
| | | | | | | | | | These are needed for enabling dynamic GPR allocation in the shaders in the userspace acceleration drivers. v2: fix typo in reg name Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: allow FG_ALPHA_VALUE on r5xxMarek Olšák2010-08-121-0/+1
| | | | | | | This is a CS checker fix. I need this for FP16 alpha-test. Signed-off-by: Marek Olšák <maraeo@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon: add basic zmask/hiz support (v4)Dave Airlie2010-08-024-52/+1Star
| | | | | | | | | | | | | | | This interface allows userspace to request hyperz support, it probably needs more locking, and really reporting that you can have hyperz is racy since someone else might get it before you do. v2: modify so we pass 0 valued packets to let DDX/r300c keep working. also fixed incorrect 0x4f1c reference. v3: fixup zb_bw_cntl so older drivers keep working v4: add locking, fixup SC_HYPERZ_EN - patch stream to disable hiz Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: fix typos in evergreen command checkerAlex Deucher2010-07-011-5/+5
| | | | | Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms/evergreen: add initial CS parserAlex Deucher2010-06-011-0/+611
| | | | | | | | Advanced validation is not implemented yet. The mesa code that uses this will be released soon. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: allow R500 regs VAP_ALT_NUM_VERTICES and VAP_INDEX_OFFSETMarek Olšák2010-04-191-0/+1
| | | | | | | | [airlied: fix V_A_N_V to not be safe and fix check to make sure only r500 - bump userspace version] Signed-off-by: Marek Olšák <maraeo@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drivers/gpu/radeon: Add MSPOS regs to safe list.Corbin Simpson2010-04-194-0/+8
| | | | | | | | | Permits MSAA and D3D-style rasterization. [airlied: add rs600] Signed-off-by: Corbin Simpson <MostAwesomeDude@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/r6xx/r7xx: further safe reg clean upAlex Deucher2010-03-311-19/+0Star
| | | | | | | | | - remove a few more drm only regs - remove sampler, alu, bool, loop constant regs. They are set via separate packet3's already Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/r6xx/r7xx: CS parser fixesAlex Deucher2010-03-311-53/+0Star
| | | | | | | | | | | | | - Drop some more safe regs taht userspace shouldn't hit - Constant base regs need relocs. This allows us to use constant buffers rather than the constant register file. Also we don't want userspace to be able to set arbitrary mc base values for the const caches. - Track SQ_CONFIG so we know whether userspace is using the cfile or constant buffers. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/r600: remove some regs are not safe regs for command buffersAlex Deucher2010-03-311-3/+0Star
| | | | | | | Only the drm should be touching them. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: r600/r700 command stream checkerJerome Glisse2010-02-111-0/+837
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch add cs checker to r600/r700 hw. Command stream checking will rewrite some of the cs value in order to restrict GPU access to BO size. This doesn't break old userspace but just enforce safe value. It should break any things that was using the r600/r700 cs ioctl to do forbidden things (malicious software), though we are not aware of such things. Here is the list of thing we check : - enforcing resource size - enforcing color buffer slice tile max, will restrict cb access - enforcing db buffer slice tile max, will restrict db access We don't check for shader bigger than the BO in which they are supposed to be, such use would lead to GPU lockup and is harmless from security POV, as far as we can tell (note that even checking for this wouldn't prevent someone to write bogus shader that lead to lockup). This patch has received as much testing as humanly possible with old userspace to check that it didn't break such configuration. However not all the applications out there were tested, thus it might broke some odd, rare applications. [airlied: fix rules for cs checker for parallel builds] Signed-off-by: Jerome Glisse <jglisse@redhat.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms/r200: fix bug in CS parserAndrew Randrianasulu2010-01-201-0/+2
| | | | | | | | | | | Add missing vertex shader regs for r200. fixed fdo bug 26061 agd5f: use official reg names Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@linux.ie>
* drm/radeon/kms: add additional safe regs for r4xx/rs6xx and r5xxAlex Deucher2010-01-113-1/+868
| | | | | | | | | - r4xx/rs6xx: add support for extended pixel shader instruction/temp regs - r5xx: add SM3 regs Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: add rn50/r100/r200 CS tracker.Dave Airlie2009-09-083-0/+319
| | | | | | | | | | This adds the command stream checker for the RN50, R100 and R200 cards. It stops any access to 3D registers on RN50, and does checks on buffer sizes on the r100/r200 cards. It also fixes some texture sizing checks on r300. Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: add updated registers from drm-fixes.Dave Airlie2009-09-073-0/+5
| | | | | | Fixes up the DISCARD + 2 sided stencil in the new generator scripts. Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: block depthxy offset from use from userspace.Dave Airlie2009-09-073-3/+0Star
| | | | | | This could be used to bypass CS checks. Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon: cleanup mkregtable.cDave Airlie2009-08-312-2/+2
| | | | | | This cleans up the code in mkregtable.c to be more kernel style. Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/rs600/690: use autogenerated safe register tables.Dave Airlie2009-08-271-0/+728
| | | | | | | This ports rs690 to the safe reg tables and makes rs600 also use the same table. Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: generate the safe register tables.Dave Airlie2009-08-212-0/+1214
Previously we just made these offline and included them, but no reason we can't generate them at build time. TODO: add rs690 + r100/r200 when done. should we do rs480/rs690 no tcl version? Signed-off-by: Dave Airlie <airlied@redhat.com>