Bug 245908

Summary: i915 GPU fails to suspend
Product: Base System Reporter: Poul-Henning Kamp <phk>
Component: kernAssignee: freebsd-bugs (Nobody) <bugs>
Status: Closed FIXED    
Severity: Affects Some People CC: emaste, nishida, zeising
Priority: ---    
Version: CURRENT   
Hardware: amd64   
OS: Any   
Attachments:
Description Flags
dmesg/pciconf/pkg info none

Description Poul-Henning Kamp freebsd_committer freebsd_triage 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 freebsd_triage 2020-04-25 13:19:47 UTC
Created attachment 213781 [details]
dmesg/pciconf/pkg info
Comment 2 Poul-Henning Kamp freebsd_committer freebsd_triage 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 freebsd_triage 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 freebsd_triage 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 freebsd_triage 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.