Bug 102889

Summary: [GLK] oops on i915 probe due to VBT advertizing HDMI on port A
Product: DRI Reporter: Daniel Drake <dan>
Component: DRM/IntelAssignee: Intel GFX Bugs mailing list <intel-gfx-bugs>
Status: CLOSED FIXED QA Contact: Intel GFX Bugs mailing list <intel-gfx-bugs>
Severity: major    
Priority: high CC: imre.deak, intel-gfx-bugs, jani.nikula
Version: XOrg git   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: GLK i915 features:
Attachments:
Description Flags
i915_vbt
none
dmesg from successful boot none

Description Daniel Drake 2017-09-20 07:00:53 UTC
Trying Linux on this new Acer XC-830 Geminilake motherboard for the first time, it is crashing during boot, every time. The last visible console log message is:

 fb: switching to inteldrmfb from EFI VGA

Reproduced this on Linux 4.13, Linus git as of today, and on current drm-intel-nightly.

The board has 1 VGA output and 2 HDMI outputs. It doesn't seem to matter which ports are in use.


With drm-intel-nightly I caught the full crash with netconsole:

[drm:i915_driver_load [i915]] No PCH found.
[drm:intel_power_domains_init [i915]] Allowed DC state mask 09
[drm:intel_device_info_dump [i915]] i915 device info: platform=GEMINILAKE gen=9 pciid=0x3184 rev=0x01
[drm:intel_device_info_dump [i915]] i915 device info: is_mobile: no
[drm:intel_device_info_dump [i915]] i915 device info: is_lp: yes
[drm:intel_device_info_dump [i915]] i915 device info: is_alpha_support: no
[drm:intel_device_info_dump [i915]] i915 device info: has_64bit_reloc: yes
[drm:intel_device_info_dump [i915]] i915 device info: has_aliasing_ppgtt: yes
[drm:intel_device_info_dump [i915]] i915 device info: has_csr: yes
[drm:intel_device_info_dump [i915]] i915 device info: has_ddi: yes
[drm:intel_device_info_dump [i915]] i915 device info: has_dp_mst: yes
[drm:intel_device_info_dump [i915]] i915 device info: has_reset_engine: yes
[drm:intel_device_info_dump [i915]] i915 device info: has_fbc: yes
[drm:intel_device_info_dump [i915]] i915 device info: has_fpga_dbg: yes
[drm:intel_device_info_dump [i915]] i915 device info: has_full_ppgtt: yes
[drm:intel_device_info_dump [i915]] i915 device info: has_full_48bit_ppgtt: yes
[drm:intel_device_info_dump [i915]] i915 device info: has_gmch_display: no
[drm:intel_device_info_dump [i915]] i915 device info: has_guc: yes
[drm:intel_device_info_dump [i915]] i915 device info: has_guc_ct: no
[drm:intel_device_info_dump [i915]] i915 device info: has_hotplug: yes
[drm:intel_device_info_dump [i915]] i915 device info: has_l3_dpf: no
[drm:intel_device_info_dump [i915]] i915 device info: has_llc: no
[drm:intel_device_info_dump [i915]] i915 device info: has_logical_ring_contexts: yes
[drm:intel_device_info_dump [i915]] i915 device info: has_overlay: no
[drm:intel_device_info_dump [i915]] i915 device info: has_pipe_cxsr: no
[drm:intel_device_info_dump [i915]] i915 device info: has_pooled_eu: no
[drm:intel_device_info_dump [i915]] i915 device info: has_psr: no
[drm:intel_device_info_dump [i915]] i915 device info: has_rc6: yes
[drm:intel_device_info_dump [i915]] i915 device info: has_rc6p: no
[drm:intel_device_info_dump [i915]] i915 device info: has_resource_streamer: yes
[drm:intel_device_info_dump [i915]] i915 device info: has_runtime_pm: yes
[drm:intel_device_info_dump [i915]] i915 device info: has_snoop: yes
[drm:intel_device_info_dump [i915]] i915 device info: unfenced_needs_alignment: no
[drm:intel_device_info_dump [i915]] i915 device info: cursor_needs_physical: no
[drm:intel_device_info_dump [i915]] i915 device info: hws_needs_physical: no
[drm:intel_device_info_dump [i915]] i915 device info: overlay_needs_physical: no
[drm:intel_device_info_dump [i915]] i915 device info: supports_tv: no
[drm:intel_device_info_dump [i915]] i915 device info: has_ipc: yes
[drm:intel_device_info_runtime_init [i915]] slice mask: 0001
[drm:intel_device_info_runtime_init [i915]] slice total: 1
[drm:intel_device_info_runtime_init [i915]] subslice total: 3
[drm:intel_device_info_runtime_init [i915]] subslice mask 0007
[drm:intel_device_info_runtime_init [i915]] subslice per slice: 3
[drm:intel_device_info_runtime_init [i915]] EU total: 18
[drm:intel_device_info_runtime_init [i915]] EU per subslice: 6
[drm:intel_device_info_runtime_init [i915]] has slice power gating: n
[drm:intel_device_info_runtime_init [i915]] has subslice power gating: y
[drm:intel_device_info_runtime_init [i915]] has EU power gating: y
[drm:i915_driver_load [i915]] ppgtt mode: 3
[drm:i915_driver_load [i915]] use GPU semaphores? no
[drm] Memory usable by graphics device = 4096M
[drm:i915_ggtt_probe_hw [i915]] GMADR size = 256M
[drm:i915_ggtt_probe_hw [i915]] GTT stolen size = 64M
checking generic (90000000 7e9000) vs hw (90000000 10000000)
fb: switching to inteldrmfb from EFI VGA
Console: switching to colour dummy device 80x25
[drm] Replacing VGA console driver
[drm:i915_gem_init_stolen [i915]] Memory reserved for graphics device: 65536K, usable: 64512K
[drm:sanitize_rc6_option [i915]] BIOS enabled RC states: HW_CTRL off HW_RC6 off SW_TARGET_STATE 4
[drm:intel_opregion_setup [i915]] graphic opregion physical addr: 0x79bf5018
[drm:intel_opregion_setup [i915]] Public ACPI methods supported
[drm:intel_opregion_setup [i915]] ASLE supported
[drm:intel_opregion_setup [i915]] Found valid VBT in ACPI OpRegion (RVDA)
[drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[drm] Driver supports precise vblank timestamp query.
[drm:intel_bios_init [i915]] Set default to SSC at 100000 kHz
[drm:intel_bios_init [i915]] VBT signature "$VBT GEMINILAKE     ", BDB version 210
[drm:intel_bios_init [i915]] BDB_GENERAL_FEATURES int_tv_support 0 int_crt_support 0 lvds_use_ssc 0 lvds_ssc_freq 120000 display_clock_mode 0 fdi_rx_polarity_inverted 0
[drm:intel_bios_init [i915]] crt_ddc_bus_pin: 2
[drm:intel_opregion_get_panel_type [i915]] Failed to get panel details from OpRegion (-19)
[drm:intel_bios_init [i915]] Panel type: 2 (VBT)
[drm:intel_bios_init [i915]] DRRS supported mode is seamless
[drm:intel_bios_init [i915]] Found panel mode in BIOS VBT tables:
[drm:drm_mode_debug_printmodeline] Modeline 0:"1024x768" 0 65000 1024 1048 1184 1344 768 771 777 806 0x8 0xa
[drm:intel_bios_init [i915]] VBT initial LVDS value 300
[drm:intel_bios_init [i915]] VBT backlight PWM modulation frequency 200 Hz, active high, min brightness 0, level 180, controller 0
[drm:intel_bios_init [i915]] Unsupported child device size for SDVO mapping.
[drm:intel_bios_init [i915]] Expected child device config size for VBT version 210 not known; assuming 38
[drm:intel_bios_init [i915]] DRRS State Enabled:1
[drm:intel_bios_init [i915]] Port A VBT info: DP:1 HDMI:1 DVI:1 EDP:0 CRT:0
[drm:intel_bios_init [i915]] Port A is TMDS compatible
[drm:intel_bios_init [i915]] VBT HDMI level shift for port A: 0
[drm:intel_bios_init [i915]] Port B VBT info: DP:0 HDMI:1 DVI:1 EDP:0 CRT:0
[drm:intel_bios_init [i915]] VBT HDMI level shift for port B: 8
[drm:intel_bios_init [i915]] Port C VBT info: DP:0 HDMI:1 DVI:1 EDP:0 CRT:0
[drm:intel_bios_init [i915]] VBT HDMI level shift for port C: 8
[drm:intel_dsm_detect [i915]] no _DSM method for intel device
[drm:gen9_set_dc_state [i915]] Setting DC state from 00 to 00
[drm:intel_power_well_enable [i915]] enabling power well 1
[drm:intel_update_cdclk [i915]] Current CD clock rate: 316800 kHz, VCO: 633600 kHz, ref: 19200 kHz
[drm:intel_power_well_enable [i915]] enabling always-on
[drm:intel_power_well_enable [i915]] enabling DC off
[drm:gen9_set_dc_state [i915]] Setting DC state from 00 to 00
[drm:intel_power_well_enable [i915]] enabling power well 2
i915 0000:00:02.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=io+mem:owns=io+mem
[drm:intel_power_well_enable [i915]] enabling dpio-common-a
[drm:intel_power_well_enable [i915]] enabling dpio-common-b
[drm:intel_power_well_enable [i915]] enabling dpio-common-c
[drm:_bxt_ddi_phy_init [i915]] DDI PHY 2 already enabled, won't reprogram it
[drm:intel_power_well_enable [i915]] enabling AUX A
[drm:intel_power_well_enable [i915]] enabling AUX B
[drm:intel_power_well_enable [i915]] enabling AUX C
[drm:intel_csr_ucode_init [i915]] Loading i915/glk_dmc_ver1_04.bin
[drm:__bxt_hpd_detection_setup [i915]] Invert bit setting: hp_ctl:18001818 hp_port:38
[drm:intel_fbc_init [i915]] Sanitized enable_fbc value: 1
[drm:intel_print_wm_latency [i915]] Gen9 Plane WM0 latency 7 (7.0 usec)
[drm:intel_print_wm_latency [i915]] Gen9 Plane WM1 latency 7 (7.0 usec)
[drm:intel_print_wm_latency [i915]] Gen9 Plane WM2 latency 8 (8.0 usec)
[drm:intel_print_wm_latency [i915]] Gen9 Plane WM3 latency 22 (22.0 usec)
[drm:intel_print_wm_latency [i915]] Gen9 Plane WM4 latency 22 (22.0 usec)
[drm:intel_print_wm_latency [i915]] Gen9 Plane WM5 latency 22 (22.0 usec)
[drm:intel_print_wm_latency [i915]] Gen9 Plane WM6 latency 22 (22.0 usec)
[drm:intel_print_wm_latency [i915]] Gen9 Plane WM7 latency 22 (22.0 usec)
[drm:intel_modeset_init [i915]] 3 display pipes available.
[drm:intel_update_cdclk [i915]] Current CD clock rate: 316800 kHz, VCO: 633600 kHz, ref: 19200 kHz
[drm:intel_update_max_cdclk [i915]] Max CD clock rate: 316800 kHz
[drm:intel_update_max_cdclk [i915]] Max dotclock rate: 627264 kHz
[drm:intel_ddi_init [i915]] BXT BIOS forgot to set DDI_A_4_LANES for port A; fixing
[drm:intel_dp_init_connector [i915]] Adding DP connector on port A
[drm:intel_dp_init_connector [i915]] using AUX A for port A (VBT)
[drm:intel_hdmi_init_connector [i915]] Adding HDMI connector on port A
Missing switch case (0) in bxt_port_to_ddc_pin
------------[ cut here ]------------
WARNING: CPU: 2 PID: 999 at drivers/gpu/drm/i915/intel_hdmi.c:1883 intel_hdmi_init_connector+0x26d/0x380 [i915]
Modules linked in: i915(+)
CPU: 2 PID: 999 Comm: insmod Not tainted 4.14.0-rc1+ #78
Hardware name: Acer                   Default string/Default string, BIOS E11 09/07/2017
task: ffff974ab6d53500 task.stack: ffffbb1b01b14000
RIP: 0010:intel_hdmi_init_connector+0x26d/0x380 [i915]
RSP: 0018:ffffbb1b01b179e8 EFLAGS: 00010292
RAX: 000000000000002e RBX: ffff974ab5a21800 RCX: 0000000000000006
RDX: 0000000000000007 RSI: 0000000000000092 RDI: ffff974abfd0cbb0
RBP: ffffbb1b01b17a18 R08: 0000000000000001 R09: 0000000000000407
R10: 0000000000000001 R11: ffffffff87ee07cd R12: ffff974ab76c8000
R13: ffff974ab5eb9000 R14: 0000000000000000 R15: 0000000000000041
FS:  00007f750f4ee700(0000) GS:ffff974abfd00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 000055ad0df688b8 CR3: 0000000178f11000 CR4: 00000000003406e0
Call Trace:
 intel_ddi_init+0x3ef/0x460 [i915]
 intel_modeset_init+0x13e2/0x18e0 [i915]
 ? intel_setup_gmbus+0x2a7/0x310 [i915]
 i915_driver_load+0xa14/0x15d0 [i915]
 i915_pci_probe+0x27/0x40 [i915]
 local_pci_probe+0x40/0xa0
 pci_device_probe+0xb6/0x140
 driver_probe_device+0x224/0x2f0
 __driver_attach+0x96/0xa0
 ? driver_probe_device+0x2f0/0x2f0
 bus_for_each_dev+0x5b/0x90
 driver_attach+0x19/0x20
 bus_add_driver+0x113/0x210
 driver_register+0x5b/0xd0
 __pci_register_driver+0x55/0x60
 i915_init+0x57/0x5a [i915]
 ? 0xffffffffc01cb000
 do_one_initcall+0x3e/0x160
 ? __vunmap+0x7c/0xb0
 ? kfree+0x145/0x160
 ? kmem_cache_alloc_trace+0x33/0x150
 do_init_module+0x5a/0x1f1
 load_module+0x234a/0x28f0
 ? kernel_read_file+0x15b/0x180
 SYSC_finit_module+0xba/0xc0
 ? SYSC_finit_module+0xba/0xc0
 SyS_finit_module+0x9/0x10
 entry_SYSCALL_64_fastpath+0x13/0x94
RIP: 0033:0x7f750f031259
RSP: 002b:00007ffd770af4e8 EFLAGS: 00000206 ORIG_RAX: 0000000000000139
RAX: ffffffffffffffda RBX: 00007f750f2e6b58 RCX: 00007f750f031259
RDX: 0000000000000000 RSI: 000055bbe8276439 RDI: 0000000000000003
RBP: 000000000000270e R08: 0000000000000000 R09: 00007f750f2e8ea0
R10: 0000000000000003 R11: 0000000000000206 R12: 0000000000001020
R13: 00007f750f2e6b58 R14: 000055bbe84831e0 R15: 00007f750f2e6b00
Code: 00 00 0f 84 d8 fe ff ff 41 83 fe 02 41 b9 02 00 00 00 0f 84 c8 fe ff ff 48 c7 c2 00 6c 17 c0 48 c7 c7 28 b6 19 c0 e8 5f f7 b4 c6 <0f> ff 41 b9 01 00 00 00 e9 a8 fe ff ff 45 89 f8 48 c7 c2 00 b8 
---[ end trace aacdac258098f6df ]---
[drm:intel_hdmi_init_connector [i915]] Using DDC pin 0x1 for port A (platform default)
WARN_ON(port == PORT_A)
------------[ cut here ]------------
WARNING: CPU: 2 PID: 999 at drivers/gpu/drm/i915/intel_hdmi.c:2023 intel_hdmi_init_connector+0x370/0x380 [i915]
Modules linked in: i915(+)
CPU: 2 PID: 999 Comm: insmod Tainted: G        W       4.14.0-rc1+ #78
Hardware name: Acer                   Default string/Default string, BIOS E11 09/07/2017
task: ffff974ab6d53500 task.stack: ffffbb1b01b14000
RIP: 0010:intel_hdmi_init_connector+0x370/0x380 [i915]
RSP: 0018:ffffbb1b01b179e8 EFLAGS: 00010292
RAX: 0000000000000017 RBX: ffff974ab5a21800 RCX: ffffffff87c44c98
RDX: 0000000000000001 RSI: 0000000000000092 RDI: ffffffff87ede78c
RBP: ffffbb1b01b17a18 R08: 0000000000000017 R09: 000000000000043e
R10: 0000000000000001 R11: 0000000000000000 R12: ffff974ab76c8000
R13: ffff974ab5eb9000 R14: 0000000000000000 R15: 0000000000000041
FS:  00007f750f4ee700(0000) GS:ffff974abfd00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 000055ad0df688b8 CR3: 0000000178f11000 CR4: 00000000003406e0
Call Trace:
 intel_ddi_init+0x3ef/0x460 [i915]
 intel_modeset_init+0x13e2/0x18e0 [i915]
 ? intel_setup_gmbus+0x2a7/0x310 [i915]
 i915_driver_load+0xa14/0x15d0 [i915]
 i915_pci_probe+0x27/0x40 [i915]
 local_pci_probe+0x40/0xa0
 pci_device_probe+0xb6/0x140
 driver_probe_device+0x224/0x2f0
 __driver_attach+0x96/0xa0
 ? driver_probe_device+0x2f0/0x2f0
 bus_for_each_dev+0x5b/0x90
 driver_attach+0x19/0x20
 bus_add_driver+0x113/0x210
 driver_register+0x5b/0xd0
 __pci_register_driver+0x55/0x60
 i915_init+0x57/0x5a [i915]
 ? 0xffffffffc01cb000
 do_one_initcall+0x3e/0x160
 ? __vunmap+0x7c/0xb0
 ? kfree+0x145/0x160
 ? kmem_cache_alloc_trace+0x33/0x150
 do_init_module+0x5a/0x1f1
 load_module+0x234a/0x28f0
 ? kernel_read_file+0x15b/0x180
 SYSC_finit_module+0xba/0xc0
 ? SYSC_finit_module+0xba/0xc0
 SyS_finit_module+0x9/0x10
 entry_SYSCALL_64_fastpath+0x13/0x94
RIP: 0033:0x7f750f031259
RSP: 002b:00007ffd770af4e8 EFLAGS: 00000206 ORIG_RAX: 0000000000000139
RAX: ffffffffffffffda RBX: 00007f750f2e6b58 RCX: 00007f750f031259
RDX: 0000000000000000 RSI: 000055bbe8276439 RDI: 0000000000000003
RBP: 000000000000270e R08: 0000000000000000 R09: 00007f750f2e8ea0
R10: 0000000000000003 R11: 0000000000000206 R12: 0000000000001020
R13: 00007f750f2e6b58 R14: 000055bbe84831e0 R15: 00007f750f2e6b00
Code: 28 b6 19 c0 44 89 4d d0 e8 7a f6 b4 c6 0f ff 44 8b 4d d0 e9 c5 fd ff ff 48 c7 c6 e5 54 18 c0 48 c7 c7 31 54 18 c0 e8 5c f6 b4 c6 <0f> ff e9 59 fe ff ff 66 0f 1f 84 00 00 00 00 00 55 48 89 e5 41 
---[ end trace aacdac258098f6e0 ]---
[drm:intel_hdmi_init_connector [i915]] Adding HDMI connector on port B
[drm:intel_hdmi_init_connector [i915]] Using DDC pin 0x1 for port B (VBT)
[drm:intel_hdmi_init_connector [i915]] Adding HDMI connector on port C
[drm:intel_hdmi_init_connector [i915]] Using DDC pin 0x2 for port C (VBT)
[drm:intel_dsi_init [i915]] 
[drm:intel_set_plane_visible [i915]] pipe A active planes 0x1
[drm:intel_modeset_setup_hw_state [i915]] [CRTC:42:pipe A] hw state readout: enabled
[drm:intel_set_plane_visible [i915]] pipe B active planes 0x0
[drm:intel_modeset_setup_hw_state [i915]] [CRTC:58:pipe B] hw state readout: disabled
[drm:intel_set_plane_visible [i915]] pipe C active planes 0x0
[drm:intel_modeset_setup_hw_state [i915]] [CRTC:74:pipe C] hw state readout: disabled
[drm:intel_modeset_setup_hw_state [i915]] PORT PLL A hw state readout: crtc_mask 0x00000000, on 0
[drm:intel_modeset_setup_hw_state [i915]] PORT PLL B hw state readout: crtc_mask 0x00000000, on 0
[drm:intel_modeset_setup_hw_state [i915]] PORT PLL C hw state readout: crtc_mask 0x00000001, on 1
[drm:intel_modeset_setup_hw_state [i915]] [ENCODER:75:DDI A] hw state readout: disabled, pipe A
[drm:intel_modeset_setup_hw_state [i915]] [ENCODER:80:DDI B] hw state readout: disabled, pipe A
[drm:intel_modeset_setup_hw_state [i915]] [ENCODER:83:DDI C] hw state readout: enabled, pipe A
[drm:intel_modeset_setup_hw_state [i915]] [CONNECTOR:76:DP-1] hw state readout: disabled
BUG: unable to handle kernel NULL pointer dereference at           (null)
IP:           (null)
PGD 0 P4D 0 
Oops: 0010 [#1] SMP
Modules linked in: i915(+)
CPU: 2 PID: 999 Comm: insmod Tainted: G        W       4.14.0-rc1+ #78
Hardware name: Acer                   Default string/Default string, BIOS E11 09/07/2017
task: ffff974ab6d53500 task.stack: ffffbb1b01b14000
RIP: 0010:          (null)
RSP: 0018:ffffbb1b01b179f0 EFLAGS: 00010286
RAX: ffff974ab5a21800 RBX: ffff974ab76c8000 RCX: 000000000000004c
RDX: ffffffff87ad6b49 RSI: 0000000000000001 RDI: ffff974ab5a21800
RBP: ffffbb1b01b17a58 R08: 0000000000000002 R09: 0000000000000487
R10: 0000000000000004 R11: ffffffff87ee07cd R12: ffff974ab76c8340
R13: ffff974ab5a21800 R14: ffffffffc0182bff R15: ffffffffc0182bf7
FS:  00007f750f4ee700(0000) GS:ffff974abfd00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000000000000000 CR3: 0000000178f11000 CR4: 00000000003406e0
Call Trace:
 ? intel_modeset_setup_hw_state+0x3c5/0xc70 [i915]
 ? drm_modeset_lock_all_ctx+0x9f/0xb0
 intel_modeset_init+0xeb0/0x18e0 [i915]
 ? intel_setup_gmbus+0x2a7/0x310 [i915]
 i915_driver_load+0xa14/0x15d0 [i915]
 i915_pci_probe+0x27/0x40 [i915]
 local_pci_probe+0x40/0xa0
 pci_device_probe+0xb6/0x140
 driver_probe_device+0x224/0x2f0
 __driver_attach+0x96/0xa0
 ? driver_probe_device+0x2f0/0x2f0
 bus_for_each_dev+0x5b/0x90
 driver_attach+0x19/0x20
 bus_add_driver+0x113/0x210
 driver_register+0x5b/0xd0
 __pci_register_driver+0x55/0x60
 i915_init+0x57/0x5a [i915]
 ? 0xffffffffc01cb000
 do_one_initcall+0x3e/0x160
 ? __vunmap+0x7c/0xb0
 ? kfree+0x145/0x160
 ? kmem_cache_alloc_trace+0x33/0x150
 do_init_module+0x5a/0x1f1
 load_module+0x234a/0x28f0
 ? kernel_read_file+0x15b/0x180
 SYSC_finit_module+0xba/0xc0
 ? SYSC_finit_module+0xba/0xc0
 SyS_finit_module+0x9/0x10
 entry_SYSCALL_64_fastpath+0x13/0x94
RIP: 0033:0x7f750f031259
RSP: 002b:00007ffd770af4e8 EFLAGS: 00000206 ORIG_RAX: 0000000000000139
RAX: ffffffffffffffda RBX: 00007f750f2e6b58 RCX: 00007f750f031259
RDX: 0000000000000000 RSI: 000055bbe8276439 RDI: 0000000000000003
RBP: 000000000000270e R08: 0000000000000000 R09: 00007f750f2e8ea0
R10: 0000000000000003 R11: 0000000000000206 R12: 0000000000001020
R13: 00007f750f2e6b58 R14: 000055bbe84831e0 R15: 00007f750f2e6b00
Code:  Bad RIP value.
RIP:           (null) RSP: ffffbb1b01b179f0
CR2: 0000000000000000
---[ end trace aacdac258098f6e1 ]---
insmod (999) used greatest stack depth: 12736 bytes left
Comment 1 Imre Deak 2017-09-20 09:09:17 UTC
VBT says to init HDMI on port A, but this isn't supported anywhere AFAICS. Could you try the following?:

diff --git a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c
index 93cbbcbbc193..dcb16865b411 100644
--- a/drivers/gpu/drm/i915/intel_ddi.c
+++ b/drivers/gpu/drm/i915/intel_ddi.c
@@ -2675,6 +2675,11 @@ void intel_ddi_init(struct drm_i915_private *dev_priv, enum port port)
 		DRM_DEBUG_KMS("VBT says port %c has lspcon\n", port_name(port));
 	}
 
+	if (port == PORT_A && init_hdmi) {
+		DRM_DEBUG_KMS("Overriding VBT to disable HDMI on port A\n");
+		init_hdmi = false;
+	}
+
 	if (!init_dp && !init_hdmi) {
 		DRM_DEBUG_KMS("VBT says port %c is not DVI/HDMI/DP compatible, respect it\n",
 			      port_name(port));
Comment 2 Jani Nikula 2017-09-20 10:50:20 UTC
Please attach /sys/kernel/debug/dri/0/i915_vbt. Boot with nomodeset kernel parameter or with Imre's hack patch if you have to.

Geminilake doesn't have VGA natively. I presume there's some DP->VGA converter dongle in port A, and the VBT has bogus info claiming there's HDMI.

If Imre's patch helps, please attach full dmesg from boot. Let's see if there's something responding to DP on port A.
Comment 3 Daniel Drake 2017-09-21 03:12:59 UTC
Created attachment 134399 [details]
i915_vbt

Thanks for the quick response. Here is the VBT
Comment 4 Daniel Drake 2017-09-21 03:16:21 UTC
Created attachment 134400 [details]
dmesg from successful boot

Imre's patch fixes the crash and the system now boots into the graphical environment, thanks! All 3 outputs are working, the VGA output is indeed shown as DP. Here is the full dmesg from boot.
Comment 5 Jani Nikula 2017-09-21 11:46:48 UTC
Just to double check, this is an UEFI boot, not legacy mode?
Comment 6 Daniel Drake 2017-09-22 02:02:20 UTC
Yes, UEFI boot.
Comment 7 Jani Nikula 2017-09-22 18:52:33 UTC
Please test http://patchwork.freedesktop.org/patch/msgid/20170921141920.18172-1-jani.nikula@intel.com

Essentially the same as Imre's patch, but catching the faulty config at an earlier stage.
Comment 8 Daniel Drake 2017-09-25 02:47:09 UTC
That patch works fine, thanks.
Comment 9 Jani Nikula 2017-09-25 07:52:24 UTC
Fixed by

commit d27ffc1d00327c29b3aa97f941b42f0949f9e99f
Author: Jani Nikula <jani.nikula@intel.com>
Date:   Thu Sep 21 17:19:20 2017 +0300

    drm/i915/bios: ignore HDMI on port A

with Cc: stable. Thanks for the report and testing!

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct.