Dear Kroms,
Am Sonntag, den 12.07.2015, 22:17 +0200 schrieb kroms@posteo.be:
Thank you! Unfortunately, it also does not contain the Git revision.
#define COREBOOT_ORIGIN_GIT_REVISION "Unknown"
I dont´t know if you noticed that Francis wrote in this thread on Sun
Jul 5 16:57:30 CEST 2015:
"Libreboot builds coreboot without the .git directory, so it's not possible to get the coreboot revision. You can find out what version of coreboot it is by looking at resources/scripts/helpers/download/coreboot
He is using libreboot 20150518, so the coreboot revision that he's using is e19c8b0091022ae3f490601aed0c290cd5171b79"
Thank you for looking this up!
commit e19c8b0091022ae3f490601aed0c290cd5171b79 Author: Alexander Couzens < lynxis@fe80.eu > AuthorDate: Thu Apr 2 23:20:45 2015 +0200 Commit: Peter Stuge < peter@stuge.se > CommitDate: Sun Apr 5 04:07:25 2015 +0200
acpi: protect acpi generators from PRE_RAM & SMM
- Try to use a newer Linux kernel.
I updated the Kernel to 4.1.2 from Debian experimental.
- Turn on debugging of the Linux i915 module [1].
- Please also post a log with debugging enabled when using the
vendor firmware.
Please find attached the two outputs (libreboot and lenovo_bios) from
dmesg with debugging enabled.
Awesome! Thank you very much.
$ grep 'drm:' dmesg_debug_libreboot.txt [ 11.647383] [drm:i915_dump_device_info] i915 device info: gen=4, pciid=0x2a42 rev=0x07 flags=is_mobile,need_gfx_hws,is_g4x,has_fbc,has_pipe_cxsr,has_hotplug,supports_tv, [ 11.647410] [drm:intel_detect_pch] No PCH found. [ 11.647416] [drm:i915_gem_gtt_init] GMADR size = 256M [ 11.647418] [drm:i915_gem_gtt_init] GTT stolen size = 32M [ 11.647419] [drm:i915_gem_gtt_init] ppgtt mode: 0 [ 11.648615] [drm:intel_opregion_setup] graphic opregion physical addr: 0x0 [ 11.648618] [drm:intel_opregion_setup] ACPI OpRegion not supported! [ 11.648665] [drm:intel_device_info_runtime_init] slice total: 0 [ 11.648666] [drm:intel_device_info_runtime_init] subslice total: 0 [ 11.648668] [drm:intel_device_info_runtime_init] subslice per slice: 0 [ 11.648670] [drm:intel_device_info_runtime_init] EU total: 0 [ 11.648671] [drm:intel_device_info_runtime_init] EU per subslice: 0 [ 11.648672] [drm:intel_device_info_runtime_init] has slice power gating: n [ 11.648674] [drm:intel_device_info_runtime_init] has subslice power gating: n [ 11.648676] [drm:intel_device_info_runtime_init] has EU power gating: n [ 11.648680] [drm:init_vbt_defaults] Set default to SSC at 100000 kHz [ 11.648684] [drm:validate_vbt] Using VBT from PCI ROM: $VBT IRONLAKE-MOBILEd [ 11.648687] [drm:parse_general_features] BDB_GENERAL_FEATURES int_tv_support 0 int_crt_support 1 lvds_use_ssc 1 lvds_ssc_freq 96000 display_clock_mode 0 fdi_rx_polarity_inverted 0 [ 11.648689] [drm:parse_sdvo_device_mapping] No general definition block is found, unable to construct sdvo mapping. [ 11.648691] [drm:parse_device_mapping] No general definition block is found, no devices defined. [ 11.648693] [drm:parse_psr] No PSR BDB found. [ 11.648700] [drm:intel_dsm_pci_probe] no _DSM method for intel device [ 11.648707] [drm:i915_gem_init_stolen] found 33554432 bytes of stolen memory at be000000 [ 11.648710] [drm:intel_display_power_get] enabling always-on [ 11.648744] [drm:intel_modeset_init] 2 display pipes available. [ 11.648753] [drm:intel_modeset_init] pipe A sprite A init failed: -19 [ 11.648760] [drm:intel_modeset_init] pipe B sprite B init failed: -19 [ 11.718062] [drm:intel_lvds_init] using preferred mode from EDID: [ 11.718069] [drm:drm_mode_debug_printmodeline] Modeline 27:"1440x900" 60 101600 1440 1488 1520 1792 900 903 909 945 0x48 0xa [ 11.718075] [drm:intel_lvds_init] detected single-link lvds configuration [ 11.718147] [drm:intel_panel_setup_backlight] Connector LVDS-1 backlight initialized, enabled, brightness 98/98 [ 11.718205] [drm:intel_setup_outputs] probing SDVOB [ 11.718209] [drm:intel_gmbus_force_bit] enabling bit-banging on i915 gmbus dpb. force bit now 1 [ 11.727609] [drm:intel_sdvo_read_byte] i2c transfer returned -6 [ 11.727611] [drm:intel_sdvo_init] No SDVO device found on SDVOB [ 11.727642] [drm:intel_gmbus_force_bit] disabling bit-banging on i915 gmbus dpb. force bit now 0 [ 11.727644] [drm:intel_setup_outputs] probing HDMI on SDVOB [ 11.727701] [drm:intel_dp_init_connector] Adding DP connector on port B [ 11.727743] [drm:intel_dp_aux_init] registering DPDDC-B bus for card0-DP-1 [ 11.727781] [drm:intel_setup_outputs] probing SDVOC [ 11.727783] [drm:intel_gmbus_force_bit] enabling bit-banging on i915 gmbus dpb. force bit now 1 [ 11.737209] [drm:intel_sdvo_read_byte] i2c transfer returned -6 [ 11.737212] [drm:intel_sdvo_init] No SDVO device found on SDVOC [ 11.740675] [drm:intel_gmbus_force_bit] disabling bit-banging on i915 gmbus dpb. force bit now 0 [ 11.740681] [drm:intel_setup_outputs] probing HDMI on SDVOC [ 11.740749] [drm:intel_dp_init_connector] Adding DP connector on port C [ 11.740788] [drm:intel_dp_aux_init] registering DPDDC-C bus for card0-DP-2 [ 11.740838] [drm:intel_dp_init_connector] Adding DP connector on port D [ 11.740879] [drm:intel_dp_aux_init] registering DPDDC-D bus for card0-DP-3 [ 11.740927] [drm:intel_modeset_readout_hw_state] [CRTC:20] hw state readout: enabled [ 11.740930] [drm:intel_modeset_readout_hw_state] [CRTC:23] hw state readout: disabled [ 11.740933] [drm:intel_modeset_readout_hw_state] [ENCODER:25:LVDS-25] hw state readout: enabled, pipe A [ 11.740935] [drm:intel_modeset_readout_hw_state] [ENCODER:32:DAC-32] hw state readout: disabled, pipe A [ 11.740938] [drm:intel_modeset_readout_hw_state] [ENCODER:33:TMDS-33] hw state readout: disabled, pipe A [ 11.740941] [drm:intel_modeset_readout_hw_state] [ENCODER:38:TMDS-38] hw state readout: disabled, pipe A [ 11.740943] [drm:intel_modeset_readout_hw_state] [ENCODER:40:TMDS-40] hw state readout: disabled, pipe A [ 11.740945] [drm:intel_modeset_readout_hw_state] [ENCODER:42:TMDS-42] hw state readout: disabled, pipe A [ 11.740948] [drm:intel_modeset_readout_hw_state] [ENCODER:44:TMDS-44] hw state readout: disabled, pipe A [ 11.740950] [drm:intel_modeset_readout_hw_state] [CONNECTOR:24:LVDS-1] hw state readout: enabled [ 11.740952] [drm:intel_modeset_readout_hw_state] [CONNECTOR:31:VGA-1] hw state readout: disabled [ 11.740955] [drm:intel_modeset_readout_hw_state] [CONNECTOR:34:HDMI-A-1] hw state readout: disabled [ 11.740957] [drm:intel_modeset_readout_hw_state] [CONNECTOR:39:DP-1] hw state readout: disabled [ 11.740959] [drm:intel_modeset_readout_hw_state] [CONNECTOR:41:HDMI-A-2] hw state readout: disabled [ 11.740961] [drm:intel_modeset_readout_hw_state] [CONNECTOR:43:DP-2] hw state readout: disabled [ 11.740963] [drm:intel_modeset_readout_hw_state] [CONNECTOR:45:DP-3] hw state readout: disabled […]
With the vendor firmware the messages look like below.
$ grep 'drm:' dmesg_debug_lenovo_bios.txt [ 13.567790] [drm:i915_dump_device_info] i915 device info: gen=4, pciid=0x2a42 rev=0x07 flags=is_mobile,need_gfx_hws,is_g4x,has_fbc,has_pipe_cxsr,has_hotplug,supports_tv, [ 13.567817] [drm:intel_detect_pch] No PCH found. [ 13.567822] [drm:i915_gem_gtt_init] GMADR size = 256M [ 13.567824] [drm:i915_gem_gtt_init] GTT stolen size = 32M [ 13.567825] [drm:i915_gem_gtt_init] ppgtt mode: 0 [ 13.569564] [drm:intel_opregion_setup] graphic opregion physical addr: 0xbdb6b0fa [ 13.569573] [drm:intel_opregion_setup] Public ACPI methods supported [ 13.569574] [drm:intel_opregion_setup] SWSCI supported [ 13.575637] [drm:swsci_setup] SWSCI BIOS requested (00010673) SBCB callbacks that are not supported (00080673) [ 13.575640] [drm:swsci_setup] SWSCI GBDA callbacks 00000cf3, SBCB callbacks 00010673 [ 13.575641] [drm:intel_opregion_setup] ASLE supported [ 13.575697] [drm:intel_device_info_runtime_init] slice total: 0 [ 13.575698] [drm:intel_device_info_runtime_init] subslice total: 0 [ 13.575700] [drm:intel_device_info_runtime_init] subslice per slice: 0 [ 13.575701] [drm:intel_device_info_runtime_init] EU total: 0 [ 13.575702] [drm:intel_device_info_runtime_init] EU per subslice: 0 [ 13.575703] [drm:intel_device_info_runtime_init] has slice power gating: n [ 13.575705] [drm:intel_device_info_runtime_init] has subslice power gating: n [ 13.575706] [drm:intel_device_info_runtime_init] has EU power gating: n [ 13.575711] [drm:init_vbt_defaults] Set default to SSC at 100000 kHz [ 13.575714] [drm:validate_vbt] Using VBT from OpRegion: $VBT CANTIGA d [ 13.575716] [drm:parse_general_features] BDB_GENERAL_FEATURES int_tv_support 0 int_crt_support 1 lvds_use_ssc 1 lvds_ssc_freq 100000 display_clock_mode 0 fdi_rx_polarity_inverted 0 [ 13.575718] [drm:parse_general_definitions] crt_ddc_bus_pin: 2 [ 13.575720] [drm:parse_lfp_panel_data] DRRS supported mode is static [ 13.575723] [drm:parse_lfp_panel_data] Found panel mode in BIOS VBT tables: [ 13.575726] [drm:drm_mode_debug_printmodeline] Modeline 0:"1440x900" 0 101600 1440 1488 1520 1792 900 903 909 945 0x8 0xa [ 13.575728] [drm:parse_lfp_panel_data] VBT initial LVDS value 4230033c [ 13.575730] [drm:parse_lfp_backlight] VBT backlight PWM modulation frequency 220 Hz, active high, min brightness 0, level 0 [ 13.575732] [drm:parse_sdvo_panel_data] Found SDVO panel mode in BIOS VBT tables: [ 13.575735] [drm:drm_mode_debug_printmodeline] Modeline 0:"1600x1200" 0 162000 1600 1664 1856 2160 1200 1201 1204 1250 0x8 0xa [ 13.575737] [drm:parse_sdvo_device_mapping] No SDVO device info is found in VBT [ 13.575739] [drm:parse_driver_features] DRRS State Enabled:0 [ 13.575740] [drm:parse_psr] No PSR BDB found. [ 13.575750] [drm:intel_dsm_pci_probe] no _DSM method for intel device [ 13.575760] [drm:i915_gem_init_stolen] found 33554432 bytes of stolen memory at be000000 [ 13.575763] [drm:intel_display_power_get] enabling always-on [ 13.575801] [drm:intel_modeset_init] 2 display pipes available. [ 13.575813] [drm:intel_modeset_init] pipe A sprite A init failed: -19 [ 13.575819] [drm:intel_modeset_init] pipe B sprite B init failed: -19 [ 13.646058] [drm:intel_lvds_init] using preferred mode from EDID: [ 13.646063] [drm:drm_mode_debug_printmodeline] Modeline 27:"1440x900" 60 101600 1440 1488 1520 1792 900 903 909 945 0x48 0xa [ 13.646068] [drm:intel_lvds_init] detected dual-link lvds configuration [ 13.646215] [drm:intel_panel_setup_backlight] Connector LVDS-1 backlight initialized, enabled, brightness 481695/2408475 [ 13.646327] [drm:intel_setup_outputs] probing SDVOB [ 13.646331] [drm:intel_gmbus_force_bit] enabling bit-banging on i915 gmbus dpb. force bit now 1 [ 13.655959] [drm:intel_sdvo_read_byte] i2c transfer returned -6 [ 13.655961] [drm:intel_sdvo_init] No SDVO device found on SDVOB [ 13.655990] [drm:intel_gmbus_force_bit] disabling bit-banging on i915 gmbus dpb. force bit now 0 [ 13.655992] [drm:intel_setup_outputs] probing HDMI on SDVOB [ 13.656064] [drm:intel_dp_init_connector] Adding DP connector on port B [ 13.656108] [drm:intel_dp_aux_init] registering DPDDC-B bus for card0-DP-1 [ 13.656144] [drm:intel_setup_outputs] probing SDVOC [ 13.656148] [drm:intel_gmbus_force_bit] enabling bit-banging on i915 gmbus dpb. force bit now 1 [ 13.665729] [drm:intel_sdvo_read_byte] i2c transfer returned -6 [ 13.665731] [drm:intel_sdvo_init] No SDVO device found on SDVOC [ 13.665758] [drm:intel_gmbus_force_bit] disabling bit-banging on i915 gmbus dpb. force bit now 0 [ 13.665760] [drm:intel_setup_outputs] probing HDMI on SDVOC [ 13.665808] [drm:intel_dp_init_connector] Adding DP connector on port C [ 13.665845] [drm:intel_dp_aux_init] registering DPDDC-C bus for card0-DP-2 [ 13.665888] [drm:intel_dp_init_connector] Adding DP connector on port D [ 13.665927] [drm:intel_dp_aux_init] registering DPDDC-D bus for card0-DP-3 [ 13.665964] [drm:intel_tv_init] Integrated TV is not present. [ 13.665970] [drm:intel_modeset_readout_hw_state] [CRTC:20] hw state readout: disabled [ 13.665977] [drm:intel_modeset_readout_hw_state] [CRTC:23] hw state readout: enabled [ 13.665980] [drm:intel_modeset_readout_hw_state] [ENCODER:25:LVDS-25] hw state readout: enabled, pipe B [ 13.665982] [drm:intel_modeset_readout_hw_state] [ENCODER:32:DAC-32] hw state readout: disabled, pipe A [ 13.665984] [drm:intel_modeset_readout_hw_state] [ENCODER:33:TMDS-33] hw state readout: disabled, pipe A [ 13.665986] [drm:intel_modeset_readout_hw_state] [ENCODER:38:TMDS-38] hw state readout: disabled, pipe A [ 13.665988] [drm:intel_modeset_readout_hw_state] [ENCODER:40:TMDS-40] hw state readout: disabled, pipe A [ 13.665990] [drm:intel_modeset_readout_hw_state] [ENCODER:42:TMDS-42] hw state readout: disabled, pipe A [ 13.665992] [drm:intel_modeset_readout_hw_state] [ENCODER:44:TMDS-44] hw state readout: disabled, pipe A [ 13.665994] [drm:intel_modeset_readout_hw_state] [CONNECTOR:24:LVDS-1] hw state readout: enabled [ 13.665995] [drm:intel_modeset_readout_hw_state] [CONNECTOR:31:VGA-1] hw state readout: disabled [ 13.665997] [drm:intel_modeset_readout_hw_state] [CONNECTOR:34:HDMI-A-1] hw state readout: disabled [ 13.665999] [drm:intel_modeset_readout_hw_state] [CONNECTOR:39:DP-1] hw state readout: disabled [ 13.666001] [drm:intel_modeset_readout_hw_state] [CONNECTOR:41:HDMI-A-2] hw state readout: disabled [ 13.666002] [drm:intel_modeset_readout_hw_state] [CONNECTOR:43:DP-2] hw state readout: disabled [ 13.666004] [drm:intel_modeset_readout_hw_state] [CONNECTOR:45:DP-3] hw state readout: disabled […]
As you can see, the vendor firmware detects a dual-link LVDS configuration.
[drm:intel_lvds_init] detected dual-link lvds configuration
With coreboot a single-link LVDS configuration is detected.
[drm:intel_lvds_init] detected single-link lvds configuration
Francis Rowe wrote to the list, that this is configured during compile time in coreboot [1][2]. You’d need to rebuild your image. Then you should have at least graphics when Linux started.
There are two more things two do.
1. Contact the Linux i915 folks and ask them, if the module is able to detect the configuration itself and does not rely on the firmware or if there is a way to override that setting from the Linux command line.
2. Improve coreboot so that the LVDS link configuration is detected during runtime as the vendor firmware (VGA Option ROM/Video BIOS(?)) does.
Thanks,
Paul
[1] http://coreboot.org/pipermail/coreboot/2015-July/080109.html [2] http://libreboot.org/docs/hcl/gm45_lcd.html