Regression regarding i915

  • hallo

    I usually load the Firmware (FW) for i915 via bootparameter "i915.enable_guc=2", but with nightly it doesn't work anymore.

    with "dmesg|grep -iE 'drm|guc|huc|vgem'"

    I get the following:

    LE Release

    =========

    [ 0.738268] i915 0000:00:02.0: [drm] Finished loading DMC firmware i915/kbl_dmc_ver1_04.bin (v1.4)

    [ 0.806598] [drm] GuC communication enabled

    [ 0.819929] i915 0000:00:02.0: [drm] GuC firmware i915/kbl_guc_33.0.0.bin version 33.0 submission:disabled

    [ 0.819931] i915 0000:00:02.0: [drm] HuC firmware i915/kbl_huc_4.0.0.bin version 4.0 authenticated:yes

    [ 0.914124] [drm] Initialized i915 1.6.0 20200917 for 0000:00:02.0 on minor 0

    nightly

    ======

    [ 0.744771] i915 0000:00:02.0: [drm] Finished loading DMC firmware i915/kbl_dmc_ver1_04.bin (v1.4)

    [ 0.748948] i915 0000:00:02.0: [drm] [ENCODER:106:DDI C/PHY C] is disabled/in DSI mode with an ungated DDI clock, gate it

    [ 0.749016] i915 0000:00:02.0: Direct firmware load for i915/kbl_guc_62.0.0.bin failed with error -2

    [ 0.749019] i915 0000:00:02.0: [drm] GuC firmware i915/kbl_guc_62.0.0.bin: fetch failed with error -2

    [ 0.749021] i915 0000:00:02.0: [drm] GuC firmware(s) can be downloaded from https://git.kernel.org/pub/scm/linux/…e.git/tree/i915

    [ 0.749671] i915 0000:00:02.0: [drm] GuC is uninitialized

    [ 0.801989] [drm] Initialized i915 1.6.0 20201103 for 0000:00:02.0 on minor 0

    AFAIK, if i915 is compiled into the kernel versus as a module i915 FW doesn't get loaded [1]

    Does LE compiles i915 into kernel since kernel 5.15 ?

    [1]

    running kernel 5.15.2 on a Rocket Lake box under Fedora with i915 compiled as a module shows no trouble.

    running kernel 5.15.2 on a Rocket Lake box under Fedora with i915 compiled into the kernel shows the above errors.

    idea's ?

  • :) I had jumped to the same conclusion first. (.config) - I also have the enable.guc in place (but am running my :dev tree most of the time). It was actually perfect timing, as kernel firmware was one of the PRs that I had wanted to get in this weekend - just had to finish some of the validation. You should be GtG.

  • For the records when GPU firmware is missing:

    Dowload Intel firmware files to /storage/.config/firmware/i915 and AMD files to /storage/.config/firmware/amdgpu.

    Code
    cd /storage/.config/firmware/
    # create initrd
    find amdgpu i915 2>/dev/null | cpio -H newc -o >gpu.cpio
    # move to flash
    mount -o remount,rw /flash
    mv gpu.cpio /flash

    Use nano /flash/syslinux.cfg and add  initrd=gpu.cpio the the APPEND line.

  • thanks

    with the todays nightly i915 firmware is loaded again !

    nice ! :)

    mglae

    regarding your advice in comment #7

    is initrd=gpu.cpio the only bootparameter I need when I created a gpu.cpio ?

    means: could I omit " i915.enable_guc=2" ?

    currently running the todays nightly, without a created gpu.cpio, and without i915.enable_guc=2 the firmware for guc and huc is *not* loaded.


    ======

    another part:

    with dmesg|grep -iEw 'bad|bug|conflict|corrupted|error|fail|failed|fault|fatal|invalid|Lock|NULL|segfault|stack|trace|warn'

    I get

    ...

    [ 1.575942] fsck: Cannot initialize conversion from codepage 850 to ANSI_X3.4-1968: Invalid argument

    [ 1.576150] fsck: Cannot initialize conversion from ANSI_X3.4-1968 to codepage 850: Invalid argument

    ...

    just a hint, cause I currently do not plan to write a new bugreport or so.

    should I ?

    Edited 2 times, last by GDPR-7 (November 14, 2021 at 7:24 PM).