aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/radeon
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'drm-linus' of ↵Linus Torvalds2010-04-1917-19/+138
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: drm/radeon/kms: add FireMV 2400 PCI ID. drm/radeon/kms: allow R500 regs VAP_ALT_NUM_VERTICES and VAP_INDEX_OFFSET drivers/gpu/radeon: Add MSPOS regs to safe list. drm/radeon/kms: disable the tv encoder when tv/cv is not in use drm/radeon/kms: adjust pll settings for tv drm/radeon/kms: fix tv dac conflict resolver drm/radeon/kms/evergreen: don't enable hdmi audio stuff drm/radeon/kms/atom: fix dual-link DVI on DCE3.2/4.0 drm/radeon/kms: fix rs600 tlb flush drm/radeon/kms: print GPU family and device id when loading drm/radeon/kms: fix calculation of mipmapped 3D texture sizes drm/radeon/kms: only change mode when coherent value changes. drm/radeon/kms: more atom parser fixes (v2)
| * drm/radeon/kms: allow R500 regs VAP_ALT_NUM_VERTICES and VAP_INDEX_OFFSETMarek Olšák2010-04-195-6/+20
| | | | | | | | | | | | | | | | [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/kms: disable the tv encoder when tv/cv is not in useAlex Deucher2010-04-191-2/+6
| | | | | | | | | | | | | | | | | | | | | | Switching between TV and VGA caused VGA to break on some systems since the TV encoder was left enabled when VGA was used. fixes fdo bug 25520. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Cc: stable <stable@kernel.org> Signed-off-by: Dave Airlie <airlied@redhat.com>
| * drm/radeon/kms: adjust pll settings for tvAlex Deucher2010-04-191-0/+4
| | | | | | | | | | | | | | May fix fdo bug 26582. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
| * drm/radeon/kms: fix tv dac conflict resolverAlex Deucher2010-04-191-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | On systems with the tv dac shared between DVI and TV, we can only use the dac for one of the connectors. However, when using a digital monitor on the DVI port, you can use the dac for the TV connector just fine. Check the use_digital status when resolving the conflict. Fixes fdo bug 27649, possibly others. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Cc: stable <stable@kernel.org> Signed-off-by: Dave Airlie <airlied@redhat.com>
| * drm/radeon/kms/evergreen: don't enable hdmi audio stuffAlex Deucher2010-04-192-1/+10
| | | | | | | | | | Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
| * drm/radeon/kms/atom: fix dual-link DVI on DCE3.2/4.0Alex Deucher2010-04-191-0/+4
| | | | | | | | | | | | | | | | Got broken during the evergreen merge. Fixes fdo bug 27001. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
| * drm/radeon/kms: fix rs600 tlb flushJerome Glisse2010-04-191-1/+1
| | | | | | | | | | | | | | | | | | | | Typo in in flush leaded to no flush of the RS600 tlb which ultimately leaded to massive system ram corruption, with this patch everythings seems to work properly. Signed-off-by: Jerome Glisse <jglisse@redhat.com> Cc: stable <stable@kernel.org> Signed-off-by: Dave Airlie <airlied@redhat.com>
| * drm/radeon/kms: print GPU family and device id when loadingJerome Glisse2010-04-192-2/+54
| | | | | | | | | | | | | | This will help figuring out GPU when looking at bugs log. Signed-off-by: Jerome Glisse <jglisse@redhat.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
| * drm/radeon/kms: fix calculation of mipmapped 3D texture sizesMarek Olšák2010-04-121-5/+10
| | | | | | | | | | | | | | The 3rd dimension should be minified too. Signed-off-by: Marek Olšák <maraeo@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
| * drm/radeon/kms: only change mode when coherent value changes.Dave Airlie2010-04-121-2/+6
| | | | | | | | | | | | | | | | | | On X startup we were getting a flicker where there shouldn't have been one. the X DDX calls the kernel to set the properties to the same values (yes it could be smarter), however the kernel was doing a pointless modeset then, making my nice smooth boot ugly. Signed-off-by: Dave Airlie <airlied@redhat.com>
| * drm/radeon/kms: more atom parser fixes (v2)Alex Deucher2010-04-101-0/+10
| | | | | | | | | | | | | | | | | | | | | | shr/shl ops need the full dst rather than the pre-masked version. Fixes fdo bug 27478 and kernel bug 15738. v2: remove some unsed vars, add comments Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Cc: stable <stable@kernel.org> Signed-off-by: Dave Airlie <airlied@redhat.com>
* | Merge branch 'drm-linus' of ↵Linus Torvalds2010-04-098-57/+77
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: (29 commits) drm/nouveau: bail out of auxch transaction if we repeatedly recieve defers drm/nv50: implement gpio set/get routines drm/nv50: parse/use some more de-magiced parts of gpio table entries drm/nouveau: store raw gpio table entry in bios gpio structs drm/nv40: Init some tiling-related PGRAPH state. drm/nv50: Add NVA3 support in ctxprog/ctxvals generator. drm/nv50: another dodgy DP hack drm/nv50: punt hotplug irq handling out to workqueue drm/nv50: preserve an unknown SOR_MODECTRL value for DP encoders drm/nv50: Allow using the NVA3 new compute class. drm/nv50: cleanup properly if PDISPLAY init fails drm/nouveau: fixup the init failure paths some more drm/nv50: fix instmem init on IGPs if stolen mem crosses 4GiB mark drm/nv40: add LVDS table quirk for Dell Latitude D620 drm/nv40: rework lvds table parsing drm/nouveau: detect vram amount once, and save the value drm/nouveau: remove some unused members from drm_nouveau_private drm/nouveau: Make use of TTM busy_placements. drm/nv50: add more 0x100c80 flushy magic drm/nv50: fix fbcon when framebuffer above 4GiB mark ...
| * drm/radeon/kms/combios: verify dac_adj values are validAlex Deucher2010-04-071-5/+15
| | | | | | | | | | | | | | | | | | | | | | Some vbios dac_adj tables are all zeros. Check for that case and use the default table if so. Should fix fdo bug 27478. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Cc: stable <stable@kernel.org> Signed-off-by: Dave Airlie <airlied@redhat.com>
| * drm/radeon/kms: clean up atom dac handlingAlex Deucher2010-04-071-14/+7
| | | | | | | | | | | | | | | | | | - make sure legacy dac1 has an enc priv - remove unused num var - no need for extra tv_dac var in atom dac functions Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
| * drm/radeon/kms: legacy tv dac cleanupAlex Deucher2010-04-071-25/+33
| | | | | | | | | | | | | | | | - fix formatting - clean up tv_dac_cntl handling for tv Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
| * drm/radeon/kms: small memory leak in atom exit codeDan Carpenter2010-04-071-2/+5
| | | | | | | | | | | | | | | | | | This is an unlikely memory leak, but we may as well fix it. It's easy to fix and every static checker will complain if we don't. Signed-off-by: Dan Carpenter <error27@gmail.com> Reviewed-by: Matt Turner <mattst88@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
| * drm/radeon/kms: fix washed out image on legacy tv dacAlex Deucher2010-04-061-1/+1
| | | | | | | | | | | | | | | | | | bad cast was overwriting the tvdac adj values Fixes fdo bug 27478 Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Cc: stable@kernel.org Signed-off-by: Dave Airlie <airlied@redhat.com>
| * drm/radeon/kms/atom: fix gpio i2c table overrun (v2)Alex Deucher2010-04-061-4/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The GPIO_I2C_INFO table does not always have ATOM_MAX_SUPPORTED_DEVICE entries. Limit the number of indices to the size of the table. Should fix Novell bug 589022. v2: fix typo Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Cc: Stable <stable@kernel.org> Signed-off-by: Dave Airlie <airlied@redhat.com>
| * drm/radeon: R300 AD only has one quad pipe.Michel Dänzer2010-04-062-6/+9
| | | | | | | | | | | | | | | | | | | | Gleaned from the Mesa code. Fixes https://bugs.freedesktop.org/show_bug.cgi?id=27355 . Signed-off-by: Michel Dänzer <daenzer@vmware.com> Cc: stable@kernel.org Signed-off-by: Dave Airlie <airlied@redhat.com>
* | Merge branch 'master' into export-slabhTejun Heo2010-04-0547-1518/+2128
|\ \ | |/
| * drm/radeon/kms: enable ACPI powermanagement mode on radeon gpus.Dave Airlie2010-04-012-0/+8
| | | | | | | | | | | | | | Some GPUs have an APM/ACPI PM mode selection switch and some BIOSes set this to APM. We really want this in ACPI mode for Linux. Signed-off-by: Dave Airlie <airlied@redhat.com>
| * drm/radeon/kms: rs400/480 should set common registers.Dave Airlie2010-04-011-0/+2
| | | | | | | | | | | | These GPUs should be setting these registers up also. Signed-off-by: Dave Airlie <airlied@redhat.com>
| * drm/radeon/kms: add sanity check to wptr.Dave Airlie2010-04-011-0/+2
| | | | | | | | | | | | | | | | If we resume in a bad way, we'll get 0xffffffff in wptr, and then oops with no console. This just adds a sanity check so that we can avoid the oops and hopefully get more details out of people's systems. Signed-off-by: Dave Airlie <airlied@redhat.com>
| * drm/radeon/kms/evergreen: get DP workingAlex Deucher2010-04-011-3/+12
| | | | | | | | | | | | | | Need to enable the VID stream after link training Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
| * drm/radeon/kms: add hw_i2c module optionAlex Deucher2010-03-313-3/+10
| | | | | | | | | | | | | | | | | | | | Turn off hw i2c by default except for mm i2c which is hw only until we sort out the remaining prescale issues on older chips. hw i2c can be enabled with hw_i2c=1. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
| * drm/radeon/kms: use new pre/post_xfer i2c bit algo hooksAlex Deucher2010-03-313-79/+64
| | | | | | | | | | | | | | | | | | | | This allows us to remove the internal bit algo bus used by the radeon i2c algo. We now register a radeon algo adapter if the gpio line is hw capable and the hw inplementation is available, otherwise we register a bit algo adapter. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
| * Merge branch 'v2.6.34-rc2' into drm-linusDave Airlie2010-03-312-23/+23
| |\
| * | drm/radeon/kms: disable MSI on IGP chipsAlex Deucher2010-03-311-5/+3
| | | | | | | | | | | | | | | | | | | | | | | | Doesn't seem to work reliably and the pci quirks don't always work. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
| * | drm/radeon/kms: display watermark updates (v2)Alex Deucher2010-03-319-21/+155
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Add module option to force the display priority 0 = auto, 1 = normal, 2 = high - Default to high on r3xx/r4xx/rv515 chips Fixes flickering problems during heavy acceleration due to underflow to the display controllers - Fill in minimal support for RS600 v2 - update display priority when bandwidth is updated so the user can change the parameter at runtime and it will take affect on the next modeset. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
| * | drm/radeon/kms/dp: disable training pattern on the sink at the end of link ↵Alex Deucher2010-03-311-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | training Seems to have gotten lost in the evergreen merge. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
| * | drm/radeon/kms: minor fixes for eDP with LCD* device tags (v2)Alex Deucher2010-03-312-5/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some systems have LCD* rather than DFP* device tags in the bios for eDP connectors; notably the new apple iMac. This fixes things up so eDP connectors with either tag will work. v2: fix typo Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
| * | drm/radeon/kms/dp: remove extraneous training complete callAlex Deucher2010-03-311-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | Looks like a copy/paste typo from when evergreen support was added. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
| * | drm/radeon/kms/atom: minor fixes to transmitter setupAlex Deucher2010-03-311-33/+21
| | | | | | | | | | | | | | | | | | | | | | | | - 8 lane links are not valid for DP - remove unused num var Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
| * | drm/radeon/kms: Only restrict BO to visible VRAM size when pinning to VRAM.Michel Dänzer2010-03-311-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | This prevented radeon.test=1 from testing transfers from/to GTT beyond the visible VRAM size. Signed-off-by: Michel Dänzer <daenzer@vmware.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
| * | drm/radeon/kms: fix macbookpro connector quirkAlex Deucher2010-03-311-0/+2
| | | | | | | | | | | | | | | Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
| * | drm/radeon/r6xx/r7xx: further safe reg clean upAlex Deucher2010-03-311-19/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | - 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: bump the UMS driver version for r6xx/r7xx const buffer supportAlex Deucher2010-03-311-1/+2
| | | | | | | | | | | | | | | Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
| * | drm/radeon/kms: bump the version for r6xx/r7xx const buffer supportAlex Deucher2010-03-311-1/+2
| | | | | | | | | | | | | | | 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-313-60/+112
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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/kms: fix some typos in r6xx/r7xx hpd setupAlex Deucher2010-03-311-7/+7
| | | | | | | | | | | | | | | 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/+0
| | | | | | | | | | | | | | | | | | | | | 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: Fix NULL pointer dereference if memory allocation failed.Pauli Nieminen2010-03-311-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When there is allocation failure in radeon_cs_parser_relocs parser->nrelocs is not cleaned. This causes NULL pointer defeference in radeon_cs_parser_fini when clean up code is trying to loop over the relocation array and free the objects. Fix adds a check for a possible NULL pointer in clean up code. Signed-off-by: Pauli Nieminen <suokkos@gmail.com> Cc: stable@kernel.org Signed-off-by: Dave Airlie <airlied@redhat.com>
| * | drm/radeon/kms: avoid possible oops (call gart_fini before gart_disable)Jerome Glisse2010-03-316-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | radeon_gart_fini might call GART unbind callback function which might try to access GART table but if gart_disable is call first the GART table will be unmapped so any access to it will oops. Signed-off-by: Jerome Glisse <jglisse@redhat.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
| * | drm/radeon/kms: don't print error on -ERESTARTSYS.Dave Airlie2010-03-311-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | We can get this if the user moves the mouse when we are waiting to move some stuff around in the validate. Don't fail. Cc: stable@kernel.org Signed-off-by: Dave Airlie <airlied@redhat.com>
| * | drm/radeon/kms/atom: make sure tables are valid (v2)Alex Deucher2010-03-317-242/+272
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Check that atom cmd and data tables are valid before using them. (v2) - fix some whitespace errors noticed by Rafał Miłecki - check a few more cases Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
| * | drm/radeon/kms: remove lvds quirksAlex Deucher2010-03-312-33/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - no longer needed with the latest new pll algo fixes. - also don't use lcd pll limits. They don't seem to work well for all systems. If we have a case where they are useful, we can set the flag for that case. fixes fdo bug 27083 Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
| * | drm/radeon/kms: fix display bandwidth setup on rs4xxAlex Deucher2010-03-311-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | I missed rs4xx in 7f1e613daf0fdd0884316ab25a749db3c671329e Fixes fdo bug 27219. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
| * | drm/radeon/kms: never treat rs4xx as AGPAlex Deucher2010-03-311-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | RS4xx+ IGP chips use an internal gart, however, some of them have the agp cap bits set in their pci configs. Make sure to clear the AGP flag as AGP will not work with them. Should fix fdo bug 27225 Signed-off-by: Alex Deucher <alexdeucher@gmail.com> cc: stable@kernel.org Signed-off-by: Dave Airlie <airlied@redhat.com>