Skip to content

gaze16: Disable IME - #220

Closed
crawfxrd wants to merge 1 commit into
masterfrom
gaze16-ime
Closed

crawfxrd wants to merge 1 commit into
masterfrom
gaze16-ime

Conversation

@crawfxrd

@crawfxrd crawfxrd commented Jul 21, 2021 •

Copy link
Copy Markdown
Member

As a TGL-H board, gaze16 uses S3 instead S0ix. This allows us to disable the IME without impacting power draw in suspend.

@crawfxrd
crawfxrd requested review from a team and jackpot51 July 21, 2021 22:25
@crawfxrd
crawfxrd marked this pull request as draft July 21, 2021 22:39
TGL-H supports S3, which is used on gaze16 instead of S0ix. This allows
disabling the IME without impacting power draw in suspend.
@crawfxrd

Copy link
Copy Markdown
Member Author

Suspend is definitely broken with IME disabled. Linux reports S3 entry, but power button remains on and power status LED remain solid green.

@crawfxrd

crawfxrd commented Jul 22, 2021 •

Copy link
Copy Markdown
Member Author

I confirmed I had the issue on both the 3050 and 3060. But after enabling debug logging, suspend is working on both of them.

@crawfxrd

crawfxrd commented Jul 26, 2021 •

Copy link
Copy Markdown
Member Author

Working seems intermittent, and I see it mostly failing.

I also noticed NVIDIA crashing:

