linux/drivers/gpu/drm/i915
Ville Syrjälä 8d409cb3e8 drm/i915: Fix hpd live status bits for g4x
Looks like g4x hpd live status bits actually agree with the spec. At
least they do on the machine I have, and apparently on Nick Bowler's
g4x as well.

So gm45 may be the only platform where they don't agree. At least
that seems to be the case based on the (somewhat incomplete)
logs/dumps in [1], and Daniel has also tested this on his gm45
sometime in the past.

So let's change the bits to match the spec on g4x. That actually makes
the g4x bits identical to vlv/chv so we can just share the code
between those platforms, leaving gm45 as the special case.

[1] https://bugzilla.kernel.org/show_bug.cgi?id=52361

Cc: Shashank Sharma <shashank.sharma@intel.com>
Cc: Sonika Jindal <sonika.jindal@intel.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Jani Nikula <jani.nikula@linux.intel.com>
Cc: Nick Bowler <nbowler@draconx.ca>
References: https://lists.freedesktop.org/archives/dri-devel/2016-February/100382.html
Reported-by: Nick Bowler <nbowler@draconx.ca>
Cc: stable@vger.kernel.org
Fixes: 237ed86c69 ("drm/i915: Check live status before reading edid")
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1455127145-20087-1-git-send-email-ville.syrjala@linux.intel.com
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
(cherry picked from commit 0780cd36c7)
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
2016-02-17 11:52:54 +02:00
..
dvo_ch7xxx.c drm/i915: constify intel_dvo_dev_ops structures 2015-12-09 08:21:10 +01:00
dvo_ch7017.c drm/i915: constify intel_dvo_dev_ops structures 2015-12-09 08:21:10 +01:00
dvo_ivch.c drm/i915: constify intel_dvo_dev_ops structures 2015-12-09 08:21:10 +01:00
dvo_ns2501.c drm/i915: constify intel_dvo_dev_ops structures 2015-12-09 08:21:10 +01:00
dvo_sil164.c drm/i915: constify intel_dvo_dev_ops structures 2015-12-09 08:21:10 +01:00
dvo_tfp410.c drm/i915: constify intel_dvo_dev_ops structures 2015-12-09 08:21:10 +01:00
dvo.h drm/i915: constify intel_dvo_dev_ops structures 2015-12-09 08:21:10 +01:00
i915_cmd_parser.c drm/i915: Type safe register read/write 2015-11-18 15:39:11 +02:00
i915_debugfs.c drm/i915/debugfs: add a separate debugfs file for VBT 2015-12-16 11:30:24 +02:00
i915_dma.c Merge tag 'topic/drm-misc-2016-01-17' of git://anongit.freedesktop.org/drm-intel into drm-next 2016-01-18 07:01:16 +10:00
i915_drv.c drm/i915: refine qemu south bridge detection 2016-01-29 09:15:03 +02:00
i915_drv.h drm/i915: Allow i915_gem_object_get_page() on userptr as well 2016-02-08 10:30:07 +02:00
i915_gem_batch_pool.c
i915_gem_batch_pool.h
i915_gem_context.c drm/i915: Restore inhibiting the load of the default context 2016-01-13 10:47:33 +02:00
i915_gem_debug.c
i915_gem_dmabuf.c
i915_gem_evict.c drm/i915: Add soft-pinning API for execbuffer 2015-12-09 10:20:17 +00:00
i915_gem_execbuffer.c drm/i915: Avoid writing relocs with addresses in non-canonical form 2016-01-13 10:41:58 +02:00
i915_gem_fence.c Linux 4.4-rc4 2015-12-08 11:04:26 +10:00
i915_gem_gtt.c Merge branch 'for-linus' into for-next 2016-01-06 21:14:35 +01:00
i915_gem_gtt.h drm/i915: eliminate 'temp' in gen8_for_each_{pdd, pdpe, pml4e} macros 2015-12-10 09:36:42 +01:00
i915_gem_render_state.c drm/i915: mark GEM object pages dirty when mapped & written by the CPU 2015-12-11 18:11:53 +01:00
i915_gem_render_state.h
i915_gem_shrinker.c drm/i915: Fix kerneldoc for i915_gem_shrink_all 2015-10-13 16:21:03 +03:00
i915_gem_stolen.c Merge branch 'for-linus' into for-next 2016-01-06 21:14:35 +01:00
i915_gem_tiling.c drm/i915: get runtime PM reference around GEM set_tiling IOCTL 2015-11-17 18:43:30 +02:00
i915_gem_userptr.c drm/i915: Allow i915_gem_object_get_page() on userptr as well 2016-02-08 10:30:07 +02:00
i915_gem.c drm/i915: Allow i915_gem_object_get_page() on userptr as well 2016-02-08 10:30:07 +02:00
i915_gpu_error.c drm/i915: Type safe register read/write 2015-11-18 15:39:11 +02:00
i915_guc_reg.h drm/i915: Type safe register read/write 2015-11-18 15:39:11 +02:00
i915_guc_submission.c drm/i915: mark GEM object pages dirty when mapped & written by the CPU 2015-12-11 18:11:53 +01:00
i915_ioc32.c
i915_irq.c drm/i915: shut up gen8+ SDE irq dmesg noise, again 2016-01-13 10:48:11 +02:00
i915_params.c Linux 4.4-rc2 2015-11-23 09:04:05 +01:00
i915_reg.h drm/i915: Fix hpd live status bits for g4x 2016-02-17 11:52:54 +02:00
i915_suspend.c drm/i915/bxt: Don't save/restore eDP panel power during suspend (v3) 2016-02-08 11:32:32 +02:00
i915_sysfs.c drm/i915: Separate cherryview from valleyview 2015-12-10 11:07:24 +01:00
i915_trace_points.c
i915_trace.h drm/i915: Type safe register read/write 2015-11-18 15:39:11 +02:00
i915_vgpu.c drm/i915: Turn __raw_i915_read8() & co. in to inline functions 2015-10-26 16:28:04 +02:00
i915_vgpu.h drm/i915: Type safe register read/write 2015-11-18 15:39:11 +02:00
intel_acpi.c drm/i915: Drop unnecessary #include <linux/vga_switcheroo.h> 2015-10-13 10:18:38 +02:00
intel_atomic_plane.c drm/i915: Wait for object idle without locks in atomic_commit, v2. 2015-11-02 15:50:31 +01:00
intel_atomic.c drm/i915: Calculate watermark related members in the crtc_state, v4. 2015-12-07 10:56:08 +01:00
intel_audio.c Add get_eld audio component for i915/HD-audio 2015-12-11 19:28:27 +01:00
intel_bios.c drm/i915/bios: reduce indent in parse_general_features 2015-12-16 18:02:05 +02:00
intel_bios.h drm/i915: move drmP.h include to i915_drv.h 2015-12-16 18:01:15 +02:00
intel_crt.c Merge tag 'drm-intel-next-2015-12-18' of git://anongit.freedesktop.org/drm-intel into drm-next 2015-12-23 14:22:09 +10:00
intel_csr.c drm/i915/kbl: Fix DMC load on Kabylake. 2015-12-09 07:52:39 -08:00
intel_ddi.c drm/i915/skl: Don't skip mst encoders in skl_ddi_pll_select() 2016-02-10 18:01:59 +02:00
intel_display.c drm/i915: Fix NULL plane->fb oops on SKL 2016-01-29 09:13:28 +02:00
intel_dp_link_training.c drm/i915/dp: reduce missing TPS3 support errors to debug logging 2016-02-08 11:37:17 +02:00
intel_dp_mst.c Merge tag 'topic/drm-misc-2016-01-17' of git://anongit.freedesktop.org/drm-intel into drm-next 2016-01-18 07:01:16 +10:00
intel_dp.c drm/i915: Fix hpd live status bits for g4x 2016-02-17 11:52:54 +02:00
intel_drv.h drm/i915: Tune down rpm wakelock debug checks 2016-01-13 10:47:04 +02:00
intel_dsi_panel_vbt.c drm/i915/dsi: skip gpio element execution when not supported 2016-02-08 11:36:20 +02:00
intel_dsi_pll.c drm/i915: Separate cherryview from valleyview 2015-12-10 11:07:24 +01:00
intel_dsi.c Merge tag 'drm-intel-next-2015-12-18' of git://anongit.freedesktop.org/drm-intel into drm-next 2015-12-23 14:22:09 +10:00
intel_dsi.h drm/i915: fix potential dangling else problems in for_each_ macros 2015-11-25 09:29:32 +01:00
intel_dvo.c drm: Pass 'name' to drm_encoder_init() 2015-12-11 09:13:20 +01:00
intel_fbc.c drm/i915: only recompress FBC after flushing a drawing operation 2015-12-03 11:38:11 -02:00
intel_fbdev.c drm/i915: Pin the ifbdev for the info->system_base GGTT mmapping 2015-12-17 16:59:24 +01:00
intel_fifo_underrun.c drm/i915: Introduce bdw_{update,enable,disable}_pipe_irq() 2015-11-26 18:55:39 +02:00
intel_frontbuffer.c
intel_guc_fwif.h drm/i915/guc: Add GuC css header parser 2015-10-21 14:31:34 +02:00
intel_guc_loader.c Linux 4.4-rc2 2015-11-23 09:04:05 +01:00
intel_guc.h drm/i915/guc: Clean up locks in GuC 2015-12-03 15:11:54 +01:00
intel_hdmi.c Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2016-01-17 13:40:25 -08:00
intel_hotplug.c drm/i915: intel_hpd_init(): Fix suspend/resume reprobing 2016-01-13 10:49:42 +02:00
intel_i2c.c drm/i915: fix error path in intel_setup_gmbus() 2016-02-10 18:11:34 +02:00
intel_lrc.c drm/i915: Make sure DC writes are coherent on flush. 2016-01-29 09:11:26 +02:00
intel_lrc.h Revert "drm/i915: Extend LRC pinning to cover GPU context writeback" 2015-12-04 17:34:40 +01:00
intel_lvds.c drm: Pass 'name' to drm_encoder_init() 2015-12-11 09:13:20 +01:00
intel_mocs.c drm/i915: Type safe register read/write 2015-11-18 15:39:11 +02:00
intel_mocs.h
intel_modes.c drm/i915: Add HDMI aspect ratio property for SDVO 2015-09-30 10:20:12 +02:00
intel_opregion.c drm/i915/opregion: handle VBT sizes bigger than 6 KB 2015-12-17 11:40:57 +02:00
intel_overlay.c drm/i915: Wait for object idle without locks in atomic_commit, v2. 2015-11-02 15:50:31 +01:00
intel_panel.c drm/i915/backlight: prefer dev_priv over dev pointer 2015-12-18 11:37:44 +02:00
intel_pm.c drm/i915: Pretend cursor is always on for ILK-style WM calculations (v2) 2016-02-09 11:24:39 +02:00
intel_psr.c drm/i915: PSR also doesn't have link_entry_time on SKL. 2015-12-11 16:32:56 -08:00
intel_renderstate_gen6.c
intel_renderstate_gen7.c
intel_renderstate_gen8.c
intel_renderstate_gen9.c
intel_renderstate.h
intel_ringbuffer.c drm/i915: Make sure DC writes are coherent on flush. 2016-01-29 09:11:26 +02:00
intel_ringbuffer.h drm/i915: intel_ring_initialized() must be simple and inline 2015-12-10 14:14:36 +01:00
intel_runtime_pm.c drm/i915: don't enable autosuspend on platforms without RPM support 2015-12-18 15:52:31 +02:00
intel_sdvo_regs.h
intel_sdvo.c drm: Pass 'name' to drm_encoder_init() 2015-12-11 09:13:20 +01:00
intel_sideband.c
intel_sprite.c Merge tag 'drm-intel-next-2015-12-18' of git://anongit.freedesktop.org/drm-intel into drm-next 2015-12-23 14:22:09 +10:00
intel_tv.c drm: Pass 'name' to drm_encoder_init() 2015-12-11 09:13:20 +01:00
intel_uncore.c drm/i915: use assert_rpm_wakelock_held instead of opencoding it 2015-12-17 15:59:44 +02:00
Kconfig drm/i915: Remove select to deleted STOP_MACHINE from Kconfig 2016-01-29 09:13:58 +02:00
Makefile drm/i915: Move generic link training code to a separate file 2015-11-05 15:14:56 +02:00