diff options
| author | Mattia Tadini <info@mtsistemi.it> | 2026-09-19 22:25:30 +0200 |
|---|---|---|
| committer | Alex Deucher <alexander.deucher@amd.com> | 2026-10-07 12:14:52 -0400 |
| commit | e38159437a91db68fe07cceb5421498e0a1bbeab (patch) | |
| tree | 125107ddd71b44ca52d1369b72c812ea941bff5d /scripts/basic/split-include.c | |
| parent | 22f9a2da101c37f821cd00954f81dc598754f4d5 (diff) | |
| download | linux-e38159437a91db68fe07cceb5421498e0a1bbeab.tar.gz linux-e38159437a91db68fe07cceb5421498e0a1bbeab.zip | |
drm/amd/display: only clear the hotplug sources the ASIC has
amdgpu_dm_hpd_init() clears every hotplug source in the enum before
enabling the ones it needs:
for (i = DC_IRQ_SOURCE_HPD1; i <= DC_IRQ_SOURCE_HPD6RX; i++)
DC fills the unused slots of its interrupt table with dummy handlers
that assert when touched, so on an ASIC with fewer than six HPD lines
that sweep warns and taints the kernel. DCN 2.0.1 has two:
mmHPD0_DC_HPD_INT_CONTROL and mmHPD1_DC_HPD_INT_CONTROL are the only
hotplug registers in dcn_2_0_1_offset.h, against five in
dcn_2_1_0_offset.h, and irq_service_dcn201.c defines hpd_int_entry(0)
and (1) accordingly.
On an AMD BC-250, which appears to be the only GPU using DCN 201, every
boot produces this for sources 3 to 6:
[drm] *ERROR* dal_irq_service_dummy_ack: called for
non-implemented irq source, src_id=0, ext_id=0
[drm] dal_irq_service_set: src: 3, st: 0
WARNING: .../display/dc/irq/irq_service.c:129
at dal_irq_service_set.cold+0x2d/0x76 [amdgpu]
dal_irq_service_set+0x4c/0x100 [amdgpu]
amdgpu_dm_hpd_init.cold+0x15/0x12e [amdgpu]
dm_hw_init+0x4c/0x170 [amdgpu]
amdgpu_device_init.cold+0x1727/0x1ec0 [amdgpu]
and the machine comes up tainted W, which makes every unrelated bug
report from it harder to read.
Walk the links this ASIC has instead of the whole enum, and skip a link
with no hotplug line of its own, which is the same guard the enable loop
further down already applies. A source owned by a real link is
implemented by definition, so the dummy handlers are no longer reached.
Parts with six HPD lines are unaffected.
Signed-off-by: Mattia Tadini <info@mtsistemi.it>
Tested-by: Dan Wheeler <daniel.wheeler@amd.com>
Reviewed-by: Roman Li <roman.li@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'scripts/basic/split-include.c')
0 files changed, 0 insertions, 0 deletions