kernel: ------------[ cut here ]------------
kernel: WARNING: CPU: 1 PID: 16123 at /var/lib/dkms/nvidia/470.42.01/build/nvidia-drm/nvidia-drm-drv.c:574 nv_drm_master_set+0x27/0x30 [nvidia_drm]
kernel: Modules linked in: ccm(E) rfcomm(E) cmac(E) algif_hash(E) algif_skcipher(E) af_alg(E) nvidia_uvm(POE) bnep(E) joydev(E) x86_pkg_temp_thermal(E) intel_powerclamp(E) snd_hda_codec_realtek(E) coretemp(E) snd_hda_codec_generic(E) snd_sof_pci(E) snd_sof_intel_hda_common(E) nvidia_drm(POE) nvidia_modeset(POE) snd_soc_hdac_hda(E) snd_sof_intel_hda(E) snd_sof_intel_byt(E) snd_sof_intel_ipc(E) snd_sof(E) snd_hda_codec_hdmi(E) snd_sof_xtensa_dsp(E) snd_hda_ext_core(E) snd_soc_acpi_intel_match(E) snd_soc_acpi(E) ledtrig_audio(E) snd_hda_intel(E) snd_intel_dspcfg(E) soundwire_intel(E) soundwire_generic_allocation(E) soundwire_cadence(E) iwlmvm(E) snd_hda_codec(E) snd_hda_core(E) snd_hwdep(E) soundwire_bus(E) mac80211(E) snd_soc_core(E) snd_compress(E) ac97_bus(E) snd_pcm_dmaengine(E) snd_pcm(E) kvm_intel(E) libarc4(E) snd_seq_midi(E) snd_seq_midi_event(E) snd_rawmidi(E) iwlwifi(E) snd_seq(E) kvm(E) uvcvideo(E) videobuf2_vmalloc(E) btusb(E) snd_seq_device(E) videobuf2_memops(E)
kernel:  snd_timer(E) videobuf2_v4l2(E) btrtl(E) videobuf2_common(E) btbcm(E) btintel(E) intel_rapl_msr(E) nvidia(POE) nls_iso8859_1(E) intel_cstate(E) videodev(E) snd(E) efi_pstore(E) bluetooth(E) soundcore(E) serio_raw(E) mc(E) hid_multitouch(E) ee1004(E) input_leds(E) cfg80211(E) ecdh_generic(E) ecc(E) processor_thermal_device(E) processor_thermal_rfim(E) processor_thermal_mbox(E) 8250_dw(E) processor_thermal_rapl(E) intel_rapl_common(E) int340x_thermal_zone(E) intel_soc_dts_iosf(E) intel_pmt_telemetry(E) intel_pmt_class(E) mac_hid(E) intel_hid(E) intel_scu_pltdrv(E) sparse_keymap(E) sch_fq_codel(E) msr(E) parport_pc(E) ppdev(E) lp(E) parport(E) ip_tables(E) x_tables(E) autofs4(E) dm_crypt(E) raid10(E) raid456(E) async_raid6_recov(E) async_memcpy(E) async_pq(E) async_xor(E) async_tx(E) xor(E) raid6_pq(E) libcrc32c(E) raid1(E) raid0(E) multipath(E) linear(E) system76_io(OE) wmi(E) usbhid(E) i915(E) hid_generic(E) i2c_algo_bit(E) drm_kms_helper(E) sdhci_pci(E) syscopyarea(E)
kernel:  crct10dif_pclmul(E) sysfillrect(E) sysimgblt(E) r8169(E) fb_sys_fops(E) crc32_pclmul(E) ghash_clmulni_intel(E) cqhci(E) i2c_i801(E) cec(E) aesni_intel(E) rc_core(E) nvme(E) xhci_pci(E) crypto_simd(E) intel_lpss_pci(E) ahci(E) cryptd(E) i2c_hid(E) intel_lpss(E) idma64(E) glue_helper(E) drm(E) psmouse(E) nvme_core(E) i2c_smbus(E) sdhci(E) libahci(E) realtek(E) virt_dma(E) xhci_pci_renesas(E) intel_pmt(E) hid(E) video(E) pinctrl_tigerlake(E) system76_acpi(OE)
kernel: CPU: 1 PID: 16123 Comm: plymouthd Tainted: P           OE     5.11.0-7620-generic #21~1626191760~21.04~55de9c3
kernel: Hardware name: System76 Gazelle/Gazelle, BIOS 2021-07-21_140bb28-dirty 07/21/2021
kernel: RIP: 0010:nv_drm_master_set+0x27/0x30 [nvidia_drm]
kernel: Code: 70 e6 e3 0f 1f 44 00 00 55 48 8b 47 48 48 8b 78 20 48 8b 05 bb 6c 00 00 48 89 e5 48 8b 40 28 e8 0f f0 22 e4 84 c0 74 02 5d c3 <0f> 0b 5d c3 0f 1f 44 00 00 0f 1f 44 00 00 55 48 89 e5 41 57 41 56
kernel: RSP: 0018:ffffaa61c16b7b80 EFLAGS: 00010246
kernel: RAX: 0000000000000000 RBX: ffff9a58ccb50c00 RCX: 0000000000000008
kernel: RDX: ffffffffc3a51ed8 RSI: 0000000000000292 RDI: ffffffffc3a51ea0
kernel: RBP: ffffaa61c16b7b80 R08: 0000000000000008 R09: ffffaa61c16b7b68
kernel: R10: 0000000000000000 R11: ffff9a58c04566ca R12: ffff9a58d573ee40
kernel: R13: ffff9a58cfa13800 R14: 0000000000000000 R15: ffff9a58cfa13800
kernel: FS:  00007f1b5b32d740(0000) GS:ffff9a5c2f840000(0000) knlGS:0000000000000000
kernel: CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
kernel: CR2: 00007f1b5a4290d8 CR3: 000000010c322004 CR4: 0000000000770ee0
kernel: PKRU: 55555554
kernel: Call Trace:
kernel:  drm_new_set_master+0x7e/0x100 [drm]
kernel:  drm_master_open+0x6e/0xa0 [drm]
kernel:  drm_open+0xf8/0x250 [drm]
kernel:  drm_stub_open+0xba/0x140 [drm]
kernel:  chrdev_open+0xf7/0x220
kernel:  ? cdev_device_add+0x90/0x90
kernel:  do_dentry_open+0x156/0x370
kernel:  vfs_open+0x2d/0x30
kernel:  do_open+0x1c3/0x340
kernel:  path_openat+0x10a/0x1d0
kernel:  do_filp_open+0x8c/0x130
kernel:  ? __check_object_size+0x1c/0x20
kernel:  do_sys_openat2+0x9b/0x150
kernel:  __x64_sys_openat+0x56/0x90
kernel:  do_syscall_64+0x38/0x90
kernel:  entry_SYSCALL_64_after_hwframe+0x44/0xa9
kernel: RIP: 0033:0x7f1b5b5d98db
kernel: Code: 25 00 00 41 00 3d 00 00 41 00 74 4b 64 8b 04 25 18 00 00 00 85 c0 75 67 44 89 e2 48 89 ee bf 9c ff ff ff b8 01 01 00 00 0f 05 <48> 3d 00 f0 ff ff 0f 87 91 00 00 00 48 8b 4c 24 28 64 48 2b 0c 25
kernel: RSP: 002b:00007ffc0509f730 EFLAGS: 00000246 ORIG_RAX: 0000000000000101
kernel: RAX: ffffffffffffffda RBX: 00007f1b5b32d6c8 RCX: 00007f1b5b5d98db
kernel: RDX: 0000000000000002 RSI: 0000562b0547e0f0 RDI: 00000000ffffff9c
kernel: RBP: 0000562b0547e0f0 R08: 0000562b0547d330 R09: 00007f1b5b6fd600
kernel: R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000002
kernel: R13: 00007f1b5b6da1a8 R14: 0000000000000000 R15: 0000000000000000
kernel: ---[ end trace 04cfff173d479acb ]---

But integrated mode still has the issue.

@crawfxrd

Copy link
Copy Markdown
Member Author

coreboot rebase adds a new CMOS option to control IME mode.

Will be included as part #260.

@crawfxrd crawfxrd closed this Oct 28, 2021
@crawfxrd
crawfxrd deleted the gaze16-ime branch October 28, 2021 01:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant