Bug 245908 - i915 GPU fails to suspend
Summary: i915 GPU fails to suspend
Status: Closed FIXED
Alias: None
Product: Base System
Classification: Unclassified
Component: kern (show other bugs)
Version: CURRENT
Hardware: amd64 Any
: --- Affects Some People
Assignee: freebsd-bugs (Nobody)
Depends on:
Reported: 2020-04-25 11:10 UTC by Poul-Henning Kamp
Modified: 2020-09-26 22:26 UTC (History)
3 users (show)

See Also:

dmesg/pciconf/pkg info (54.15 KB, text/plain)
2020-04-25 13:19 UTC, Poul-Henning Kamp
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Poul-Henning Kamp freebsd_committer 2020-04-25 11:10:18 UTC
Not getting out as much these days, I only discovered this last week:

Running -current+packages as of april 2nd and as of today (r360240M) suspend does no longer succeed on my T480.

The information below is from a freshly built image where all of FreeBSD and all ports are built from scratch.

Suspending stalls with the following messages on the console:

    umass0: detached
    uhub0: detached
    [serveral seconds]
    <6>[drm] GPU HUNG: ecode 9:0:0xcfefcfcf, reason: Hang on rcs0, action: reset
    drm0: Resetting rcs0 after gpu hang

(typed in from unsharp mobile phone picture)
In the middle of the screen is an arrow shaped mouse pointer flashing at several tens of Hz.

The relevant part of boot-dmesg seems to be:

    warning: KLD '/boot/kernel/linuxkpi_gplv2.ko' is newer than the linker.hints file
    drmn0: <drmn> on vgapci0
    vgapci0: child drmn0 requested pci_enable_io
    vgapci0: child drmn0 requested pci_enable_io
    [drm] Unable to create a private tmpfs mount, hugepage support will be disabled(-19).
    Failed to add WC MTRR for [0x80000000-0x9fffffff]: -22; performance may suffer
    [drm] Got stolen memory base rx7d800000, size 0x2000000
    [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
    [drm] Driver supports precise vblank timestamp query.
    [drm] Connector eDP-1: get mode from tunables:
    [drm]   - kern.vt.fb.modes.eDP-1
    [drm]   - kern.vt.fb.default_mode
    [drm] Connector DP-1: get mode from tunables:
    [drm]   - kern.vt.fb.modes.DP-1
    [drm]   - kern.vt.fb.default_mode
    [drm] Connector HDMI-A-1: get mode from tunables:
    [drm]   - kern.vt.fb.modes.HDMI-A-1
    [drm]   - kern.vt.fb.default_mode
    [drm] Connector DP-2: get mode from tunables:
    [drm]   - kern.vt.fb.modes.DP-2
    [drm]   - kern.vt.fb.default_mode
    [drm] Connector HDMI-A-2: get mode from tunables:
    [drm]   - kern.vt.fb.modes.HDMI-A-2
    [drm]   - kern.vt.fb.default_mode
    [drm] Initialized i915 1.6.0 20171222 for drmn0 on minor 0
    acpi_video0: <ACPI video extension> on vgapci0
    WARNING: Device "fb" is Giant locked and may be deleted before FreeBSD 13.0.
    VT: Replacing driver "vga" with new "fb".
    start FB_INFO:
    type=11 height=1080 width=1920 depth=32
    cmsize=16 size=14745600
    pbase=0x80040000 vbase=0xfffff80080040000
    name=drmn0 flags=0x0 stride=10240 bpp=32
    cmap[0]=0 cmap[1]=7f0000 cmap[2]=7f00 cmap[3]=c4a000
    end FB_INFO
    drmn0: fb0: inteldrmfb frame buffer device
    drmn0: successfully loaded firmware image with name: i915/kbl_dmc_ver1_04.bin
    [drm] Finished loading DMC firmware i915/kbl_dmc_ver1_04.bin (v1.4)
    [drm] Reducing the compressed framebuffer size. This may lead to less power savings than a non-reduced-size. Try to increase stolen memory size if available in BIOS.
    hdacc1: Unexpected unsolicited response with tag 63: ffffffff
    hdacc1: Unexpected unsolicited response with tag 63: ffffffff
Comment 1 Poul-Henning Kamp freebsd_committer 2020-04-25 13:19:47 UTC
Created attachment 213781 [details]
dmesg/pciconf/pkg info
Comment 2 Poul-Henning Kamp freebsd_committer 2020-04-25 13:33:12 UTC
On manu's request I tried drm-devel, and that seems to work OK.
Comment 3 Niclas Zeising freebsd_committer 2020-04-26 09:14:23 UTC
There's been other reports of syspend/resume not working after base updates, iirc.  The graphics drivers hasn't been updated themselves in a little while.

In any case, when using drm-current-kmod, did you recompile it locally to match your kernel?
Comment 4 Poul-Henning Kamp freebsd_committer 2020-04-26 09:22:20 UTC
Yes, I build a almost-sterile system with src/tools/tools/sysbuild, so kernel/userland/ports is always consistent.
Comment 5 Poul-Henning Kamp freebsd_committer 2020-09-21 16:02:25 UTC
Time this ticket out as Overtaken By Events.
Comment 6 Hiroshi Nishida 2020-09-26 22:26:37 UTC
Well, I have a similar issue with 12.2-STABLE #5 r366177M which I didn't have with r362026.

<6>[drm] GPU HANG: ecode 9:1:0xfefffffe, reason: Hang on bcs0, action: drmn0: Resetting bcs0 after gpu hang.

Please let me know if there is a right place to report it.