Skip to content

Commit 702ce71

Browse files
charleskeepaxbroonie
authored andcommitted
ASoC: SDCA: Add NO_DIRECT_COMPLETE flag to class driver
The SDCA class driver currently expects the device will be fully powered down on system suspend but not on runtime suspend. This is typically required as when audio is not active (ie. runtime suspend) jack detect is expected to still function, but when the whole system is hibernated there is no need to recognise audio jack events. This means the class driver needs to always be informed of a system suspend, so the direct complete optimisation (where PM will skip calling system suspend if the device is runtime suspended) is not appropriate for the SDCA class driver. Add the NO_DIRECT_COMPLETE flag to prevent this optimisation from running against this driver. Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com> Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.dev> link: https://github.com/thesofproject/linux/blob/ec0e6c69113f4b342ee8eabec286dea33d98a7cc/drivers/soundwire/intel_auxdevice.c#L568 Link: https://patch.msgid.link/20260115131727.373738-1-ckeepax@opensource.cirrus.com Signed-off-by: Mark Brown <broonie@kernel.org>
1 parent be9d8d9 commit 702ce71

1 file changed

Lines changed: 2 additions & 0 deletions

File tree

sound/soc/sdca/sdca_class_function.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -377,6 +377,8 @@ static int class_function_probe(struct auxiliary_device *auxdev,
377377
if (ret)
378378
return ret;
379379

380+
dev_pm_set_driver_flags(dev, DPM_FLAG_NO_DIRECT_COMPLETE);
381+
380382
pm_runtime_set_autosuspend_delay(dev, 200);
381383
pm_runtime_use_autosuspend(dev);
382384
pm_runtime_set_active(dev);

0 commit comments

Comments
 (0)