Bug 106316 - issue with skylake firmware loading in 4.17-rc3
Summary: issue with skylake firmware loading in 4.17-rc3
Status: CLOSED INVALID
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Intel (show other bugs)
Version: DRI git
Hardware: Other All
: medium normal
Assignee: Intel GFX Bugs mailing list
QA Contact: Intel GFX Bugs mailing list
URL:
Whiteboard: Triaged, ReadyForDev
Keywords:
Depends on:
Blocks:
 
Reported: 2018-04-30 00:11 UTC by Mohit Keswani
Modified: 2018-05-07 07:11 UTC (History)
3 users (show)

See Also:
i915 platform: SKL
i915 features: firmware/dmc


Attachments
i915 skylake firmware 27 loading issue 4.17.0-rc3 (220.60 KB, text/x-log)
2018-04-30 00:11 UTC, Mohit Keswani
no flags Details
dmesg - drm-tip kernel (397.25 KB, text/plain)
2018-05-03 03:13 UTC, Mohit Keswani
no flags Details

Description Mohit Keswani 2018-04-30 00:11:21 UTC
Created attachment 139223 [details]
i915 skylake firmware  27 loading issue 4.17.0-rc3

Firmware is not getting loaded with the new kernel 4.17-rc3

 [drm] Replacing VGA console driver
