From 3e3a27513da9c218f713baa66b2375b382564430 Mon Sep 17 00:00:00 2001 From: Andreas Amann Date: Fri, 23 Dec 2016 01:23:58 +0000 Subject: [PATCH] drm/i915: Disable SVIDEO for Intel 965GME/GLE Chipset The SVIDEO load detection for this chipset broke sometimes during the refactoring of intel_get_load_detect_pipe() around 4.3 or 4.4. This resulted in typical backtraces of the form: WARNING: CPU: 0 PID: 102 at drivers/gpu/drm/drm_irq.c:1252 drm_wait_one_vblank+0x1aa/0x1b0 [drm] vblank wait timed out on crtc 0 Modules linked in: i915 i2c_algo_bit drm_kms_helper ata_generic serio_raw drm pata_acpi b44 mii ssb mmc_core video CPU: 0 PID: 102 Comm: kworker/u4:4 Not tainted 4.9.0-dirty #2 Hardware name: Dell Inc. Vostro 1500 /0NX907, BIOS A06 04/21/2008 Workqueue: events_unbound async_run_entry_fn ffffa117009eb9d0 ffffffff9f3e565d ffffa117009eba20 0000000000000000 ffffa117009eba10 ffffffff9f0a1ddb 000004e4cd6bb800 ffff8e31cb610000 0000000000000000 0000000000000000 0000000001000001 ffff8e31cef0ac08 Call Trace: [] dump_stack+0x63/0x86 [] __warn+0xcb/0xf0 [] warn_slowpath_fmt+0x5f/0x80 [] ? finish_wait+0x54/0x70 [] drm_wait_one_vblank+0x1aa/0x1b0 [drm] [] ? prepare_to_wait_event+0x100/0x100 [] intel_get_load_detect_pipe+0x5fb/0x610 [i915] [] intel_tv_detect+0x155/0x550 [i915] [] ? vprintk_emit+0x30f/0x4b0 [] drm_helper_probe_single_connector_modes+0x3ff/0x4f0 [drm_kms_helper] [] drm_fb_helper_initial_config+0xae/0x420 [drm_kms_helper] [] ? __switch_to+0x2a8/0x5c0 [] intel_fbdev_initial_config+0x18/0x30 [i915] [] async_run_entry_fn+0x39/0x140 [] process_one_work+0x184/0x430 [] worker_thread+0x4e/0x490 [] ? process_one_work+0x430/0x430 [] kthread+0xd9/0xf0 [] ? kthread_park+0x60/0x60 [] ret_from_fork+0x25/0x30 as documented in https://bugs.freedesktop.org/show_bug.cgi?id=93782 A fix of this regression seemed to be impossible. As a resolution to this problem, let us thus disable SVIDEO output for this chip, which at least makes the hardware functional again. --- drivers/gpu/drm/i915/i915_pci.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/i915/i915_pci.c b/drivers/gpu/drm/i915/i915_pci.c index fce8e19..a3de4e9 100644 --- a/drivers/gpu/drm/i915/i915_pci.c +++ b/drivers/gpu/drm/i915/i915_pci.c @@ -143,7 +143,7 @@ static const struct intel_device_info intel_i965gm_info = { .is_crestline = 1, .is_mobile = 1, .has_fbc = 1, .has_overlay = 1, - .supports_tv = 1, + .supports_tv = 0, .hws_needs_physical = 1, }; -- 2.10.2