Skip to content
Merged
Changes from all commits
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
5 changes: 5 additions & 0 deletions sound/soc/sof/intel/hda.c
Original file line number Diff line number Diff line change
Expand Up @@ -613,6 +613,11 @@ static int hda_init_caps(struct snd_sof_dev *sdev)
if (!(interface_mask & BIT(SOF_DAI_INTEL_ALH)))
goto skip_soundwire;

/* Skip SoundWire in nocodec mode */
if (IS_ENABLED(CONFIG_SND_SOC_SOF_NOCODEC_DEBUG_SUPPORT) &&
sof_debug_check_flag(SOF_DBG_FORCE_NOCODEC))
goto skip_soundwire;

Copy link
Member

Choose a reason for hiding this comment

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

"SoundWire is not needed" but does it help to actually remove the scan?

I don't recall what "nocodec" means but we certainly have cases where we don't have actual SoundWire codecs connected. Is this the case that nocodec really means SSP/DMIC only?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Yes, nocodec is SSP+DMIC. We need HDA for host DMA (and for Link with ACE2+).
What @lyakh faced is that a device which fails to probe with SDW cannot be turned to nocodec due to the fact that SDW fails. This should not prevent nocodec as it is irrelevant.

I don't know the details, but I think it is due to misconfiguration of ACPI table for SDW versus reality.

Yes, this happens in development environment, so things are moving here and there and the nocodec is a developer configuration.

/* scan SoundWire capabilities exposed by DSDT */
ret = hda_sdw_acpi_scan(sdev);
if (ret < 0) {
Expand Down
Loading