Apr 29 19:44:45 mk-y700 kernel: [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
Apr 29 19:44:45 mk-y700 kernel: [drm] Driver supports precise vblank timestamp query.
Apr 29 19:44:45 mk-y700 kernel: i915 0000:00:02.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=io+mem:owns=io+mem
Apr 29 19:44:45 mk-y700 kernel: i915 0000:00:02.0: Direct firmware load for i915/skl_dmc_ver1_27.bin failed with error -2
Apr 29 19:44:45 mk-y700 kernel: i915 0000:00:02.0: Failed to load DMC firmware i915/skl_dmc_ver1_27.bin. Disabling runtime power management.
Apr 29 19:44:45 mk-y700 kernel: i915 0000:00:02.0: DMC firmware homepage: https://01.org/linuxgraphics/downloads/firmware
Apr 29 19:44:45 mk-y700 kernel: ACPI: Battery Slot [BAT0] (battery present)
Apr 29 19:44:45 mk-y700 kernel: [drm] Initialized i915 1.6.0 20180308 for 0000:00:02.0 on minor 0
Apr 29 19:44:45 mk-y700 kernel: [Firmware Bug]: ACPI(PEGP) defines _DOD but not _DOS
Apr 29 19:44:45 mk-y700 kernel: ACPI: Video Device [PEGP] (multi-head: yes  rom: yes  post: no)
Apr 29 19:44:45 mk-y700 kernel: input: Video Bus as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/LNXVIDEO:00/input/input4
Apr 29 19:44:45 mk-y700 kernel: ACPI: Video Device [GFX0] (multi-head: yes  rom: no  post: no)
Apr 29 19:44:45 mk-y700 kernel: input: Video Bus as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/LNXVIDEO:01/input/input5
Comment 1 Jani Saarinen 2018-04-30 07:09:09 UTC
Can you check first that you have FW in right place as you seems to be trying to use latest from https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/i915.

FW's should be in /lib/firmware/i915 that are used in our i915 driver. 

If this fails try using FW with latest drm-tip:
https://cgit.freedesktop.org/drm-tip and send dmesg with drm.debug=0x1e log_buf_len=4M?
Comment 2 Mohit Keswani 2018-05-01 21:59:58 UTC
I've all the files in lib/firmware/i915. I'm running arch and trying new kernel for testing
I don't know all the details about what changed in kernel and drm so i raised this bug.

If you think I can wait for the kernel to be mainline and also arch linux to update drm then you can close this bug.
Comment 3 Francesco Balestrieri 2018-05-02 06:54:36 UTC
Testing with drm-tip would confirm whether or not the issue is already fixed. Would you be able to check that?
Comment 4 Mohit Keswani 2018-05-03 03:13:58 UTC
Created attachment 139291 [details]
dmesg - drm-tip kernel

dmesg - drm-tip kernel
Comment 5 Mohit Keswani 2018-05-03 03:14:46 UTC
my laptop is Ideapad Y700-15isk
Comment 6 Jani Saarinen 2018-05-03 05:52:04 UTC
ok, 
[    0.345268] [drm:intel_csr_ucode_init] Loading i915/skl_dmc_ver1_27.bin
[    0.345464] i915 0000:00:02.0: Direct firmware load for i915/skl_dmc_ver1_27.bin failed with error -2
[    0.345468] i915 0000:00:02.0: Failed to load DMC firmware i915/skl_dmc_ver1_27.bin. Disabling runtime power management.
[    0.345472] i915 0000:00:02.0: DMC firmware homepage: https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/i915

Imre, Anusha, any idea why fails?
Comment 7 Jani Saarinen 2018-05-03 05:53:41 UTC
Documenting CPU too: 
CPU0: Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz (family: 0x6, model: 0x5e, stepping: 0x3)
Comment 8 Ville Syrjala 2018-05-03 10:36:51 UTC
(In reply to Jani Saarinen from comment #6)
> [    0.345468] i915 0000:00:02.0: Failed to load DMC firmware
> i915/skl_dmc_ver1_27.bin. Disabling runtime power management.

That's -ENOENT, so presumably it just can't find the firmware file.
Comment 9 Ville Syrjala 2018-05-03 10:37:20 UTC
(In reply to Ville Syrjala from comment #8)
> (In reply to Jani Saarinen from comment #6)
> > [    0.345468] i915 0000:00:02.0: Failed to load DMC firmware
> > i915/skl_dmc_ver1_27.bin. Disabling runtime power management.
> 
> That's -ENOENT, so presumably it just can't find the firmware file.

Quoted the wrong part:
[    0.345464] i915 0000:00:02.0: Direct firmware load for i915/skl_dmc_ver1_27.bin failed with error -2
Comment 10 anusha 2018-05-03 19:44:01 UTC
(In reply to Mohit Keswani from comment #4)
> Created attachment 139291 [details]
> dmesg - drm-tip kernel
> 
> dmesg - drm-tip kernel

Hi Mohit,
Since you are using arch there is a possibility that the by the time the kernel is loaded the firmware is not available and it throws this message.

Can you add DMC to the FILES section in /etc/mkinitcpio.conf and try?
I have seen this work before.


Thanks,
Anusha
Comment 11 Mohit Keswani 2018-05-03 23:58:04 UTC
adding DMC will not solve any issue as the files loaded is just config,
as far as i understand, grub is loading kernel from /boot and executing it. The kernel then is mounting root filesystem  in KMS mode, because without that it can never find the firmware files  as they are always  residing in /lib/firmware/i915 path.
When kernel completes loading it will then call initramfs. At this point the KMS video driver should already be initialized.

Please correct me if im wrong.
Comment 12 Ville Syrjala 2018-05-04 19:45:19 UTC
(In reply to Mohit Keswani from comment #11)
> adding DMC will not solve any issue as the files loaded is just config,
> as far as i understand, grub is loading kernel from /boot and executing it.
> The kernel then is mounting root filesystem  in KMS mode, because without
> that it can never find the firmware files  as they are always  residing in
> /lib/firmware/i915 path.
> When kernel completes loading it will then call initramfs. At this point the
> KMS video driver should already be initialized.
> 
> Please correct me if im wrong.

If you build i915 into the kernel you need to also build the firmware into the kernel (or at least that's what I assume, never tried it with i915 myself). If OTOH you have i915 in initramfs then you also need the firmware in initramfs. The third option is to not include i915 into the kernel nor the initramfs. I use that last option myself because it avoids all this silly hassle with firmwares.
Comment 13 Mohit Keswani 2018-05-04 22:22:59 UTC
ok changing i915 from kernel mode to Module config on fixed the issue
thanks for the insight and looking into the issue.
Comment 14 Jani Saarinen 2018-05-07 07:11:31 UTC
Thank you reporting back. Closing.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.