[<prev] [next>] [day] [month] [year] [list]
Message-ID: <33db45cc-c007-4a72-9303-7690d6818e73@oracle.com>
Date: Sun, 19 Oct 2025 19:51:08 +0530
From: ALOK TIWARI <alok.a.tiwari@...cle.com>
To: dri-devel@...ts.freedesktop.org, intel-xe@...ts.freedesktop.org,
intel-gfx@...ts.freedesktop.org, Simona Vetter <simona@...ll.ch>,
David Airlie <airlied@...il.com>, tursulin@...ulin.net,
joonas.lahtinen@...ux.intel.com, rodrigo.vivi@...el.com,
jani.nikula@...ux.intel.com
Cc: "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
alok.a.tiwarilinux@...il.com, alok.a.tiwari@...cle.com
Subject: [bug-report] i915 DMC assert crash on HDMI hotplug
Hi,
On a Lenovo 12TECTO1WW HW (BIOS M5HKT1DA), the i915 DRM driver triggers
a DMC firmware assertion
when connecting or disconnecting an HDMI display. The GPU firmware (DMC)
registers show incorrect
values, causing assert_dmc_loaded() to warn in intel_dmc.c.
This occurs on kernel 6.18-rc1 and appears related to DMC power and
hotplug handling.
Kernel: 6.18.0-rc1
---
[ 130.665424] audit: type=1326 audit(1760882657.655:78): auid=1001
uid=1001 gid=1001 ses=3
subj=snap.snapd-desktop-integration.snapd-desktop-integration pid=2408
comm="snapd-desktop-i"
exe="/snap/snapd-desktop-integration/315/usr/bin/snapd-desktop-integration"
sig=0 arch=c000003e syscall=203 compat=0 ip=0x7e4ba6bc4531 code=0x50000
[ 131.287051] nvme nvme0: using unchecked data buffer
intel_dmcintel_dmc[ 218.492264] ------------[ cut here ]------------
[ 218.492268] i915 0000:00:02.0: [drm] DMC 0 mmio[5]/0x8f03c incorrect
(expected 0x30100, current 0x0)
[ 218.492292] WARNING: CPU: 6 PID: 409 at
drivers/gpu/drm/i915/display/intel_dmc.c:645
assert_dmc_loaded+0x2c1/0x420 [i915]
[ 218.492455] Modules linked in: rfcomm ccm cmac algif_hash
algif_skcipher af_alg xe snd_hda_codec_intelhdmi drm_gpuvm
drm_gpusvm_helper snd_hda_codec_alc269 gpu_sched
snd_hda_scodec_component drm_ttm_helper snd_hda_codec_realtek_lib
drm_exec snd_hda_codec_generic drm_suballoc_helper
intel_uncore_frequency intel_uncore_frequency_common i915 snd_hda_intel
snd_sof_pci_intel_tgl snd_sof_pci_intel_cnl snd_sof_intel_hda_generic
soundwire_intel snd_sof_intel_hda_sdw_bpt snd_sof_intel_hda_common
snd_soc_hdac_hda snd_sof_intel_hda_mlink snd_sof_intel_hda
snd_hda_codec_hdmi soundwire_cadence snd_sof_pci snd_sof_xtensa_dsp
snd_sof iwlmvm snd_sof_utils snd_soc_acpi_intel_match bnep
snd_soc_acpi_intel_sdca_quirks soundwire_generic_allocation snd_soc_acpi
soundwire_bus x86_pkg_temp_thermal snd_soc_sdca intel_powerclamp
mac80211 crc8 snd_soc_avs snd_soc_hda_codec snd_hda_ext_core
snd_hda_codec coretemp kvm_intel snd_hda_core snd_intel_dspcfg
snd_intel_sdw_acpi snd_hwdep snd_soc_core kvm libarc4 snd_compress
iwlwifi ac97_bus
[ 218.492496] snd_pcm_dmaengine snd_pcm snd_seq_midi
snd_seq_midi_event snd_rawmidi binfmt_misc snd_seq cmdlinepart
processor_thermal_device_pci btusb processor_thermal_device spi_nor
snd_seq_device btmtk processor_thermal_wt_hint drm_buddy
platform_temperature_control snd_timer btrtl irqbypass ttm
processor_thermal_soc_slider polyval_clmulni nls_iso8859_1
ghash_clmulni_intel platform_profile btbcm aesni_intel mei_hdcp
think_lmi processor_thermal_rfim btintel mei_pxp rapl snd intel_rapl_msr
processor_thermal_rapl cfg80211 bluetooth firmware_attributes_class
input_leds drm_display_helper intel_cstate mtd mei_me joydev wmi_bmof
intel_rapl_common soundcore cec ecdh_generic processor_thermal_wt_req
ecc mei rc_core processor_thermal_power_floor intel_pmc_core
i2c_algo_bit processor_thermal_mbox pmt_telemetry pmt_discovery
pmt_class intel_pmc_ssram_telemetry int3400_thermal int3403_thermal
intel_vsec acpi_thermal_rel int340x_thermal_zone acpi_pad acpi_tad
mac_hid sch_fq_codel msr parport_pc ppdev lp parport efi_pstore
[ 218.492543] autofs4 btrfs blake2b_generic raid10 raid456
async_raid6_recov async_memcpy async_pq async_xor async_tx xor raid6_pq
raid1 raid0 hid_generic usbhid nvme i2c_i801 e1000e nvme_core hid
i2c_mux nvme_keyring i2c_smbus ahci spi_intel_pci nvme_auth spi_intel
libahci hkdf video wmi
[ 218.492563] CPU: 6 UID: 0 PID: 409 Comm: kworker/u32:8 Not tainted
6.18.0-rc1 #3 PREEMPT(voluntary)
[ 218.492566] Hardware name: LENOVO 12TECTO1WW/3355, BIOS M5HKT1DA
06/17/2025
[ 218.492568] Workqueue: events_unbound
intel_display_power_put_async_work [i915]
[ 218.492706] RIP: 0010:assert_dmc_loaded+0x2c1/0x420 [i915]
[ 218.492840] Code: 55 a8 e8 52 2d 9c cf 44 8b 45 cc 8b 4d bc 45 89 e9
48 89 c6 8b 45 c8 48 8b 55 a8 48 c7 c7 28 7e db c1 50 41 56 e8 9f 19 e4
ce <0f> 0b 58 5a e9 92 fe ff ff 48 8b 17 eb c6 48 8b 3b 48 85 ff 74 04
[ 218.492842] RSP: 0018:ffffd04682ff7c48 EFLAGS: 00010246
[ 218.492844] RAX: 0000000000000000 RBX: ffff8ef885a22000 RCX:
0000000000000000
[ 218.492845] RDX: 0000000000000000 RSI: 0000000000000000 RDI:
0000000000000000
[ 218.492846] RBP: ffffd04682ff7cb0 R08: 0000000000000000 R09:
0000000000000000
[ 218.492847] R10: 0000000000000000 R11: 0000000000000000 R12:
0000000000000000
[ 218.492848] R13: 000000000008f03c R14: 0000000000030100 R15:
0000000000000005
[ 218.492850] FS: 0000000000000000(0000) GS:ffff8efc32794000(0000)
knlGS:0000000000000000
[ 218.492851] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 218.492852] CR2: 000075deec01b098 CR3: 00000001fba40006 CR4:
0000000000f72ef0
[ 218.492854] PKRU: 55555554
[ 218.492855] Call Trace:
[ 218.492856] <TASK>
[ 218.492860] assert_main_dmc_loaded+0x10/0x20 [i915]
[ 218.492990] skl_enable_dc6+0xad/0x230 [i915]
[ 218.493113] gen9_dc_off_power_well_disable+0xb8/0xd0 [i915]
[ 218.493244] intel_power_well_disable+0x67/0x80 [i915]
[ 218.493394] intel_power_well_put+0x4b/0xc0 [i915]
[ 218.493523] __intel_display_power_put_domain+0xc7/0x1d0 [i915]
[ 218.493649] release_async_put_domains+0x5b/0x90 [i915]
[ 218.493774] intel_display_power_put_async_work+0x6b/0x170 [i915]
[ 218.493896] process_one_work+0x1a1/0x3f0
[ 218.493901] worker_thread+0x2ba/0x3d0
[ 218.493904] kthread+0x107/0x220
[ 218.493906] ? __pfx_worker_thread+0x10/0x10
[ 218.493908] ? __pfx_kthread+0x10/0x10
[ 218.493910] ret_from_fork+0x202/0x230
[ 218.493912] ? __pfx_kthread+0x10/0x10
[ 218.493914] ret_from_fork_asm+0x1a/0x30
[ 218.493918] </TASK>
[ 218.493919] ---[ end trace 0000000000000000 ]---
[ 218.493921] ------------[ cut here ]------------
[ 218.493921] i915 0000:00:02.0: [drm] DMC 0 mmio[6]/0x8f00c incorrect
(expected 0x40b8408c, current 0x0)
[ 218.493937] WARNING: CPU: 6 PID: 409 at
drivers/gpu/drm/i915/display/intel_dmc.c:645
assert_dmc_loaded+0x2c1/0x420 [i915]
[ 218.494063] Modules linked in: rfcomm ccm cmac algif_hash
algif_skcipher af_alg xe snd_hda_codec_intelhdmi drm_gpuvm
drm_gpusvm_helper snd_hda_codec_alc269 gpu_sched
snd_hda_scodec_component drm_ttm_helper snd_hda_codec_realtek_lib
drm_exec snd_hda_codec_generic drm_suballoc_helper
intel_uncore_frequency intel_uncore_frequency_common i915 snd_hda_intel
snd_sof_pci_intel_tgl snd_sof_pci_intel_cnl snd_sof_intel_hda_generic
soundwire_intel snd_sof_intel_hda_sdw_bpt snd_sof_intel_hda_common
snd_soc_hdac_hda snd_sof_intel_hda_mlink snd_sof_intel_hda
snd_hda_codec_hdmi soundwire_cadence snd_sof_pci snd_sof_xtensa_dsp
snd_sof iwlmvm snd_sof_utils snd_soc_acpi_intel_match bnep
snd_soc_acpi_intel_sdca_quirks soundwire_generic_allocation snd_soc_acpi
soundwire_bus x86_pkg_temp_thermal snd_soc_sdca intel_powerclamp
mac80211 crc8 snd_soc_avs snd_soc_hda_codec snd_hda_ext_core
snd_hda_codec coretemp kvm_intel snd_hda_core snd_intel_dspcfg
snd_intel_sdw_acpi snd_hwdep snd_soc_core kvm libarc4 snd_compress
iwlwifi ac97_bus
[ 218.494101] snd_pcm_dmaengine snd_pcm snd_seq_midi
snd_seq_midi_event snd_rawmidi binfmt_misc snd_seq cmdlinepart
processor_thermal_device_pci btusb processor_thermal_device spi_nor
snd_seq_device btmtk processor_thermal_wt_hint drm_buddy
platform_temperature_control snd_timer btrtl irqbypass ttm
processor_thermal_soc_slider polyval_clmulni nls_iso8859_1
ghash_clmulni_intel platform_profile btbcm aesni_intel mei_hdcp
think_lmi processor_thermal_rfim btintel mei_pxp rapl snd intel_rapl_msr
processor_thermal_rapl cfg80211 bluetooth firmware_attributes_class
input_leds drm_display_helper intel_cstate mtd mei_me joydev wmi_bmof
intel_rapl_common soundcore cec ecdh_generic processor_thermal_wt_req
ecc mei rc_core processor_thermal_power_floor intel_pmc_core
i2c_algo_bit processor_thermal_mbox pmt_telemetry pmt_discovery
pmt_class intel_pmc_ssram_telemetry int3400_thermal int3403_thermal
intel_vsec acpi_thermal_rel int340x_thermal_zone acpi_pad acpi_tad
mac_hid sch_fq_codel msr parport_pc ppdev lp parport efi_pstore
[ 218.494145] autofs4 btrfs blake2b_generic raid10 raid456
async_raid6_recov async_memcpy async_pq async_xor async_tx xor raid6_pq
raid1 raid0 hid_generic usbhid nvme i2c_i801 e1000e nvme_core hid
i2c_mux nvme_keyring i2c_smbus ahci spi_intel_pci nvme_auth spi_intel
libahci hkdf video wmi
[ 218.494165] CPU: 6 UID: 0 PID: 409 Comm: kworker/u32:8 Tainted: G
W 6.18.0-rc1 #3 PREEMPT(voluntary)
[ 218.494168] Tainted: [W]=WARN
[ 218.494169] Hardware name: LENOVO 12TECTO1WW/3355, BIOS M5HKT1DA
06/17/2025
[ 218.494170] Workqueue: events_unbound
intel_display_power_put_async_work [i915]
[ 218.494309] RIP: 0010:assert_dmc_loaded+0x2c1/0x420 [i915]
[ 218.494435] Code: 55 a8 e8 52 2d 9c cf 44 8b 45 cc 8b 4d bc 45 89 e9
48 89 c6 8b 45 c8 48 8b 55 a8 48 c7 c7 28 7e db c1 50 41 56 e8 9f 19 e4
ce <0f> 0b 58 5a e9 92 fe ff ff 48 8b 17 eb c6 48 8b 3b 48 85 ff 74 04
[ 218.494437] RSP: 0018:ffffd04682ff7c48 EFLAGS: 00010246
[ 218.494439] RAX: 0000000000000000 RBX: ffff8ef885a22000 RCX:
0000000000000000
[ 218.494440] RDX: 0000000000000000 RSI: 0000000000000000 RDI:
0000000000000000
[ 218.494441] RBP: ffffd04682ff7cb0 R08: 0000000000000000 R09:
0000000000000000
[ 218.494442] R10: 0000000000000000 R11: 0000000000000000 R12:
0000000000000000
[ 218.494443] R13: 000000000008f00c R14: 0000000040b8408c R15:
0000000000000006
[ 218.494444] FS: 0000000000000000(0000) GS:ffff8efc32794000(0000)
knlGS:0000000000000000
[ 218.494446] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 218.494447] CR2: 000075deec01b098 CR3: 00000001fba40006 CR4:
0000000000f72ef0
[ 218.494448] PKRU: 55555554
[ 218.494449] Call Trace:
[ 218.494450] <TASK>
[ 218.494452] assert_main_dmc_loaded+0x10/0x20 [i915]
[ 218.494572] skl_enable_dc6+0xad/0x230 [i915]
[ 218.494667] gen9_dc_off_power_well_disable+0xb8/0xd0 [i915]
[ 218.494757] intel_power_well_disable+0x67/0x80 [i915]
[ 218.494845] intel_power_well_put+0x4b/0xc0 [i915]
[ 218.494930] __intel_display_power_put_domain+0xc7/0x1d0 [i915]
[ 218.495015] release_async_put_domains+0x5b/0x90 [i915]
[ 218.495099] intel_display_power_put_async_work+0x6b/0x170 [i915]
[ 218.495181] process_one_work+0x1a1/0x3f0
[ 218.495184] worker_thread+0x2ba/0x3d0
[ 218.495185] kthread+0x107/0x220
[ 218.495187] ? __pfx_worker_thread+0x10/0x10
[ 218.495189] ? __pfx_kthread+0x10/0x10
[ 218.495190] ret_from_fork+0x202/0x230
[ 218.495191] ? __pfx_kthread+0x10/0x10
[ 218.495192] ret_from_fork_asm+0x1a/0x30
[ 218.495195] </TASK>
[ 218.495195] ---[ end trace 0000000000000000 ]---
Thanks,
Alok
Powered by blists - more mailing lists