summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* drm/ttm: Remove the ttm_bo_block_reservation() function.Thomas Hellstrom2010-05-072-57/+1
| | | | | | | | It's unused and buggy in its current form, since it can place a bo in the reserved state without removing it from lru lists. Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/ttm: Remove some leftover debug messages.Thomas Hellstrom2010-05-071-4/+1
| | | | | Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon: async event synchronization for drmWaitVblankJerome Glisse2010-05-071-0/+2
| | | | | | | | | | Bring radeon up to speed with the async event synchronization for drmWaitVblank. See c9a9c5e02aedc1a2815877b0268f886d2640b771 for more information. Without this patch event never get delivered to userspace client. Signed-off-by: Jerome Glisse <jglisse@redhat.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms/legacy: only enable load detection property on DVI-IAlex Deucher2010-05-051-0/+2
| | | | | | | DVI-D doesn't have analog. This matches the avivo behavior. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: fix panel scaling adjusted mode setupAlex Deucher2010-05-053-22/+53
| | | | | | | | This should duplicate exactly what the ddx does for both legacy and avivo. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drivers/gpu/drm/drm_sysfs.c: sysfs files error handlingDan Carpenter2010-04-281-9/+12
| | | | | | | | | | | | | | | | | | | | | In the original code we used "j" as an iterator but we used "i" as an index. - for (j = 0; j < i; j++) - device_remove_file(&connector->kdev, - &connector_attrs[i]); Smatch complained about that because "i" was potentially passed the end of the array. Which makes sense if we should be using "j" there. I also thought that we should remove the files for &connector_attrs_opt1 but to do that I had to add separate iterators for &connector_attrs and &connector_attrs_opt1. Signed-off-by: Dan Carpenter <error27@gmail.com> Cc: Greg Kroah-Hartman <gregkh@suse.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drivers/gpu/drm/radeon/radeon_atombios.c: range check issuesDan Carpenter2010-04-282-3/+3
| | | | | | | | | | | | This change makes the array larger, "MAX_SUPPORTED_TV_TIMING_V1_2" is 3 and the original size "MAX_SUPPORTED_TV_TIMING" is 2. Also there were checks that were off by one. Signed-off-by: Dan Carpenter <error27@gmail.com> Acked-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Dave Airlie <airlied@redhat.com>
* gpu: vga_switcheroo, fix lock imbalanceJiri Slaby2010-04-281-2/+4
| | | | | | | | | Stanse found that one error path in vga_switcheroo_debugfs_write omits to unlock vgasr_mutex. Fix that. Signed-off-by: Jiri Slaby <jslaby@suse.cz> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drivers/gpu/drm/drm_memory.c: fix check for end of loopDan Carpenter2010-04-281-1/+1
| | | | | | | | | "agpmem" is never NULL here. Signed-off-by: Dan Carpenter <error27@gmail.com> Cc: Eric Anholt <eric@anholt.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drivers/gpu/drm/via/via_video.c: fix off by one issueDan Carpenter2010-04-281-1/+1
| | | | | | | | | | "fx->lock" is used as the index in "dev_priv->decoder_queue[fx->lock]" which is an array of "VIA_NR_XVMC_LOCKS" elements. Signed-off-by: Dan Carpenter <error27@gmail.com> Acked-by: Thomas Hellstrom <thellstrom@vmware.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms/agp The wrong AGP chipset can cause a NULL pointer dereferenceRobert Fitzsimons2010-04-281-6/+4
| | | | | | | | | | | | Selecting the wrong or no CONFIG_AGP_* chipset can cause a NULL pointer dereference when combined with CONFIG_DRM_RADEON_KMS and an old system with a R100 AGP card (should effect other cards too). The agp field will be set to NULL if no suitable AGP chipset driver is loaded, drm_agp_acquire already preforms a suitable NULL check so it can be used directly. Signed-off-by: Robert Fitzsimons <robfitz@273k.net> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: r300 fix CS checker to allow zbuffer-only fastfillMarek Olšák2010-04-283-3/+3
| | | | Signed-off-by: Marek Olšák <maraeo@gmail.com>
* drm/radeon: Fix sparc regression in r300_scratch()David Miller2010-04-271-1/+1
| | | | | | | | | | | | | | | Commit b4fe945405e477cded91772b4fec854705443dd5 ("drm/radeon: Fix memory allocation failures in the preKMS command stream checking.") added a regression in that it completely tossed the get_unaligned() done by r300_scratch() which we added in commit 958a6f8ccb1964adc3eec84cf401c5baeb4fbca0 ("drm: radeon: Fix unaligned access in r300_scratch()."). Put it back. Signed-off-by: David S. Miller <davem@davemloft.net> Acked-by: Matt Turner <mattst88@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm: make sure vblank interrupts are disabled at DPMS timeJesse Barnes2010-04-271-0/+1
| | | | | | | | | | | When we call drm_vblank_off() at DPMS off time (to wake any clients so they don't hang) we need to make sure interrupts are actually disabled. If drm_vblank_off() gets called before the vblank usage timer expires, it'll prevent the timer from disabling interrupts since it also clears the vblank_enabled flag for the pipe. Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms/evergreen: No EnableYUV tableAlex Deucher2010-04-231-1/+1
| | | | | | | DCE4 cards don't have an EnableYUV table. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon: 9800 SE has only one quadpipeTormod Volden2010-04-233-5/+15
| | | | | | | | | | | | | | Although these cards have 2 pipelines on the silicon only the first passed the QA and the other should be disabled. http://www.digital-daily.com/video/ati-radeon9800se/ http://www.rojakpot.com/showarticle.aspx?artno=101&pgno=1 agd5f: add some other SE cards as well; fix up kms Signed-off-by: Tormod Volden <debian.tormod@gmail.com> Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: don't print error for legal crtcs.Dave Airlie2010-04-231-3/+3
| | | | | | With evergreen this is bounded by num_crtc not by 0,1. Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms/evergreen: fix LUT setupAlex Deucher2010-04-231-4/+4
| | | | | | | Must have gotten broken during an earlier rebase. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm: delay vblank cleanup until after driver unloadJesse Barnes2010-04-201-2/+2
| | | | | | | | | | Drivers may use vblank calls now (e.g. drm_vblank_off) in their unload paths, so don't clean up the vblank related structures until after driver unload. Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org> Reviewed-by: Kristian Høgsberg <krh@bitplanet.net> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: add FireMV 2400 PCI ID.Dave Airlie2010-04-191-0/+1
| | | | | | | | | This is an M24/X600 chip. From RH# 581927 cc: stable@kernel.org 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-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 remote branch 'nouveau/for-airlied' of ../drm-nouveau-next into drm-linusDave Airlie2010-04-0924-241/+429
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 'nouveau/for-airlied' of ../drm-nouveau-next: (21 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/nouveau: bail out of auxch transaction if we repeatedly recieve defersBen Skeggs2010-04-091-1/+7
| | | | | | | | | | | | | | There's one known case where we never stop recieving DEFER, and loop here forever. Lets not do that.. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nv50: implement gpio set/get routinesBen Skeggs2010-04-094-7/+86
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nv50: parse/use some more de-magiced parts of gpio table entriesBen Skeggs2010-04-092-14/+11
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nouveau: store raw gpio table entry in bios gpio structsBen Skeggs2010-04-092-28/+21
| | | | | | | | | | | | And use our own version of the GPIO table for the INIT_GPIO opcode. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nv40: Init some tiling-related PGRAPH state.Francisco Jerez2010-04-091-0/+21
| | | | | | | | | | | | | | | | Fixes garbled 3D on an nv46 card. Reported-by: Francesco Marella <francesco.marella@gmail.com> Signed-off-by: Francisco Jerez <currojerez@riseup.net> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nv50: Add NVA3 support in ctxprog/ctxvals generator.Marcin Kościelnicki2010-04-091-1/+12
| | | | | | | | | | Signed-off-by: Marcin Kościelnicki <koriakin@0x04.net> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nv50: another dodgy DP hackBen Skeggs2010-04-091-0/+3
| | | | | | | | | | | | | | | | Allows *some* DP cards to keep working in some corner cases that most people shouldn't hit. I hit it all the time with development, so this can stay for now. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nv50: punt hotplug irq handling out to workqueueBen Skeggs2010-04-094-5/+12
| | | | | | | | | | | | | | On DP outputs we'll likely end up running vbios init tables here, which may sleep. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nv50: preserve an unknown SOR_MODECTRL value for DP encodersBen Skeggs2010-04-092-1/+22
| | | | | | | | | | | | | | | | | | This value interacts with some registers we don't currently know how to program properly ourselves. The default of 5 that we were using matches what the VBIOS on early DP cards do, but later ones use 6, which would cause nouveau to program an incorrect mode on these chips. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nv50: Allow using the NVA3 new compute class.Marcin Kościelnicki2010-04-091-3/+4
| | | | | | | | | | Signed-off-by: Marcin Kościelnicki <koriakin@0x04.net> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nv50: cleanup properly if PDISPLAY init failsBen Skeggs2010-04-091-1/+3
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nouveau: fixup the init failure paths some moreBen Skeggs2010-04-091-1/+7
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nv50: fix instmem init on IGPs if stolen mem crosses 4GiB markBen Skeggs2010-04-091-3/+4
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nv40: add LVDS table quirk for Dell Latitude D620Ben Skeggs2010-04-091-0/+15
| | | | | | | | | | | | | | | | | | | | | | Should fix: https://bugzilla.redhat.com/show_bug.cgi?id=505132 https://bugzilla.redhat.com/show_bug.cgi?id=543091 https://bugzilla.redhat.com/show_bug.cgi?id=530425 https://bugs.edge.launchpad.net/ubuntu/+source/xserver-xorg-video-nouveau/ +bug/539730 Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nv40: rework lvds table parsingBen Skeggs2010-04-092-28/+17
| | | | | | | | | | | | | | | | | | | | | | All indications seem to be that the version 0x30 table should be handled the same way as 0x40 (as used on G80), at least for the parts that we currently try use. This commit cleans up the parsing to make it clearer about what we're actually trying to achieve, and unifies the 0x30/0x40 parsing. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nouveau: detect vram amount once, and save the valueBen Skeggs2010-04-098-76/+74
| | | | | | | | | | | | | | | | | | | | As opposed to repeatedly reading the amount back from the GPU every time we need to know the VRAM size. We should now fail to load gracefully on detecting no VRAM, rather than something potentially messy happening. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nouveau: remove some unused members from drm_nouveau_privateBen Skeggs2010-04-092-11/+0
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
OpenPOWER on IntegriCloud