kernel-fxtec-pro1x/drivers/gpu/drm/i915
Chris Wilson 8545423a91 drm/i915/sdvo: Only set is_lvds if we have a valid fixed mode.
If we have failed to ascertain the fixed mode for the LVDS panel, then
trust the pixel clock ranges reported for the connection when determing
valid modes. This makes intel_sdvo_mode_valid() consistent with
intel_lvds_mode_valid() which is also a no-op is there is no fixed mode
defined. (Since the mode is both validated by SDVO and LVDS, why are
checking against an LVDS fixed mode in SDVO...)

By only defining is_lvds to be true when we actually have an LVDS output
with a fixed mode, we avoid various potential NULL deferences where the
assumption is made that all LVDS outputs have a fixed mode.

References:

  Bug 29449 - [Q35] failure to read EDID/vbios for LVDS, no mode => no output
  https://bugs.freedesktop.org/show_bug.cgi?id=29449

The primary failure in this bug is not finding the EDID and determining
the correct fixed panel mode. However, this patch should fix the
secondary issue of not enabling any of the standard modes for the panel
either.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Eric Anholt <eric@anholt.net>
2010-08-09 14:11:28 -07:00
..
dvo.h drm/i915: Subclass intel_encoder. 2010-08-09 11:24:28 -07:00
dvo_ch7xxx.c drm/i915: Remove dead KMS encoder save/restore code. 2010-04-12 09:23:30 -07:00
dvo_ch7017.c drm/i915: Remove dead KMS encoder save/restore code. 2010-04-12 09:23:30 -07:00
dvo_ivch.c drm/i915: Remove dead KMS encoder save/restore code. 2010-04-12 09:23:30 -07:00
dvo_sil164.c drm/i915: Remove dead KMS encoder save/restore code. 2010-04-12 09:23:30 -07:00
dvo_tfp410.c drm/i915: Use RSEN instead of HTPLG for tfp410 monitor detection. 2010-06-04 16:39:59 -07:00
i915_debugfs.c drm/i915: Capture the overlay status upon a GPU hang. 2010-08-09 11:24:31 -07:00
i915_dma.c drm/i915 invalidate indirect state pointers at end of ring exec 2010-08-09 11:28:03 -07:00
i915_drv.c drm/i915: Refactor i915_gem_retire_requests() 2010-08-01 19:52:57 -07:00
i915_drv.h drm/i915: Set up a render context on Ironlake 2010-08-09 11:34:12 -07:00
i915_gem.c drm/i915: Apply i830 errata for cursor alignment 2010-08-09 11:24:36 -07:00
i915_gem_debug.c drm/i915: drop pointer to drm_gem_object 2010-04-20 13:23:14 +10:00
i915_gem_evict.c drm/i915: Implement fair lru eviction across both rings. (v2) 2010-08-09 11:24:32 -07:00
i915_gem_tiling.c drm/i915: Remove the WARN when failing to set tiling. 2010-08-01 19:03:46 -07:00
i915_ioc32.c drm: convert drm_ioctl to unlocked_ioctl 2009-12-18 11:22:31 +10:00
i915_irq.c drm/i915: Wake-up wait_request() from elapsed hang-check (v2) 2010-08-09 11:24:36 -07:00
i915_mem.c drm: Remove memory debugging infrastructure. 2009-06-18 13:00:33 -07:00
i915_opregion.c drm/i915/opregion: Use ASLE response codes defined in 0.1 2010-08-09 11:24:34 -07:00
i915_reg.h drm/i915: Set up a render context on Ironlake 2010-08-09 11:34:12 -07:00
i915_suspend.c drm/i915: Add frame buffer compression support on Ironlake mobile 2010-08-01 19:03:44 -07:00
i915_trace.h drm/i915: add tracepoints for flip requests & completions 2010-07-02 14:04:14 +10:00
i915_trace_points.c drm/i915: Add tracepoints 2009-09-23 01:05:21 +01:00
intel_bios.c drm/i915: Honor sync polarity from VBT panel timing descriptors 2010-06-01 10:19:37 -07:00
intel_bios.h drm/i915: parse eDP panel color depth from VBT block 2010-01-15 14:12:47 -08:00
intel_crt.c drm/i915: Ensure that while(INREG()) are bounded (v2) 2010-08-09 11:24:35 -07:00
intel_display.c drm/i915: Set up a render context on Ironlake 2010-08-09 11:34:12 -07:00
intel_dp.c drm/i915: Ensure that while(INREG()) are bounded (v2) 2010-08-09 11:24:35 -07:00
intel_drv.h drm/i915: Only update i845/i865 CURBASE when disabled (v2) 2010-08-09 11:24:36 -07:00
intel_dvo.c drm/i915: Subclass intel_encoder. 2010-08-09 11:24:28 -07:00
intel_fb.c drm/i915: use new fb debug hooks 2010-08-05 09:22:31 -05:00
intel_hdmi.c drm/i915: Subclass intel_encoder. 2010-08-09 11:24:28 -07:00
intel_i2c.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
intel_lvds.c drm/i915: Ensure that while(INREG()) are bounded (v2) 2010-08-09 11:24:35 -07:00
intel_modes.c Merge remote branch 'anholt/drm-intel-next' of /home/airlied/kernel/drm-next into drm-core-next 2010-04-20 13:11:45 +10:00
intel_overlay.c drm/i915: Apply i830 errata for cursor alignment 2010-08-09 11:24:36 -07:00
intel_panel.c drm/i915: Enable aspect/centering panel fitting for Ironlake. 2010-08-09 11:24:34 -07:00
intel_ringbuffer.c drm/i915 invalidate indirect state pointers at end of ring exec 2010-08-09 11:28:03 -07:00
intel_ringbuffer.h drm/i915: Use a common seqno for all rings. 2010-08-09 11:24:32 -07:00
intel_sdvo.c drm/i915/sdvo: Only set is_lvds if we have a valid fixed mode. 2010-08-09 14:11:28 -07:00
intel_sdvo_regs.h drm/i915/sdvo: Add missing TV filters 2010-08-09 11:24:29 -07:00
intel_tv.c drm/i915: Subclass intel_encoder. 2010-08-09 11:24:28 -07:00
Makefile drm/i915: Enable aspect/centering panel fitting for Ironlake. 2010-08-09 11:24:34 -07:00