forked from luck/tmp_suning_uos_patched
ASoC: SOF: pci: add debug module param
Add debug parameter for snd-sof-pci. One of the usages for this debug parameter to disable pm_runtime, which can be useful for platform bringup, or keep the parent device active while enabling pm_runtime for child devices (e.g. with SoundWire or MFD). This can also be useful to measure suspend-resume latencies or child devices. Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com> Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Link: https://lore.kernel.org/r/20191008164443.1358-5-pierre-louis.bossart@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
70b0c75ae1
commit
8b160dc2a9
|
@ -29,6 +29,12 @@ static char *tplg_path;
|
|||
module_param(tplg_path, charp, 0444);
|
||||
MODULE_PARM_DESC(tplg_path, "alternate path for SOF topology.");
|
||||
|
||||
static int sof_pci_debug;
|
||||
module_param_named(sof_pci_debug, sof_pci_debug, int, 0444);
|
||||
MODULE_PARM_DESC(sof_pci_debug, "SOF PCI debug options (0x0 all off)");
|
||||
|
||||
#define SOF_PCI_DISABLE_PM_RUNTIME BIT(0)
|
||||
|
||||
#if IS_ENABLED(CONFIG_SND_SOC_SOF_APOLLOLAKE)
|
||||
static const struct sof_dev_desc bxt_desc = {
|
||||
.machines = snd_soc_acpi_intel_bxt_machines,
|
||||
|
@ -249,6 +255,9 @@ static void sof_pci_probe_complete(struct device *dev)
|
|||
{
|
||||
dev_dbg(dev, "Completing SOF PCI probe");
|
||||
|
||||
if (sof_pci_debug & SOF_PCI_DISABLE_PM_RUNTIME)
|
||||
return;
|
||||
|
||||
/* allow runtime_pm */
|
||||
pm_runtime_set_autosuspend_delay(dev, SND_SOF_SUSPEND_DELAY_MS);
|
||||
pm_runtime_use_autosuspend(dev);
|
||||
|
@ -370,7 +379,8 @@ static void sof_pci_remove(struct pci_dev *pci)
|
|||
snd_sof_device_remove(&pci->dev);
|
||||
|
||||
/* follow recommendation in pci-driver.c to increment usage counter */
|
||||
pm_runtime_get_noresume(&pci->dev);
|
||||
if (!(sof_pci_debug & SOF_PCI_DISABLE_PM_RUNTIME))
|
||||
pm_runtime_get_noresume(&pci->dev);
|
||||
|
||||
/* release pci regions and disable device */
|
||||
pci_release_regions(pci);
|
||||
|
|
Loading…
Reference in New Issue
Block a user