aboutsummaryrefslogtreecommitdiff
path: root/drivers/gpu/drm
AgeCommit message (Collapse)AuthorFilesLines
2010-07-26drm/i915: Clear any existing dither mode prior to enabling spatial ditheringChris Wilson1-0/+1
We cannot the initial configuration set by the BIOS not to have a dither mode enabled which conflicts with our enabling the Spatial Temporal 1 dither mode for PCH. In particular, the BIOS may either enable temporal dithering or the Spatial Temporal 2 with the result that we enable pure temporal dithering. Temporal dithering looks bad and is perceived as a flicker. Fixes: Bug 29248 - [Arrandale] Annoying flicker on internal panel, goes away after suspend to RAM https://bugs.freedesktop.org/show_bug.cgi?id=29248 Signed-off-by: Chris Wilson <[email protected]> Signed-off-by: Eric Anholt <[email protected]>
2010-07-26drm/i915: handle shared framebuffers when flippingJesse Barnes1-3/+7
If a framebuffer is shared across CRTCs, the x,y position of one of them is likely to be something other than the origin (e.g. for extended desktop configs). So calculate the offset at flip time so such configurations can work. Fixes https://bugs.freedesktop.org/show_bug.cgi?id=28518. Signed-off-by: Jesse Barnes <[email protected]> Tested-by: Thomas M. <[email protected]> Tested-by: fangxun <[email protected]> Cc: [email protected] Signed-off-by: Eric Anholt <[email protected]>
2010-07-05drm/i915: Explosion following OOM in do_execbuffer.Chris Wilson1-1/+2
Oops, when merging the extra details following an OOM, I missed that driver_private is now NULL and the correct way to convert from the drm_gem_object into the drm_i915_gem_object is to use to_intel_bo(). BUG: unable to handle kernel NULL pointer dereference at 00000069 IP: [<c11a4a02>] i915_gem_do_execbuffer+0x71f/0xbb6 *pde = 00000000 Oops: 0000 [#1] SMP last sysfs file: /sys/devices/virtual/vc/vcsa3/uevent Pid: 10993, comm: X Not tainted 2.6.35-rc2+ #67 / EIP: 0060:[<c11a4a02>] EFLAGS: 00213202 CPU: 0 EIP is at i915_gem_do_execbuffer+0x71f/0xbb6 EAX: f647e8a8 EBX: 00000000 ECX: 00000003 EDX: 00000000 ESI: 00424000 EDI: 00000000 EBP: f6508e48 ESP: f6508dd4 DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068 Process X (pid: 10993, ti=f6508000 task=f6432880 task.ti=f6508000) Stack: f6508de0 f7130000 00000001 00000000 00000000 f647e8a8 00000000 f64f8480 <0> f7974414 00000000 00000006 00000000 00000000 f6578000 00000008 00000006 <0> f6797880 00400000 00000000 ffffffe4 f7974400 000000d0 000000d0 000001c0 Call Trace: [<c11a4f3a>] ? i915_gem_execbuffer2+0xa1/0xe7 [<c118ab96>] ? drm_ioctl+0x22c/0x2fa [<c11a4e99>] ? i915_gem_execbuffer2+0x0/0xe7 [<c107e88c>] ? do_sync_read+0x8f/0xca [<c1088cbd>] ? vfs_ioctl+0x2c/0x96 [<c118a96a>] ? drm_ioctl+0x0/0x2fa [<c10891f4>] ? do_vfs_ioctl+0x429/0x45a [<c107e5c9>] ? fsnotify_access+0x54/0x5f [<c107ee1c>] ? vfs_read+0x9a/0xae [<c1089258>] ? sys_ioctl+0x33/0x4d [<c1002610>] ? sysenter_do_call+0x12/0x26 Code: d0 89 4d c4 31 c9 89 45 d8 eb 44 8b 45 cc 8b 14 88 8b 42 50 89 45 bc 8b 45 a0 8b 52 38 89 55 d0 31 d2 f6 40 20 01 74 0d 8b 55 bc <f6> 42 69 30 0f 95 c2 0f b6 d2 8b 45 d0 c7 45 d4 00 00 00 00 89 EIP: [<c11a4a02>] i915_gem_do_execbuffer+0x71f/0xbb6 SS:ESP 0068:f6508dd4 CR2: 0000000000000069 ---[ end trace 3f1d514b34d39381 ]--- Signed-off-by: Chris Wilson <[email protected]> Signed-off-by: Eric Anholt <[email protected]>
2010-07-05gpu/drm/i915: Add a blacklist to omit modeset on LID openThomas Bächler1-0/+23
On some machines (currently only the Toshiba Tecra A11 is known), the GPU locks up when modeset is forced on LID open. This patch adds a new DMI blacklist and omits modesetting for all matches. Fixes https://bugzilla.kernel.org/show_bug.cgi?id=15550 Signed-off-by: Thomas Bächler <[email protected]> Signed-off-by: Eric Anholt <[email protected]>
2010-07-01Merge branch 'for-linus' of ↵Linus Torvalds12-64/+140
git://git.kernel.org/pub/scm/linux/kernel/git/anholt/drm-intel * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/anholt/drm-intel: drm/i915: fix page flip finish vs. prepare on plane B drm/i915: change default panel fitting mode to preserve aspect ratio drm/i915: fix uninitialized variable warning in i915_setup_compression() drm/i915: take struct_mutex in i915_dma_cleanup() drm/i915: Fix CRT hotplug regression in 2.6.35-rc1 i915: fix ironlake edp panel setup (v4) drm/i915: don't access FW_BLC_SELF on 965G drm/i915: Account for space on the ring buffer consumed whilst wrapping. drm/i915: gen3 page flipping fixes drm/i915: don't queue flips during a flip pending event drm/i915: Fix incorrect intel_ring_begin size in BSD ringbuffer. drm/i915: Turn on 945 self-refresh only if single CRTC is active drm/i915/gen4: Fix interrupt setup ordering drm/i915: Use RSEN instead of HTPLG for tfp410 monitor detection. drm/i915: Move non-phys cursors into the GTT Revert "drm/i915: Don't enable pipe/plane/VCO early (wait for DPMS on)." (Included the "fix page flip finish vs. prepare on plane B" patch from Jesse on top of the pull request from Eric. -- Linus)
2010-07-01drm/i915: fix page flip finish vs. prepare on plane BJesse Barnes1-1/+1
The refreshed patch had a copy & paste bug. Reported-by: Simon Farnsworth <[email protected]> Signed-off-by: Jesse Barnes <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2010-07-01drm/i915: fix hibernation since i915 self-reclaim fixesLinus Torvalds1-1/+1
Since commit 4bdadb9785696439c6e2b3efe34aa76df1149c83 ("drm/i915: Selectively enable self-reclaim"), we've been passing GFP_MOVABLE to the i915 page allocator where we weren't before due to some over-eager removal of the page mapping gfp_flags games the code used to play. This caused hibernate on Intel hardware to result in a lot of memory corruptions on resume. See for example http://bugzilla.kernel.org/show_bug.cgi?id=13811 Reported-by: Evengi Golov (in bugzilla) Signed-off-by: Dave Airlie <[email protected]> Tested-by: M. Vefa Bicakci <[email protected]> Cc: [email protected] Cc: Chris Wilson <[email protected]> Cc: KOSAKI Motohiro <[email protected]> Cc: Hugh Dickins <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2010-07-01drm/i915: change default panel fitting mode to preserve aspect ratioJesse Barnes1-2/+2
We did this a long time ago in the DDX driver, but now this fix belongs in the kernel. Preserving the aspect ratio is a nicer default. Fixes https://bugs.freedesktop.org/show_bug.cgi?id=18033. Tested-by: Josh Triplett <[email protected]> Signed-off-by: Jesse Barnes <[email protected]> Signed-off-by: Eric Anholt <[email protected]>
2010-07-01drm/i915: fix uninitialized variable warning in i915_setup_compression()Prarit Bhargava1-1/+1
Fixes: drivers/gpu/drm/i915/i915_dma.c: In function ‘i915_setup_compression’: drivers/gpu/drm/i915/i915_dma.c:1311: error: ‘compressed_llb’ may be used uninitialized in this function Signed-off-by: Prarit Bhargava <[email protected]> Signed-off-by: Eric Anholt <[email protected]>
2010-07-01drm/i915: take struct_mutex in i915_dma_cleanup()Dan Carpenter1-0/+2
intel_cleanup_ring_buffer() calls drm_gem_object_unreference() (as opposed to drm_gem_object_unreference_unlocked()) so it needs to be called with "struct_mutex" held. If we don't hold the lock, it triggers a BUG_ON(!mutex_is_locked(&dev->struct_mutex)); I also audited the other places that call intel_cleanup_ring_buffer() and they all hold the lock so they're OK. This was introduced in: 8187a2b70e3 "drm/i915: introduce intel_ring_buffer structure (V2)" and it's a regression from v2.6.34. Addresses: https://bugzilla.kernel.org/show_bug.cgi?id=16247 Signed-off-by: Dan Carpenter <[email protected]> Reported-by: Benny Halevy <[email protected]> Tested-by: Benny Halevy <[email protected]> Signed-off-by: Eric Anholt <[email protected]>
2010-07-01drm/i915: Fix CRT hotplug regression in 2.6.35-rc1Andy Lutomirski3-8/+11
Commit 7a772c492fcfffae812ffca78a628e76fa57fe58 has two bugs which made the hotplug problems on my laptop worse instead of better. First, it did not, in fact, disable the CRT plug interrupt -- it disabled all the other hotplug interrupts. It seems rather doubtful that that bit of the patch fixed anything, so let's just remove it. (If you want to add it back, you probably meant ~CRT_HOTPLUG_INT_EN.) Second, on at least my GM45, setting CRT_HOTPLUG_ACTIVATION_PERIOD_64 and CRT_HOTPLUG_VOLTAGE_COMPARE_50 (when they were previously unset) causes a hotplug interrupt about three seconds later. The old code never restored PORT_HOTPLUG_EN so this could only happen once, but they new code restores those registers. So just set those bits when we set up the interrupt in the first place. Signed-off-by: Andy Lutomirski <[email protected]> Signed-off-by: Eric Anholt <[email protected]>
2010-07-01i915: fix ironlake edp panel setup (v4)Dave Airlie1-3/+24
The eDP spec claims a 20% overhead for the 8:10 encoding scheme used on the wire. Take this into account when picking the lane/clock speed for the panel. v3: some panels are out of spec, try our best to deal with them, don't refuse modes on eDP panels, and try the largest allowed settings if all else fails on eDP. v4: fix stupid typo, forgot to git add before amending. Fixes several reports in bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=28070 Signed-off-by: Dave Airlie <[email protected]> Signed-off-by: Eric Anholt <[email protected]>
2010-07-01drm/i915: don't access FW_BLC_SELF on 965GJesse Barnes2-4/+6
The register offset for FW_BLC_SELF is a totally different set of bits on Broadwater (it's actually MI_RDRET_STATE), so don't treat it like FW_BLC_SELF on 965G chips. Fixes bug https://bugs.freedesktop.org/show_bug.cgi?id=26874. Cc: [email protected] Tested-by: Norman Yarvin <[email protected]> Signed-off-by: Jesse Barnes <[email protected]> Signed-off-by: Eric Anholt <[email protected]>
2010-07-01drm/i915: Account for space on the ring buffer consumed whilst wrapping.Chris Wilson1-0/+1
If we fill the tail of the physical ring buffer with NOOP when wrapping, we need to account for the reduction in available space. Signed-off-by: Chris Wilson <[email protected]> Signed-off-by: Eric Anholt <[email protected]>
2010-07-01drm/radeon/kms: remove rv100 bios connector quirkAlex Deucher1-9/+0
Some RV100 cards with 2 VGA ports show up with DVI+VGA, however some boards with DVI+VGA have the same subsystem ids. Better to have a VGA port show up as DVI than having a non-useable DVI port. reported by DHR in irc. Signed-off-by: Alex Deucher <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-07-01drm/radeon/kms/pm: fix power state indexing on igp chips in dynpm modeAlex Deucher1-3/+8
Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=28745 Signed-off-by: Alex Deucher <[email protected]> Tested-by: Rafał Miłecki <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-07-01DRM / radeon / KMS: Fix hibernation regression related to radeon PM (was: ↵Rafael J. Wysocki2-8/+36
Re: [Regression, post-2.6.34] Hibernation broken on machines with radeon/KMS and r300) There is a regression from 2.6.34 related to the recent radeon power management changes, caused by attempting to cancel a delayed work item that's never been scheduled. However, the code as is has some other issues potentially leading to visible problems. First, the mutex around cancel_delayed_work() in radeon_pm_suspend() doesn't really serve any purpose, because cancel_delayed_work() only tries to delete the work's timer. Moreover, it doesn't prevent the work handler from running, so the handler can do some wrong things if it wins the race and in that case it will rearm itself to do some more wrong things going forward. So, I think it's better to wait for the handler to return in case it's already been queued up for execution. Also, it should be prevented from rearming itself in that case. Second, in radeon_set_pm_method() the cancel_delayed_work() is not sufficient to prevent the work handler from running and queing up itself for the next run (the failure scenario is that cancel_delayed_work() returns 0, so the handler is run, it waits on the mutex and then rearms itself after the mutex has been released), so again the work handler should be prevented from rearming itself in that case.. Finally, there's a potential deadlock in radeon_pm_fini(), because cancel_delayed_work_sync() is called under rdev->pm.mutex, but the work handler tries to acquire the same mutex (if it wins the race). Fix the issues described above. Signed-off-by: Rafael J. Wysocki <[email protected]> Reviewed-by: Alex Deucher <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-07-01drm/radeon/kms/igp: fix possible divide by 0 in bandwidth code (v2)Alex Deucher3-17/+23
Some IGP systems specify the system memory clock in the Firmware table rather than the IGP info table. Check both and make sure we have a value system memory clock value. v2: make sure rs690_pm_info is called on rs780/rs880 as well. fixes a regression since 07d4190327b02ab3aaad25a2d168f79d92e8f8c2. Reported-by: Markus Trippelsdorf <[email protected]> Signed-off-by: Alex Deucher <[email protected]> Tested-by: Markus Trippelsdorf <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-07-01drm/radeon: add quirk to make HP nx6125 laptop resume.Dave Airlie1-0/+8
For some reason on resume, executing the BIOS scripts locks up the whole chipset, by avoiding the dynclk table the machine resumes properly and seems to function okay. Signed-off-by: Dave Airlie <[email protected]>
2010-07-01drm/radeon/kms: add some missing regs to evergreen gpu initAlex Deucher2-0/+26
Signed-off-by: Alex Deucher <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-07-01drm/radeon/kms: fix typos in evergreen command checkerAlex Deucher2-7/+7
Signed-off-by: Alex Deucher <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-07-01drm/radeon/kms: avoid oops on mac r4xx cardsAlex Deucher1-0/+7
They don't have an atombios so don't attempt to use it for eng/mem clocks. Reported by spoonb on #radeon fixes: https://bugs.freedesktop.org/show_bug.cgi?id=28671 Signed-off-by: Alex Deucher <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-07-01drm/radeon/kms: Force HDP_NONSURF to maximum sizeJerome Glisse3-3/+3
HDP non surface should cover the whole VRAM but we were misscomputing the size and we endup in some case not covering the VRAM at all (if VRAM size were > 1G). Covering more than the VRAM size shouldn't be an issue. Fix : https://bugs.freedesktop.org/show_bug.cgi?id=28016 [airlied: add evergreen fix] Signed-off-by: Jerome Glisse <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-07-01drm/radeon/kms: disable frac fb dividers for rs6xxAlex Deucher1-1/+1
Should fix fdo bug 28331: https://bugs.freedesktop.org/show_bug.cgi?id=28331 Signed-off-by: Alex Deucher <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-07-01drm/radeon/kms: don't read attempt to read bios from VRAM on unposted GPU.Dave Airlie1-0/+4
Since the VGA switcheroo, we'd attempt to read the BIOS from VRAM on startup but on some unposted cards this can cause hangs/crashes. Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=28592 (further problem pointed out by agd5f on IGP systems) Reported-by: Reilithion on #radeon Signed-off-by: Dave Airlie <[email protected]>
2010-07-01drm/radeon/kms: fix typo in evergreen_gpu_initAlex Deucher1-5/+5
Signed-off-by: Alex Deucher <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-07-01drm/radeon/kms: return ret in cursor_set failure pathMatt Turner1-1/+1
We were returning 0 in both the success and failure paths. Noticed while investigating FDO bug 26403. Signed-off-by: Matt Turner <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-07-01drm/ttm: non pooled page allocation should have GFP_USER setJerome Glisse1-1/+1
Non pooled page allocation should have GFP_USER set so allocation can wait and reclaim page from other process (ie non atomic). Signed-off-by: Jerome Glisse <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-07-01drm/radeon/r100/r200: fix calculation of compressed cube mapsRoland Scheidegger1-27/+31
This needs similar handling to other compressed textures. Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=26428 Signed-off-by: [email protected] Signed-off-by: Alex Deucher <[email protected]> Cc: stable <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-07-01drm/radeon/r200: handle more hw tex coord typesRoland Scheidegger1-0/+2
Code did not handle projected 2d and depth coordinates, meaning potentially set 3d or cube special handling might stick. (Not sure what depth coord actually does, but I guess handling it like a normal coordinate is the right thing to do.) Might be related to https://bugs.freedesktop.org/show_bug.cgi?id=26428 Signed-off-by: [email protected] Signed-off-by: Alex Deucher <[email protected]> Cc: stable <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-07-01drm/radeon/kms: CS checker texture fixes for r1xx/r2xx/r3xxRoland Scheidegger3-0/+11
fixes: https://bugs.freedesktop.org/show_bug.cgi?id=28459 agd5f: apply to r1xx/r2xx as well. Signed-off-by: Roland Scheidegger <[email protected]> Cc: [email protected] Signed-off-by: Alex Deucher <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-07-01drm/radeon: add fake RN50 table for powerpcDave Airlie2-0/+33
This works well enough on a js21, but it would be nice if IBM could supply more tables for the later Power6/7 machines. Signed-off-by: Dave Airlie <[email protected]>
2010-07-01drm/fb: Fix video= mode computationAdam Jackson1-6/+13
Reduced blanking is valid only when doing CVT modes. Also, generate GTF modes unless CVT was requested; CVT devices are required to support GTF, but the reverse is not true. [airlied: fix typo] Signed-off-by: Adam Jackson <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-07-01drm/radeon/kms: fix DP after DPMS cycleAlex Deucher1-2/+2
The transmitter needs to be enabled before the link is trained. Reported-By: Lars Doelle <[email protected]> Signed-off-by: Alex Deucher <[email protected]> Cc: stable <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-07-01drm/radeon/kms: fix dpms state on resumeCedric Godin1-0/+7
When suspending, we turn the display hw off, at resume the screen will stay black. This patch turn it on. Fixes: https://bugzilla.kernel.org/show_bug.cgi?id=16180 Signed-off-by: Cedric Godin <[email protected]> Signed-off-by: Alex Deucher <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-07-01drm/radeon/kms: fix bandwidth calculation when sideport is presentAlex Deucher1-5/+1
Fixes fdo bug 27529: https://bugs.freedesktop.org/show_bug.cgi?id=27529 Reported-by: [email protected] Signed-off-by: Alex Deucher <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-06-18drm/i915: gen3 page flipping fixesJesse Barnes6-9/+46
Gen3 chips have slightly different flip commands, and also contain a bit that indicates whether a "flip pending" interrupt means the flip has been queued or has been completed. So implement support for the gen3 flip command, and make sure we use the flip pending interrupt correctly depending on the value of ECOSKPD bit 0. Signed-off-by: Jesse Barnes <[email protected]> Signed-off-by: Eric Anholt <[email protected]>
2010-06-18drm/i915: don't queue flips during a flip pending eventJesse Barnes1-0/+11
Hardware will set the flip pending ISR bit as soon as it receives the flip instruction, and (supposedly) clear it once the flip completes (e.g. at the next vblank). If we try to send down a flip instruction while the ISR bit is set, the hardware can become very confused, and we may never receive the corresponding flip pending interrupt, effectively hanging the chip. Signed-off-by: Jesse Barnes <[email protected]> Signed-off-by: Eric Anholt <[email protected]>
2010-06-14drm/i915: Fix incorrect intel_ring_begin size in BSD ringbuffer.Zou Nan hai2-5/+6
The ring_begin API was taking a number of bytes, while all of our other begin/end macros take number of dwords. Change the API over to dwords to prevent future bugs. Signed-off-by: Zou Nan hai <[email protected]> Signed-off-by: Eric Anholt <[email protected]>
2010-06-14drm/i915: Turn on 945 self-refresh only if single CRTC is activeLi Peng1-5/+7
Enable self-refresh on 945 when just one CRTC is activated. Otherwise user would get display flicker with dual display. This fixes https://bugs.freedesktop.org/show_bug.cgi?id=27667 Signed-off-by: Li Peng <[email protected]> Reviewed-by: Adam Jackson <[email protected]> Signed-off-by: Eric Anholt <[email protected]>
2010-06-15radeon/kms: fix powerpc/rn50 untiled behaviour.Dave Airlie1-6/+14
Installing 2.6.34 on a Power5/rn50 combo machine, X showed buggy sw rendering, enabling tiling in the DDX fixed it. Investigation showed that a further /16 was needed in the untiled case on this chipset. Need further investigations on what other chips this could affect, possibly rv100->rv280. Signed-off-by: Dave Airlie <[email protected]>
2010-06-15drm/radeon: fix dual-head on rv250Dave Airlie1-13/+9
Plugged in FireMV with the rv250 on it, and the second crtc/dac didn't work, we were reading/writing different registers than we were modifying in the code. Signed-off-by: Dave Airlie <[email protected]>
2010-06-08Revert "drm/i915: Don't enable pipe/plane/VCO early (wait for DPMS on)."Linus Torvalds1-0/+5
This reverts commit cfecde435dda78248d6fcdc424bed68d5db6be0b, since it seems to cause some systems to not come up with any video output at all (or video that only comes on when X starts up). Fixes bugzilla: http://bugzilla.kernel.org/show_bug.cgi?id=16163 Reported-and-tested-by: David John <[email protected]> Tested-by: Nick Bowler <[email protected]> Acked-by: Carl Worth <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2010-06-08drm/radeon: don't poll tv dac if crtc2 is in use.Dave Airlie1-0/+11
So when we added output polling, we'd suddenly use this code more often, and the fact that it always takes over crtc2 and messes with it during probing isn't what we really want to be happening. A more complete fix would to change it to use whatever crtc was free at the time, but for now lets stay simple and just don't poll if crtc2 is already in use. Although a more correct fix was found I suspect we should do this as well, until we get a chance to readdres the tv out polling issues. Reported-by: Torsten Kaiser <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-06-08drm/radeon: reset i2c valid to avoid incorrect tv-out polling.Dave Airlie1-0/+2
We really don't want to be polling tv-out but since we weren't forcing the i2c lines to invalid (tv-out has no DDC), we were adding tv connectors to the polling setup and this was causing blinking on secondary displays. This fixes the regression Torsten reported. Reported-by: Torsten Kaiser <[email protected]> Tested-by: Torsten Kaiser <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-06-08drm/nv50: fix iommu errors caused by device reading from address 0Ben Skeggs1-2/+8
Signed-off-by: Ben Skeggs <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-06-08drm/nouveau: off by one in init_i2c_device_find()Dan Carpenter1-1/+1
dcb->i2c[] has DCB_MAX_NUM_I2C_ENTRIES entries. Signed-off-by: Dan Carpenter <[email protected]> Signed-off-by: Ben Skeggs <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-06-08nouveau: off by one in nv50_gpio_location()Dan Carpenter1-1/+1
If "gpio->line" is 32 then "nv50_gpio_reg[gpio->line >> 3]" reads past the end of the array. Signed-off-by: Dan Carpenter <[email protected]> Signed-off-by: Ben Skeggs <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-06-08drm/nouveau: completely fail init if we fail to map the PRAMIN BARBen Skeggs1-12/+7
On cards where there's a specific BAR for PRAMIN, we used to try and fall back to the "legacy" aperture within the mmio BAR. This is doomed to cause problems, so lets just fail completely as there's obviously something else very wrong anyway. Signed-off-by: Ben Skeggs <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-06-08drm/nouveau: match U/DP script against SOR linkBen Skeggs1-3/+20
It appears version 0x21 'U' and 'd' tables require us to take the SOR link into account when selecting the appropriate table for a particular output. Signed-off-by: Ben Skeggs <[email protected]> Signed-off-by: Dave Airlie <[email protected]>