summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm (follow)
Commit message (Collapse)AuthorAgeFilesLines
* drm: Include the connector name in the output_poll_execute() debug messageChris Wilson2010-12-221-1/+4
| | | | | | | | Always useful to know just which connector was polled and had its status updated. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: fix bug in r600_gpu_is_lockupAlex Deucher2010-12-211-2/+8
| | | | | | | | We were using the lockup struct from the wrong union. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Cc: Jerome Glisse <jglisse@redhat.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: reorder display resume to avoid problemsAlex Deucher2010-12-212-6/+6
| | | | | | | | | | | | | On resume, we were attemping to unblank the displays before the timing and plls had be reprogrammed which led to atom timeouts waiting for things that are not yet programmed. Re-program the mode first, then reset the dpms state. This fixes the infamous atombios timeouts on resume. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Cc: stable@kernel.org Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms/evergreen: reset the grbm blocks at resume and initAlex Deucher2010-12-211-0/+10
| | | | | | | | | This fixes module reloading and resume as the gfx block seems to be left in a bad state in some cases. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Cc: stable@kernel.org Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: fix evergreen asic resetAlex Deucher2010-12-211-15/+0
| | | | | | | | | | | Only reset the grbm blocks, srbm tends to lock the GPU if not done properly and in most cases is not necessary. Also, no need to call asic init after reset the grbm blocks. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Cc: stable@kernel.org Reviewed-by: Jerome Glisse <jglisse@redhat.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* Revert "drm: Don't try and disable an encoder that was never enabled"Dave Airlie2010-12-211-1/+1
| | | | | | | | | This reverts commit 541cc966915b6756e54c20eebe60ae957afdb537. Wei Yonjun reported this caused a regression against Intel VGA hotplug on his G33 hw. Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon: Add early unregister of firmware fb'sBenjamin Herrenschmidt2010-12-211-0/+19
| | | | | | | | | | | | | Without this, we attempt the handover too late, the firmware fb might be accessing the chip simultaneously to us re-initializing various parts of it, which might frighten babies or cause all sort of nasty psychologic trauma to kitten. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> [danvet: add cc: stable, forward ported and compile-fixed for X86] Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> [airlied: move to even earlier in module load.] Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon: use aperture size not vram size for overlap testsDave Airlie2010-12-201-1/+1
| | | | | | | This fixes a problem where the wrong card conflicts with vesafb in my x2 system. Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms/evergreen: flush hdp cache when flushing gart tlbAlex Deucher2010-12-162-0/+3
| | | | | | | | Make sure vram changes hit memory. This mirrors the 6xx/7xx behavior. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: disable the r600 cb offset checker for linear surfacesAlex Deucher2010-12-161-5/+4
| | | | | | | | | | There are too many strange corner cases triggered in old userspace drivers out there to that it's nearly impossible to not break some obscure app. Cc: Jean Delvare <khali@linux-fr.org> Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: disable ss fixed ref divideAlex Deucher2010-12-161-2/+2
| | | | | | | | | | | Seems to cause problems on certain laptops Fixes: https://bugzilla.kernel.org/show_bug.cgi?id=24462 Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Tested-by: Luca Tettamanti <kronos.it@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* Merge remote branch 'intel/drm-intel-fixes' of /ssd/git/drm-next into drm-fixesDave Airlie2010-12-165-24/+48
|\ | | | | | | | | | | | | | | | | * 'intel/drm-intel-fixes' of /ssd/git/drm-next: drm/i915/bios: Reverse order of 100/120 Mhz SSC clocks agp/intel: Fix missed cached memory flags setting in i965_write_entry() drm/i915/sdvo: Only use the SDVO pin if it is in the valid range drm/i915/ringbuffer: Handle wrapping of the autoreported HEAD drm/i915/dp: Fix I2C/EDID handling with active DisplayPort to DVI converter
| * drm/i915/bios: Reverse order of 100/120 Mhz SSC clocksChris Wilson2010-12-141-1/+1
| | | | | | | | | | | | | | | | | | Fixes the lack of output on the LVDS panel of the Lenovo U160. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=31596 Reported-and-tested-by: Dirk Gouders <gouders@et.bocholt.fh-gelsenkirchen.de> Cc: stable@kernel.org Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
| * drm/i915/sdvo: Only use the SDVO pin if it is in the valid rangeChris Wilson2010-12-091-3/+6
| | | | | | | | | | | | | | | | | | BIOSes. Can't live without them (apparently), definitely can't live with them. Reported-by: Ben Gamari <bgamari@gmail.com> Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=24312 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
| * drm/i915/ringbuffer: Handle wrapping of the autoreported HEADChris Wilson2010-12-092-13/+11
| | | | | | | | | | | | | | | | | | | | If the tail advances beyond the autoreport HEAD value, then we need to fallback to an uncached read of the HEAD register in order to ascertain the correct amount of remaining space in the ringbuffer. Reported-by: Fang, Xun <xunx.fang@intel.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=32259 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
| * drm/i915/dp: Fix I2C/EDID handling with active DisplayPort to DVI converterDavid Flynn2010-12-081-7/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The DisplayPort standard (1.1a) states that: The I2C-over-AUX Reply field is valid only when Native AUX CH Reply field is AUX_ACK (00). When Native AUX CH Reply field is not 00, then, I2C-over-AUX Reply field must be 00 and be ignored. This fixes broken EDID reading when using an active DisplayPort to duallink DVI converter. If the AUX CH replier chooses to defer the transaction, a short read occurs and erroneous data is returned as the i2c reply due to a lack of length checking and failure to check for AUX ACK. As a result, broken EDIDs can look like: 0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef 00: bc bc bc ff bc bc bc ff bc bc bc ac bc bc bc 45 ???.???.???????E 10: bc bc bc 10 bc bc bc 34 bc bc bc ee bc bc bc 4c ???????4???????L 20: bc bc bc 50 bc bc bc 00 bc bc bc 40 bc bc bc 00 ???P???.???@???. 30: bc bc bc 01 bc bc bc 01 bc bc bc a0 bc bc bc 40 ???????????????@ 40: bc bc bc 00 bc bc bc 00 bc bc bc 00 bc bc bc 55 ???.???.???.???U 50: bc bc bc 35 bc bc bc 31 bc bc bc 20 bc bc bc fc ???5???1??? ???? 60: bc bc bc 4c bc bc bc 34 bc bc bc 46 bc bc bc 00 ???L???4???F???. 70: bc bc bc 38 bc bc bc 11 bc bc bc 20 bc bc bc 20 ???8??????? ??? 80: bc bc bc ff bc bc bc ff bc bc bc ff bc bc bc ff ???.???.???.???. ... which can lead to: [drm:drm_edid_block_valid] *ERROR* EDID checksum is invalid, remainder [drm:drm_edid_block_valid] *ERROR* Raw EDID: <3>30 30 30 30 30 30 30 32 38 32 30 32 63 63 31 61 000000028202cc1a <3>28 00 02 8c 00 00 00 00 18 00 00 00 00 00 00 00 (............... <3>20 4c 61 73 74 20 62 65 61 63 6f 6e 3a 20 33 32 Last beacon: 32 <3>32 30 6d 73 20 61 67 6f 46 00 05 8c 00 00 00 00 20ms agoF....... <3>36 00 00 00 00 00 00 00 00 0c 57 69 2d 46 69 20 6.........Wi-Fi <3>52 6f 75 74 65 72 01 08 82 84 8b 96 24 30 48 6c Router......$0Hl <3>03 01 01 06 02 00 00 2a 01 00 2f 01 00 32 04 0c .......*../..2.. <3>12 18 60 dd 09 00 10 18 02 00 00 01 00 00 18 00 ..`............. Signed-off-by: David Flynn <davidf@rd.bbc.co.uk> [ickle: fix up some surrounding checkpatch warnings] Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: stable@kernel.org
* | drm/radeon/kms: don't apply 7xx HDP flush workaround on AGPAlex Deucher2010-12-091-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | It should be required for all 7xx asics, but seems to cause problems on some AGP 7xx chips. Fixes: https://bugzilla.kernel.org/show_bug.cgi?id=19002 Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Reported-and-Tested-by: Duncan <1i5t5.duncan@cox.net> Cc: stable@kernel.org Signed-off-by: Dave Airlie <airlied@redhat.com>
* | drm: use after free in drm_queue_vblank_event()Dan Carpenter2010-12-091-2/+2
| | | | | | | | | | | | | | | | | | | | | | The "e" pointer is either NULL or freed when we call drm_vblank_put(dev, e->pipe) on the error path. Just pass the "pipe" variable directly instead. I changed another caller to use "pipe" as well for consistency. Signed-off-by: Dan Carpenter <error27@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* | drm/kms: remove spaces from connector names (v2)Alex Deucher2010-12-091-5/+5
|/ | | | | | | | | | | | | | | Grub doesn't parse spaces in parameters correctly, so this makes it impossible to force video= parameters for kms on the grub kernel command line. v2: shorten the names to make them easier to type. Reported-by: Sergej Pupykin <ml@sergej.pp.ru> Cc: Sergej Pupykin <ml@sergej.pp.ru> Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Cc: stable@kernel.org Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/i915: i915 cannot provide switcher services.Dave Airlie2010-12-081-34/+0
| | | | | | it has a DSM but the switcher is done via WMI. Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: fix vram base calculation on rs780/rs880Alex Deucher2010-12-081-2/+4
| | | | | | | | Avoid overflowing a 32 bit value. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Cc: stable@kernel.org Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: fix formatting of vram and gtt infoAlex Deucher2010-12-081-2/+2
| | | | | | | print the full 64 bit values. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: forbid big bo allocation (fdo 31708) v3Jerome Glisse2010-12-081-2/+11
| | | | | | | | | | | | | | | Forbid allocating buffer bigger than visible VRAM or GTT, also properly set lpfn field. v2 - use max macro - silence warning v3 - don't explicitly set range limit - use min macro Cc: stable <stable@kernel.org> Signed-off-by: Jerome Glisse <jglisse@redhat.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm: Don't try and disable an encoder that was never enabledChris Wilson2010-12-081-1/+1
| | | | | | | | | Prevents code that assumes that the encoder is active when asked to be disabled from dying a horrible death. Reported-by: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm: Add missing drm_vblank_put() along queue vblank error pathChris Wilson2010-12-081-5/+14
| | | | | | | Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Kristian Høgsberg <krh@bitplanet.net> Acked-by: Jesse Barnes <jbarnes@virtuousgeek.org> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/i915/dp: Only apply the workaround if the select is still activeChris Wilson2010-12-071-2/+6
| | | | | | | | | | | | | As we may try to power down the link at various times, it is not necessarily still coupled with an encoder and so we must be careful not to depend upon an operation that is only valid when the link is still attached to a pipe. Fixes regression in 5bddd17. Reported-and-tested-by: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: stable@kernel.org [after applying 5bddd17]
* drm/i915: Emit a request to clear a flushed and idle ring for unbusy boChris Wilson2010-12-071-1/+11
| | | | | | | | | | | | In order for bos to retire eventually, a request must be sent down the ring. This is expected, for example, by occlusion queries for which mesa will wait upon (whilst running glean) before issuing more batches and so the normal activity upon the ring is suspended and we need to emit a request to clear the idle ring. Reported-by: Jinjin, Wang <jinjin.wang@intel.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=30380 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
* drm/i915/lvds: Always restore panel-fitter when enabling the LVDSChris Wilson2010-12-061-44/+54
| | | | | | | | | | | | Linus Torvalds pointed out that our code was unbalanced when powering on the panel with respect to the power off sequence in that we were failing to restore the panel-fitter. The consequence of this would be that across a simple DPMS off/on for a non-native mode, without an intervening modeset, the panel fitter would remain disabled and the output would shift on the panel. Reported-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
* drm/i915/ringbuffer: Only print an error on the second attempt to reset headChris Wilson2010-12-061-14/+16
| | | | | | | | | | | | There's not much we can do here but hope for the best. However the first failure happens quite frequently and if often remedied by the second attempt to reset HEAD. So only print the error if that attempt also fails. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=19802 Reported-by: Thomas Meyer <thomas@m3y3r.de> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: stable@kernel.org
* drm/i915: announce to userspace that the bsd ring is coherentDaniel Vetter2010-12-051-0/+3
| | | | | | | | | | | | | Otherwise we can't really fix the abi-braindeadness of forcing libva to manually wait for rendering when switching rings. Which in turn makes implementing hw semaphores a pointless exercise (at least for ironlake). [Also added the relaxed fencing param to explain the jump in numbering - relaxed fencing is in -next.] Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
* drm/i915: Factor in pixel-repeat in FDI M/N calculationChris Wilson2010-12-041-0/+3
| | | | | | | | | Fixes the modesetting on the secondary panel of the Libretto W100 and presumably many more Ironlake laptops with SDVO LVDS displays. Reported-and-tested-by: Matthew Willoughby <mattfredwill@gmail.com> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: stable@kernel.org
* drm/i915: Death to the unnecessary 64bit divideChris Wilson2010-12-041-13/+5
| | | | | | | | Use the hardware DDA to calculate the ratio with as much accuracy as is possible. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: stable@kernel.org
* drm/i915: Clean conflicting modesetting registers upon initChris Wilson2010-12-031-0/+51
| | | | | | | | | | | | If we leave the registers in a conflicting state then when we attempt to teardown the active mode, we will not disable the pipes and planes in the correct order -- leaving a plane reading from a disabled pipe and possibly leading to undefined behaviour. Reported-and-tested-by: Andy Whitcroft <apw@canonical.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=32078 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: stable@kernel.org
* drm/i915: Apply a workaround for transitioning from DP on pipe B to HDMI.Eric Anholt2010-12-021-0/+21
| | | | | | | | This workaround only applies to Ironlake. Signed-off-by: Eric Anholt <eric@anholt.net> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: stable@kernel.org
* drm/i915: Always set the DP transcoder config to 8BPC.Eric Anholt2010-12-022-1/+4
| | | | | | | | | | The pipe is always set to 8BPC, but here we were leaving whatever previous bits were set by the BIOS in place. Signed-off-by: Eric Anholt <eric@anholt.net> Tested-by: Keith Packard <keithp@keithp.com> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: stable@kernel.org
* drm/radeon/kms: add workaround for dce3 ddc line vbios bugAlex Deucher2010-12-011-0/+16
| | | | | | | | | fixes: https://bugzilla.kernel.org/show_bug.cgi?id=23752 Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Cc:stable@kernel.org Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: fix interlaced and doublescan handlingAlex Deucher2010-12-011-0/+34
| | | | | | Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Cc: stable@kernel.org Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: fix typos in disabled vbios codeAlex Deucher2010-12-012-6/+8
| | | | | | | | 6xx/7xx was hitting the wrong BUS_CNTL reg and bits. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Cc: stable@kernel.org Signed-off-by: Dave Airlie <airlied@redhat.com>
* Merge remote branch 'intel/drm-intel-fixes' of /ssd/git/drm-next into drm-fixesDave Airlie2010-12-015-125/+92
|\ | | | | | | | | | | | | * 'intel/drm-intel-fixes' of /ssd/git/drm-next: Revert "drm/i915/dp: use VBT provided eDP params if available" drm/i915: Clear pfit registers when not used by any outputs drm/i915: fix regression due to ba3d8d749b01548b9
| * Revert "drm/i915/dp: use VBT provided eDP params if available"Chris Wilson2010-11-301-89/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 869184a675662bddcdf76c5b95665272facff2b8. This is required for the Sony Vaio Jesse was working on at the time, but breaks most other eDP machines - machines that were working in earlier kernels. Reported-and-tested-by: Dave Airlie <airlied@redhat.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=31188 Tested-by: Zhao Jian <jian.j.zhao@intel.com> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
| * drm/i915: Clear pfit registers when not used by any outputsChris Wilson2010-11-293-11/+17
| | | | | | | | | | | | | | | | | | | | | | ... otherwise the panel-fitter may be left enabled with random settings and cause unintended filtering (i.e. blurring of native modes on external panels). Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=31942 Reported-and-tested-by: Ben Kohler <bkohler@gmail.com> Tested-by: Ciprian Docan <docan@eden.rutgers.edu> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
| * drm/i915: fix regression due to ba3d8d749b01548b9Daniel Vetter2010-11-281-25/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We don't track gpu flush request in any special way. So even with obj->write_domain == 0, a gpu flush might be outstanding but no yet executed. Even worse, the latest request might use the object only for reading. So and unconditional call to object_wait_rendering is needed for !pipelined. Hence revert that patch fully and untangle the flushing from the synchronization again. Reported-by: Keith Packard <keithp@keithp.com> Tested-by: Keith Packard <keithp@keithp.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
* | drm: record monitor status in output_poll_executeKeith Packard2010-11-291-3/+4
| | | | | | | | | | | | | | | | | | In order to correctly report monitor connected status changes, the previous monitor status must be recorded in the connector->status value instead of being discarded. Signed-off-by: Keith Packard <keithp@keithp.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* | drm: Set connector DPMS status to ON in drm_crtc_helper_set_configKeith Packard2010-11-291-0/+7
| | | | | | | | | | | | | | | | | | When setting a new crtc configuration, force the DPMS state of all connectors to ON. Otherwise, they'll be left at OFF and a future mode set that disables the specified connector will not turn the connector off. Signed-off-by: Keith Packard <keithp@keithp.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* | Merge remote branch 'intel/drm-intel-fixes' of /ssd/git/drm-next into drm-fixesDave Airlie2010-11-263-248/+346
|\| | | | | | | | | | | | | | | | | | | | | * 'intel/drm-intel-fixes' of /ssd/git/drm-next: drm/i915/sdvo: Always add a 30ms delay to make SDVO TV detection reliable MAINTAINERS: INTEL DRM DRIVERS list (intel-gfx) is subscribers-only drm/i915/sdvo: Always fallback to querying the shared DDC line drm/i915: Handle pagefaults in execbuffer user relocations drm/i915/sdvo: Only enable HDMI encodings only if the commandset is supported drm/i915: Only save/restore cursor regs if !KMS drm/i915: Prevent integer overflow when validating the execbuffer
| * drm/i915/sdvo: Always add a 30ms delay to make SDVO TV detection reliableChris Wilson2010-11-241-3/+5
| | | | | | | | | | | | | | | | | | | | Commit d09c23de intended to add a 30ms delay to give the ADD time to detect any TVs connected. However, it used the sdvo->is_tv flag to do so which is dependent upon the previous detection result and not whether the output supports TVs. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: stable@kernel.org
| * drm/i915/sdvo: Always fallback to querying the shared DDC lineChris Wilson2010-11-241-45/+6
| | | | | | | | | | | | | | | | | | | | On a few devices, like the Mac Mini, the CRT DDC pins are shared between the analog connector and the digital connector. In this scenario, rely on the EDID to determine if a digital panel is connected to the digital connector. Reported-and-tested-by: Tino Keitel <tino.keitel@tikei.de> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
| * drm/i915: Handle pagefaults in execbuffer user relocationsChris Wilson2010-11-231-168/+293
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently if we hit a pagefault when applying a user relocation for the execbuffer, we bail and return EFAULT to the application. Instead, we need to unwind, drop the dev->struct_mutex, copy all the relocation entries to a vmalloc array (to avoid any potential circular deadlocks when resolving the pagefault), retake the mutex and then apply the relocations. Afterwards, we need to again drop the lock and copy the vmalloc array back to userspace. v2: Incorporate feedback from Daniel Vetter. Reported-by: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
| * drm/i915/sdvo: Only enable HDMI encodings only if the commandset is supportedChris Wilson2010-11-221-11/+14
| | | | | | | | | | | | | | | | | | | | | | As we conflated intel_sdvo->is_hdmi with both having HDMI support on the ADD along with having HDMI support on the monitor, we would attempt to use HDMI encodings even if the interface did not support those commands. Reported-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Tested-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk> Reviewed-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
| * Merge remote branch 'linus' into drm-intel-fixesChris Wilson2010-11-2253-307/+813
| |\