Skip to content
Open
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions sound/soc/sof/intel/hda.c
Original file line number Diff line number Diff line change
Expand Up @@ -668,8 +668,6 @@ static int hda_init_caps(struct snd_sof_dev *sdev)
if (!HDA_IDISP_CODEC(bus->codec_mask))
hda_codec_i915_display_power(sdev, false);

Copy link

Copilot AI Apr 22, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hda_bus_ml_put_all() is no longer called anywhere in the tree (search shows only the definition), which means non-alternate links keep their initial ref_count = 1 and will remain logically “in use” for the lifetime of the driver. This changes power-management behavior (e.g., hda_bus_ml_resume() will always power up all non-alt links after suspend). If the intent is only to keep links powered through first use, consider adding a later/conditional hda_bus_ml_put_all() (or equivalent refcount drop) once the PPLC/LLP issue is no longer a risk, or gating the behavior to the affected platforms only.

Suggested change
/*
* Drop the initial non-alternate multi-link references once the
* first-use initialization sequence is complete so links are not
* kept logically in use for the lifetime of the driver.
*/
hda_bus_ml_put_all(bus);

Copilot uses AI. Check for mistakes.
hda_bus_ml_put_all(bus);
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ujfalusi Just to double check, this does not keep the display codec powered up (if only SDW used), right? It shouldn't if only the link is powered. I'll do some local testing on this as well...


return 0;
}

Expand Down