Regression in i915 driver in 3.16-rc2

From: Alan Stern
Date: Wed Jun 25 2014 - 14:07:03 EST


Daniel:

I encountered a new problem in the i915 driver the first time I booted
a 3.16-rc kernel on this computer. When it switched over to the frame
buffer driver, the screen went blank and stayed that way.

3.15 works okay.

Attached are log extracts from 3.15 and 3.16 (both with drm.debug=0xe
in the boot command line). The timestamps have been stripped out for
easy diff comparison. These are the result of

dmesg | egrep 'drm|i915|frame'

with a couple of irrelevant lines removed. I can send the complete
logs if you need them.

Alan Stern
Kernel command line: BOOT_IMAGE=/boot/test-3.x root=/dev/hda8 ro console=ttyS0,115200 console=tty0 earlyprintk=serial,ttyS0,115200 no_console_suspend drm.debug=0xe vconsole.keymap=us vconsole.font=latarcyrheb-sun16 LANG=en_US.UTF-8 usbcore.dyndbg=+p ehci_hcd.dyndbg=+p
[drm] Initialized drm 1.1.0 20060810
[drm:i915_dump_device_info] i915 device info: gen=2, pciid=0x2572 flags=has_overlay,overlay_needs_physical,
[drm:intel_detect_pch] No PCH found.
[drm] Memory usable by graphics device = 128M
[drm:i915_gem_gtt_init] GMADR size = 128M
[drm:i915_gem_gtt_init] GTT stolen size = 8M
[drm:i915_gem_gtt_init] ppgtt mode: 0
[drm:intel_opregion_setup] graphic opregion physical addr: 0x0
[drm:intel_opregion_setup] ACPI OpRegion not supported!
[drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[drm] Driver supports precise vblank timestamp query.
[drm:init_vbt_defaults] Set default to SSC at 66667 kHz
[drm:parse_general_features] BDB_GENERAL_FEATURES int_tv_support 1 int_crt_support 0 lvds_use_ssc 0 lvds_ssc_freq 48000 display_clock_mode 0 fdi_rx_polarity_inverted 0
[drm:parse_general_definitions] crt_ddc_bus_pin: 2
[drm:parse_sdvo_device_mapping] different child size is found. Invalid.
[drm:parse_device_mapping] different child size is found. Invalid.
[drm:parse_mipi] No MIPI BDB found
[drm:intel_display_power_get] enabling always-on
[drm:intel_modeset_init] 1 display pipe available.
[drm:intel_modeset_init] pipe A sprite A init failed: -19
[drm:intel_gmbus_force_bit] enabling bit-banging on i915 gmbus dpb. force bit now 1
[drm:intel_gmbus_force_bit] disabling bit-banging on i915 gmbus dpb. force bit now 0
[drm:intel_gmbus_force_bit] enabling bit-banging on i915 gmbus dpb. force bit now 1
[drm:intel_gmbus_force_bit] disabling bit-banging on i915 gmbus dpb. force bit now 0
[drm:intel_gmbus_force_bit] enabling bit-banging on i915 gmbus dpb. force bit now 1
[drm:intel_gmbus_force_bit] disabling bit-banging on i915 gmbus dpb. force bit now 0
[drm:intel_gmbus_force_bit] enabling bit-banging on i915 gmbus ssc. force bit now 1
[drm:intel_gmbus_force_bit] disabling bit-banging on i915 gmbus ssc. force bit now 0
[drm:intel_gmbus_force_bit] enabling bit-banging on i915 gmbus dpb. force bit now 1
[drm:tfp410_init] tfp410 not detected got VID FFFFFFFF: from i915 gmbus dpb Slave 56.
[drm:intel_gmbus_force_bit] disabling bit-banging on i915 gmbus dpb. force bit now 0
[drm:intel_gmbus_force_bit] enabling bit-banging on i915 gmbus dpb. force bit now 1
[drm:intel_gmbus_force_bit] disabling bit-banging on i915 gmbus dpb. force bit now 0
[drm:intel_gmbus_force_bit] enabling bit-banging on i915 gmbus dpb. force bit now 1
[drm:intel_gmbus_force_bit] disabling bit-banging on i915 gmbus dpb. force bit now 0
[drm:intel_modeset_readout_hw_state] [CRTC:5] hw state readout: enabled
[drm:intel_modeset_readout_hw_state] [ENCODER:7:DAC-7] hw state readout: enabled, pipe A
[drm:intel_modeset_readout_hw_state] [CONNECTOR:6:VGA-1] hw state readout: enabled
[drm:intel_dump_pipe_config] [CRTC:5][setup_hw_state] config for pipe A
[drm:intel_dump_pipe_config] cpu_transcoder: A
[drm:intel_dump_pipe_config] pipe bpp: 0, dithering: 0
[drm:intel_dump_pipe_config] fdi/pch: 0, lanes: 0, gmch_m: 0, gmch_n: 0, link_m: 0, link_n: 0, tu: 0
[drm:intel_dump_pipe_config] dp: 0, gmch_m: 0, gmch_n: 0, link_m: 0, link_n: 0, tu: 0
[drm:intel_dump_pipe_config] requested mode:
[drm:drm_mode_debug_printmodeline] Modeline 0:"" 0 0 640 0 0 0 480 0 0 0 0x0 0x0
[drm:intel_dump_pipe_config] adjusted mode:
[drm:drm_mode_debug_printmodeline] Modeline 0:"" 0 0 0 0 0 0 0 0 0 0 0x0 0xa
[drm:intel_dump_crtc_timings] crtc timings: 25154 640 656 752 800 480 490 492 525, type: 0x0 flags: 0xa
[drm:intel_dump_pipe_config] port clock: 25154
[drm:intel_dump_pipe_config] pipe src size: 640x480
[drm:intel_dump_pipe_config] gmch pfit: control: 0x00000000, ratios: 0x00000000, lvds border: 0x00000000
[drm:intel_dump_pipe_config] pch pfit: pos: 0x00000000, size: 0x00000000, disabled
[drm:intel_dump_pipe_config] ips: 0
[drm:intel_dump_pipe_config] double wide: 0
[drm:intel_connector_check_state] [CONNECTOR:6:VGA-1]
[drm:check_encoder_state] [ENCODER:7:DAC-7]
[drm:check_crtc_state] [CRTC:5]
[drm:i9xx_get_plane_config] pipe/plane 0/0 with fb: size=640x480@8, offset=0, pitch 640, size 0x4b000
[drm:i915_gem_setup_global_gtt] clearing unused GTT space: [0, 7fff000]
[drm:i915_gem_context_init] fake context support initialized
[drm] initialized overlay support
[drm:drm_helper_probe_single_connector_modes] [CONNECTOR:6:VGA-1]
[drm:intel_crt_detect] [CONNECTOR:6:VGA-1] force=1
[drm:intel_crt_detect_ddc] CRT detected via DDC:0x50 [EDID]
[drm:drm_edid_to_eld] ELD: no CEA Extension found
[drm:drm_helper_probe_single_connector_modes] [CONNECTOR:6:VGA-1] probed modes :
[drm:drm_mode_debug_printmodeline] Modeline 9:"1280x1024" 60 108000 1280 1328 1440 1688 1024 1025 1028 1066 0x48 0x5
[drm:drm_mode_debug_printmodeline] Modeline 19:"1280x1024" 75 135000 1280 1296 1440 1688 1024 1025 1028 1066 0x40 0x5
[drm:drm_mode_debug_printmodeline] Modeline 10:"1280x960" 60 108000 1280 1376 1488 1800 960 961 964 1000 0x40 0x5
[drm:drm_mode_debug_printmodeline] Modeline 11:"1152x864" 75 108000 1152 1216 1344 1600 864 865 868 900 0x40 0x5
[drm:drm_mode_debug_printmodeline] Modeline 20:"1024x768" 75 78800 1024 1040 1136 1312 768 769 772 800 0x40 0x5
[drm:drm_mode_debug_printmodeline] Modeline 21:"1024x768" 70 75000 1024 1048 1184 1328 768 771 777 806 0x40 0xa
[drm:drm_mode_debug_printmodeline] Modeline 22:"1024x768" 60 65000 1024 1048 1184 1344 768 771 777 806 0x40 0xa
[drm:drm_mode_debug_printmodeline] Modeline 23:"832x624" 75 57284 832 864 928 1152 624 625 628 667 0x40 0xa
[drm:drm_mode_debug_printmodeline] Modeline 24:"800x600" 75 49500 800 816 896 1056 600 601 604 625 0x40 0x5
[drm:drm_mode_debug_printmodeline] Modeline 25:"800x600" 72 50000 800 856 976 1040 600 637 643 666 0x40 0x5
[drm:drm_mode_debug_printmodeline] Modeline 12:"800x600" 60 40000 800 840 968 1056 600 601 605 628 0x40 0x5
[drm:drm_mode_debug_printmodeline] Modeline 13:"800x600" 56 36000 800 824 896 1024 600 601 603 625 0x40 0x5
[drm:drm_mode_debug_printmodeline] Modeline 14:"640x480" 75 31500 640 656 720 840 480 481 484 500 0x40 0xa
[drm:drm_mode_debug_printmodeline] Modeline 15:"640x480" 73 31500 640 664 704 832 480 489 491 520 0x40 0xa
[drm:drm_mode_debug_printmodeline] Modeline 16:"640x480" 67 30240 640 704 768 864 480 483 486 525 0x40 0xa
[drm:drm_mode_debug_printmodeline] Modeline 17:"640x480" 60 25200 640 656 752 800 480 490 492 525 0x40 0xa
[drm:drm_mode_debug_printmodeline] Modeline 18:"720x400" 70 28320 720 738 846 900 400 412 414 449 0x40 0x6
[drm:drm_setup_crtcs]
[drm:drm_enable_connectors] connector 6 enabled? yes
[drm:intel_fb_initial_config] looking for cmdline mode on connector 6
[drm:intel_fb_initial_config] looking for preferred mode on connector 6
[drm:intel_fb_initial_config] connector VGA-1 on crtc 5: 1280x1024
[drm:drm_setup_crtcs] desired mode 1280x1024 set on crtc 5
[drm:intelfb_create] no BIOS fb, allocating a new one
[drm:intelfb_create] allocated 1280x1024 fb: 0x00020000, bo ecf84200
fbcon: inteldrmfb (fb0) is primary device
[drm:intel_crtc_cursor_set] cursor off
[drm:intel_crtc_set_config] [CRTC:5] [FB:27] #connectors=1 (x y) (0 0)
[drm:intel_set_config_compute_mode_changes] inactive crtc, full mode set
[drm:intel_set_config_compute_mode_changes] modes are different, full mode set
[drm:drm_mode_debug_printmodeline] Modeline 0:"" 0 0 0 0 0 0 0 0 0 0 0x0 0x0
[drm:drm_mode_debug_printmodeline] Modeline 26:"1280x1024" 60 108000 1280 1328 1440 1688 1024 1025 1028 1066 0x48 0x5
[drm:intel_set_config_compute_mode_changes] computed changes for [CRTC:5], mode_changed=1, fb_changed=0
[drm:intel_modeset_stage_output_state] [CONNECTOR:6:VGA-1] to [CRTC:5]
[drm:intel_modeset_affected_pipes] set mode pipe masks: modeset: 1, prepare: 1, disable: 0
[drm:connected_sink_compute_bpp] [CONNECTOR:6:VGA-1] checking for sink bpp constrains
[drm:intel_modeset_pipe_config] plane bpp: 24, pipe bpp: 24, dithering: 0
[drm:intel_dump_pipe_config] [CRTC:5][modeset] config for pipe A
[drm:intel_dump_pipe_config] cpu_transcoder: A
[drm:intel_dump_pipe_config] pipe bpp: 24, dithering: 0
[drm:intel_dump_pipe_config] fdi/pch: 0, lanes: 0, gmch_m: 0, gmch_n: 0, link_m: 0, link_n: 0, tu: 0
[drm:intel_dump_pipe_config] dp: 0, gmch_m: 0, gmch_n: 0, link_m: 0, link_n: 0, tu: 0
[drm:intel_dump_pipe_config] requested mode:
[drm:drm_mode_debug_printmodeline] Modeline 0:"1280x1024" 60 108000 1280 1328 1440 1688 1024 1025 1028 1066 0x48 0x5
[drm:intel_dump_pipe_config] adjusted mode:
[drm:drm_mode_debug_printmodeline] Modeline 0:"1280x1024" 60 108000 1280 1328 1440 1688 1024 1025 1028 1066 0x48 0x5
[drm:intel_dump_crtc_timings] crtc timings: 108000 1280 1328 1440 1688 1024 1025 1028 1066, type: 0x48 flags: 0x5
[drm:intel_dump_pipe_config] port clock: 108000
[drm:intel_dump_pipe_config] pipe src size: 1280x1024
[drm:intel_dump_pipe_config] gmch pfit: control: 0x00000000, ratios: 0x00000000, lvds border: 0x00000000
[drm:intel_dump_pipe_config] pch pfit: pos: 0x00000000, size: 0x00000000, disabled
[drm:intel_dump_pipe_config] ips: 0
[drm:intel_dump_pipe_config] double wide: 0
[drm:i9xx_update_primary_plane] Writing base 00020000 00000000 0 0 5120
[drm:intel_crtc_mode_set] [ENCODER:7:DAC-7] set [MODE:0:1280x1024]
[drm:i845_get_fifo_size] FIFO size - (0x0000005f) A: 23
[drm:intel_calculate_wm] FIFO entries required for mode: 68
[drm:intel_calculate_wm] FIFO watermark level: -47
[drm:i845_update_wm] Setting FIFO watermarks - A: 1
[drm:intel_connector_check_state] [CONNECTOR:6:VGA-1]
[drm:check_encoder_state] [ENCODER:7:DAC-7]
[drm:check_crtc_state] [CRTC:5]
[drm:intel_crtc_set_config] [CRTC:5] [FB:27] #connectors=1 (x y) (0 0)
[drm:intel_set_config_compute_mode_changes] computed changes for [CRTC:5], mode_changed=0, fb_changed=0
[drm:intel_modeset_stage_output_state] [CONNECTOR:6:VGA-1] to [CRTC:5]
Console: switching to colour frame buffer device 160x64
[drm:intel_crtc_set_config] [CRTC:5] [FB:27] #connectors=1 (x y) (0 0)
[drm:intel_set_config_compute_mode_changes] computed changes for [CRTC:5], mode_changed=0, fb_changed=0
[drm:intel_modeset_stage_output_state] [CONNECTOR:6:VGA-1] to [CRTC:5]
i915 0000:00:02.0: fb0: inteldrmfb frame buffer device
i915 0000:00:02.0: registered panic notifier
[drm] Initialized i915 1.6.0 20080730 for 0000:00:02.0 on minor 0
Kernel command line: BOOT_IMAGE=/boot/test-3.x root=/dev/hda8 ro console=ttyS0,115200 console=tty0 earlyprintk=serial,ttyS0,115200 no_console_suspend drm.debug=0xe vconsole.keymap=us vconsole.font=latarcyrheb-sun16 LANG=en_US.UTF-8 usbcore.dyndbg=+p ehci_hcd.dyndbg=+p
[drm] Initialized drm 1.1.0 20060810
[drm:i915_dump_device_info] i915 device info: gen=2, pciid=0x2572 flags=has_overlay,overlay_needs_physical,
[drm:intel_detect_pch] No PCH found.
[drm] Memory usable by graphics device = 128M
[drm:i915_gem_gtt_init] GMADR size = 128M
[drm:i915_gem_gtt_init] GTT stolen size = 8M
[drm:i915_gem_gtt_init] ppgtt mode: 0
[drm] Replacing VGA console driver
[drm:intel_opregion_setup] graphic opregion physical addr: 0x0
[drm:intel_opregion_setup] ACPI OpRegion not supported!
[drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[drm] Driver supports precise vblank timestamp query.
[drm:init_vbt_defaults] Set default to SSC at 66667 kHz
[drm:validate_vbt] Using VBT from PCI ROM: $VBT Springdale-G d
[drm:parse_general_features] BDB_GENERAL_FEATURES int_tv_support 1 int_crt_support 0 lvds_use_ssc 0 lvds_ssc_freq 48000 display_clock_mode 0 fdi_rx_polarity_inverted 0
[drm:parse_general_definitions] crt_ddc_bus_pin: 2
[drm:parse_sdvo_device_mapping] different child size is found. Invalid.
[drm:parse_device_mapping] different child size is found. Invalid.
[drm:parse_driver_features] DRRS State Enabled:0
[drm:intel_display_power_get] enabling always-on
[drm:intel_modeset_init] 1 display pipe available.
[drm:intel_modeset_init] pipe A sprite A init failed: -19
[drm:intel_gmbus_force_bit] enabling bit-banging on i915 gmbus dpb. force bit now 1
[drm:intel_gmbus_force_bit] disabling bit-banging on i915 gmbus dpb. force bit now 0
[drm:intel_gmbus_force_bit] enabling bit-banging on i915 gmbus dpb. force bit now 1
[drm:intel_gmbus_force_bit] disabling bit-banging on i915 gmbus dpb. force bit now 0
[drm:intel_gmbus_force_bit] enabling bit-banging on i915 gmbus dpb. force bit now 1
[drm:intel_gmbus_force_bit] disabling bit-banging on i915 gmbus dpb. force bit now 0
[drm:intel_gmbus_force_bit] enabling bit-banging on i915 gmbus ssc. force bit now 1
[drm:intel_gmbus_force_bit] disabling bit-banging on i915 gmbus ssc. force bit now 0
[drm:intel_gmbus_force_bit] enabling bit-banging on i915 gmbus dpb. force bit now 1
[drm:tfp410_init] tfp410 not detected got VID FFFFFFFF: from i915 gmbus dpb Slave 56.
[drm:intel_gmbus_force_bit] disabling bit-banging on i915 gmbus dpb. force bit now 0
[drm:intel_gmbus_force_bit] enabling bit-banging on i915 gmbus dpb. force bit now 1
[drm:intel_gmbus_force_bit] disabling bit-banging on i915 gmbus dpb. force bit now 0
[drm:intel_gmbus_force_bit] enabling bit-banging on i915 gmbus dpb. force bit now 1
[drm:intel_gmbus_force_bit] disabling bit-banging on i915 gmbus dpb. force bit now 0
[drm:intel_modeset_readout_hw_state] [CRTC:5] hw state readout: enabled
[drm:intel_sanitize_crtc] [CRTC:5] hw state adjusted, was enabled, now disabled
[drm:intel_dump_pipe_config] [CRTC:5][setup_hw_state] config for pipe A
[drm:intel_dump_pipe_config] cpu_transcoder: A
[drm:intel_dump_pipe_config] pipe bpp: 0, dithering: 0
[drm:intel_dump_pipe_config] fdi/pch: 0, lanes: 0, gmch_m: 0, gmch_n: 0, link_m: 0, link_n: 0, tu: 0
[drm:intel_dump_pipe_config] dp: 0, gmch_m: 0, gmch_n: 0, link_m: 0, link_n: 0, tu: 0
[drm:intel_dump_pipe_config] requested mode:
[drm:drm_mode_debug_printmodeline] Modeline 0:"" 0 0 640 0 0 0 480 0 0 0 0x0 0x0
[drm:intel_dump_pipe_config] adjusted mode:
[drm:drm_mode_debug_printmodeline] Modeline 0:"" 0 0 0 0 0 0 0 0 0 0 0x0 0x0
[drm:intel_dump_crtc_timings] crtc timings: 0 640 656 752 800 480 490 492 525, type: 0x0 flags: 0x0
[drm:intel_dump_pipe_config] port clock: 25154
[drm:intel_dump_pipe_config] pipe src size: 640x480
[drm:intel_dump_pipe_config] gmch pfit: control: 0x00000000, ratios: 0x00000000, lvds border: 0x00000000
[drm:intel_dump_pipe_config] pch pfit: pos: 0x00000000, size: 0x00000000, disabled
[drm:intel_dump_pipe_config] ips: 0
[drm:intel_dump_pipe_config] double wide: 0
[drm:check_crtc_state] [CRTC:5]
[drm:i915_gem_setup_global_gtt] clearing unused GTT space: [0, 7fff000]
[drm:i915_gem_context_init] fake context support initialized
[drm] initialized overlay support
i915 0000:00:02.0: No connectors reported connected with modes
[drm:drm_setup_crtcs]
[drm:intel_fb_initial_config] Not using firmware configuration
[drm:drm_setup_crtcs] picking CRTCs for 2048x2048 config
[drm] Cannot find any crtc or sizes - going 1024x768
[drm:intelfb_create] no BIOS fb, allocating a new one
[drm:intelfb_create] allocated 1024x768 fb: 0x00020000, bo ece6e200
fbcon: inteldrmfb (fb0) is primary device
[drm:intel_crtc_cursor_set] cursor off
[drm:intel_crtc_set_config] [CRTC:5] [NOFB]
[drm:intel_set_config_compute_mode_changes] computed changes for [CRTC:5], mode_changed=0, fb_changed=0
Console: switching to colour frame buffer device 128x48
i915 0000:00:02.0: fb0: inteldrmfb frame buffer device
i915 0000:00:02.0: registered panic notifier
[drm] Initialized i915 1.6.0 20080730 for 0000:00:02.0 on minor 0