Commit 9db6f432 authored by Mark Brown's avatar Mark Brown

Merge series "ASoC: SOF: trivial code/log/comment improvements" from...

Merge series "ASoC: SOF: trivial code/log/comment improvements" from Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>:

Remove useless variable initialization and allocation, adjust log
levels to make support easier, and fix comments. No functional
changes.

Guennadi Liakhovetski (2):
  ASoC: SOF: topology: (cosmetic) remove redundant variable
    initialisations
  ASoC: SOF: (cosmetic) use the "bool" type where it makes sense

Pierre-Louis Bossart (4):
  ASoC: SOF: IPC: reduce verbosity of IPC pointer updates
  ASoC: SOF: acpi: add dev_dbg() log for probe completion
  ASoC: SOF: Intel: add dev_dbg log when driver is not selected
  ASoC: Intel: use consistent HDAudio spelling in comments/docs

Ranjani Sridharan (2):
  ASoC: SOF: topology: remove unnecessary memory alloc for sdev->private
  ASoC: SOF: topology: reduce the log level for unhandled widgets

 include/sound/soc-acpi.h      |  2 +-
 sound/soc/intel/Kconfig       |  2 +-
 sound/soc/intel/skylake/skl.c |  6 +++---
 sound/soc/sof/Kconfig         |  2 +-
 sound/soc/sof/intel/Kconfig   |  2 +-
 sound/soc/sof/ipc.c           | 16 +++++++++++-----
 sound/soc/sof/pcm.c           |  8 ++++----
 sound/soc/sof/sof-acpi-dev.c  |  2 ++
 sound/soc/sof/sof-pci-dev.c   |  6 +++---
 sound/soc/sof/sof-priv.h      | 10 +++++-----
 sound/soc/sof/topology.c      | 20 ++++----------------
 11 files changed, 36 insertions(+), 40 deletions(-)

base-commit: aafdeba5
--
2.25.1
parents 67207297 135ab457
...@@ -58,7 +58,7 @@ static inline struct snd_soc_acpi_mach *snd_soc_acpi_codec_list(void *arg) ...@@ -58,7 +58,7 @@ static inline struct snd_soc_acpi_mach *snd_soc_acpi_codec_list(void *arg)
* snd_soc_acpi_mach_params: interface for machine driver configuration * snd_soc_acpi_mach_params: interface for machine driver configuration
* *
* @acpi_ipc_irq_index: used for BYT-CR detection * @acpi_ipc_irq_index: used for BYT-CR detection
* @platform: string used for HDaudio codec support * @platform: string used for HDAudio codec support
* @codec_mask: used for HDAudio support * @codec_mask: used for HDAudio support
* @common_hdmi_codec_drv: use commom HDAudio HDMI codec driver * @common_hdmi_codec_drv: use commom HDAudio HDMI codec driver
* @link_mask: links enabled on the board * @link_mask: links enabled on the board
......
...@@ -209,7 +209,7 @@ config SND_SOC_INTEL_SKYLAKE_SSP_CLK ...@@ -209,7 +209,7 @@ config SND_SOC_INTEL_SKYLAKE_SSP_CLK
config SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC config SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC
bool "HDAudio codec support" bool "HDAudio codec support"
help help
If you have Intel Skylake or Kabylake with HDaudio codec If you have Intel Skylake or Kabylake with HDAudio codec
and DMIC present then enable this option by saying Y. and DMIC present then enable this option by saying Y.
config SND_SOC_INTEL_SKYLAKE_COMMON config SND_SOC_INTEL_SKYLAKE_COMMON
......
...@@ -925,7 +925,7 @@ static int skl_first_init(struct hdac_bus *bus) ...@@ -925,7 +925,7 @@ static int skl_first_init(struct hdac_bus *bus)
/* check if PPCAP exists */ /* check if PPCAP exists */
if (!bus->ppcap) { if (!bus->ppcap) {
dev_err(bus->dev, "bus ppcap not set, HDaudio or DSP not present?\n"); dev_err(bus->dev, "bus ppcap not set, HDAudio or DSP not present?\n");
return -ENODEV; return -ENODEV;
} }
...@@ -986,7 +986,7 @@ static int skl_probe(struct pci_dev *pci, ...@@ -986,7 +986,7 @@ static int skl_probe(struct pci_dev *pci,
return -ENODEV; return -ENODEV;
break; break;
case SND_SKL_PCI_BIND_LEGACY: case SND_SKL_PCI_BIND_LEGACY:
dev_info(&pci->dev, "Module parameter forced binding with HDaudio legacy, aborting probe\n"); dev_info(&pci->dev, "Module parameter forced binding with HDAudio legacy, aborting probe\n");
return -ENODEV; return -ENODEV;
case SND_SKL_PCI_BIND_ASOC: case SND_SKL_PCI_BIND_ASOC:
dev_info(&pci->dev, "Module parameter forced binding with SKL driver, bypassed detection logic\n"); dev_info(&pci->dev, "Module parameter forced binding with SKL driver, bypassed detection logic\n");
...@@ -1021,7 +1021,7 @@ static int skl_probe(struct pci_dev *pci, ...@@ -1021,7 +1021,7 @@ static int skl_probe(struct pci_dev *pci,
err = -ENODEV; err = -ENODEV;
goto out_free; goto out_free;
#else #else
dev_warn(bus->dev, "no nhlt info found, continuing to try to enable HDaudio codec\n"); dev_warn(bus->dev, "no nhlt info found, continuing to try to enable HDAudio codec\n");
#endif #endif
} else { } else {
......
...@@ -73,7 +73,7 @@ config SND_SOC_SOF_NOCODEC_SUPPORT ...@@ -73,7 +73,7 @@ config SND_SOC_SOF_NOCODEC_SUPPORT
option if no known codec is detected. This is typically only option if no known codec is detected. This is typically only
enabled for developers or devices where the sound card is enabled for developers or devices where the sound card is
controlled externally controlled externally
This option is mutually exclusive with the Intel HDaudio support, This option is mutually exclusive with the Intel HDAudio support,
selecting it may have negative impacts and prevent e.g. microphone selecting it may have negative impacts and prevent e.g. microphone
functionality from being enabled on Intel CoffeeLake and later functionality from being enabled on Intel CoffeeLake and later
platforms. platforms.
......
...@@ -311,7 +311,7 @@ config SND_SOC_SOF_HDA_ALWAYS_ENABLE_DMI_L1 ...@@ -311,7 +311,7 @@ config SND_SOC_SOF_HDA_ALWAYS_ENABLE_DMI_L1
bool "SOF enable DMI Link L1" bool "SOF enable DMI Link L1"
help help
This option enables DMI L1 for both playback and capture This option enables DMI L1 for both playback and capture
and disables known workarounds for specific HDaudio platforms. and disables known workarounds for specific HDAudio platforms.
Only use to look into power optimizations on platforms not Only use to look into power optimizations on platforms not
affected by DMI L1 issues. This option is not recommended. affected by DMI L1 issues. This option is not recommended.
Say Y if you want to enable DMI Link L1 Say Y if you want to enable DMI Link L1
......
...@@ -54,6 +54,7 @@ static void ipc_log_header(struct device *dev, u8 *text, u32 cmd) ...@@ -54,6 +54,7 @@ static void ipc_log_header(struct device *dev, u8 *text, u32 cmd)
u8 *str2 = NULL; u8 *str2 = NULL;
u32 glb; u32 glb;
u32 type; u32 type;
bool vdbg = false;
glb = cmd & SOF_GLB_TYPE_MASK; glb = cmd & SOF_GLB_TYPE_MASK;
type = cmd & SOF_CMD_TYPE_MASK; type = cmd & SOF_CMD_TYPE_MASK;
...@@ -146,6 +147,7 @@ static void ipc_log_header(struct device *dev, u8 *text, u32 cmd) ...@@ -146,6 +147,7 @@ static void ipc_log_header(struct device *dev, u8 *text, u32 cmd)
case SOF_IPC_STREAM_TRIG_XRUN: case SOF_IPC_STREAM_TRIG_XRUN:
str2 = "TRIG_XRUN"; break; str2 = "TRIG_XRUN"; break;
case SOF_IPC_STREAM_POSITION: case SOF_IPC_STREAM_POSITION:
vdbg = true;
str2 = "POSITION"; break; str2 = "POSITION"; break;
case SOF_IPC_STREAM_VORBIS_PARAMS: case SOF_IPC_STREAM_VORBIS_PARAMS:
str2 = "VORBIS_PARAMS"; break; str2 = "VORBIS_PARAMS"; break;
...@@ -183,10 +185,14 @@ static void ipc_log_header(struct device *dev, u8 *text, u32 cmd) ...@@ -183,10 +185,14 @@ static void ipc_log_header(struct device *dev, u8 *text, u32 cmd)
str = "unknown GLB command"; break; str = "unknown GLB command"; break;
} }
if (str2) if (str2) {
dev_dbg(dev, "%s: 0x%x: %s: %s\n", text, cmd, str, str2); if (vdbg)
else dev_vdbg(dev, "%s: 0x%x: %s: %s\n", text, cmd, str, str2);
else
dev_dbg(dev, "%s: 0x%x: %s: %s\n", text, cmd, str, str2);
} else {
dev_dbg(dev, "%s: 0x%x: %s\n", text, cmd, str); dev_dbg(dev, "%s: 0x%x: %s\n", text, cmd, str);
}
} }
#else #else
static inline void ipc_log_header(struct device *dev, u8 *text, u32 cmd) static inline void ipc_log_header(struct device *dev, u8 *text, u32 cmd)
...@@ -449,8 +455,8 @@ static void ipc_period_elapsed(struct snd_sof_dev *sdev, u32 msg_id) ...@@ -449,8 +455,8 @@ static void ipc_period_elapsed(struct snd_sof_dev *sdev, u32 msg_id)
stream = &spcm->stream[direction]; stream = &spcm->stream[direction];
snd_sof_ipc_msg_data(sdev, stream->substream, &posn, sizeof(posn)); snd_sof_ipc_msg_data(sdev, stream->substream, &posn, sizeof(posn));
dev_dbg(sdev->dev, "posn : host 0x%llx dai 0x%llx wall 0x%llx\n", dev_vdbg(sdev->dev, "posn : host 0x%llx dai 0x%llx wall 0x%llx\n",
posn.host_posn, posn.dai_posn, posn.wallclock); posn.host_posn, posn.dai_posn, posn.wallclock);
memcpy(&stream->posn, &posn, sizeof(posn)); memcpy(&stream->posn, &posn, sizeof(posn));
......
...@@ -446,9 +446,9 @@ static snd_pcm_uframes_t sof_pcm_pointer(struct snd_soc_component *component, ...@@ -446,9 +446,9 @@ static snd_pcm_uframes_t sof_pcm_pointer(struct snd_soc_component *component,
dai = bytes_to_frames(substream->runtime, dai = bytes_to_frames(substream->runtime,
spcm->stream[substream->stream].posn.dai_posn); spcm->stream[substream->stream].posn.dai_posn);
dev_dbg(component->dev, dev_vdbg(component->dev,
"PCM: stream %d dir %d DMA position %lu DAI position %lu\n", "PCM: stream %d dir %d DMA position %lu DAI position %lu\n",
spcm->pcm.pcm_id, substream->stream, host, dai); spcm->pcm.pcm_id, substream->stream, host, dai);
return host; return host;
} }
...@@ -704,7 +704,7 @@ static int sof_pcm_dai_link_fixup(struct snd_soc_pcm_runtime *rtd, ...@@ -704,7 +704,7 @@ static int sof_pcm_dai_link_fixup(struct snd_soc_pcm_runtime *rtd,
break; break;
case SOF_DAI_INTEL_HDA: case SOF_DAI_INTEL_HDA:
/* /*
* HDaudio does not follow the default trigger * HDAudio does not follow the default trigger
* sequence due to firmware implementation * sequence due to firmware implementation
*/ */
for_each_dpcm_fe(rtd, SNDRV_PCM_STREAM_PLAYBACK, dpcm) { for_each_dpcm_fe(rtd, SNDRV_PCM_STREAM_PLAYBACK, dpcm) {
......
...@@ -106,6 +106,8 @@ static const struct dev_pm_ops sof_acpi_pm = { ...@@ -106,6 +106,8 @@ static const struct dev_pm_ops sof_acpi_pm = {
static void sof_acpi_probe_complete(struct device *dev) static void sof_acpi_probe_complete(struct device *dev)
{ {
dev_dbg(dev, "Completing SOF ACPI probe");
if (sof_acpi_debug & SOF_ACPI_DISABLE_PM_RUNTIME) if (sof_acpi_debug & SOF_ACPI_DISABLE_PM_RUNTIME)
return; return;
......
...@@ -302,10 +302,10 @@ static int sof_pci_probe(struct pci_dev *pci, ...@@ -302,10 +302,10 @@ static int sof_pci_probe(struct pci_dev *pci,
int ret; int ret;
ret = snd_intel_dsp_driver_probe(pci); ret = snd_intel_dsp_driver_probe(pci);
if (ret != SND_INTEL_DSP_DRIVER_ANY && if (ret != SND_INTEL_DSP_DRIVER_ANY && ret != SND_INTEL_DSP_DRIVER_SOF) {
ret != SND_INTEL_DSP_DRIVER_SOF) dev_dbg(&pci->dev, "SOF PCI driver not selected, aborting probe\n");
return -ENODEV; return -ENODEV;
}
dev_dbg(&pci->dev, "PCI DSP detected"); dev_dbg(&pci->dev, "PCI DSP detected");
/* get ops for platform */ /* get ops for platform */
......
...@@ -370,7 +370,7 @@ struct snd_sof_dev { ...@@ -370,7 +370,7 @@ struct snd_sof_dev {
/* DSP firmware boot */ /* DSP firmware boot */
wait_queue_head_t boot_wait; wait_queue_head_t boot_wait;
enum snd_sof_fw_state fw_state; enum snd_sof_fw_state fw_state;
u32 first_boot; bool first_boot;
/* work queue in case the probe is implemented in two steps */ /* work queue in case the probe is implemented in two steps */
struct work_struct probe_work; struct work_struct probe_work;
...@@ -431,10 +431,10 @@ struct snd_sof_dev { ...@@ -431,10 +431,10 @@ struct snd_sof_dev {
int dma_trace_pages; int dma_trace_pages;
wait_queue_head_t trace_sleep; wait_queue_head_t trace_sleep;
u32 host_offset; u32 host_offset;
u32 dtrace_is_supported; /* set with Kconfig or module parameter */ bool dtrace_is_supported; /* set with Kconfig or module parameter */
u32 dtrace_is_enabled; bool dtrace_is_enabled;
u32 dtrace_error; bool dtrace_error;
u32 dtrace_draining; bool dtrace_draining;
bool msi_enabled; bool msi_enabled;
......
...@@ -2083,12 +2083,12 @@ static int sof_process_load(struct snd_soc_component *scomp, int index, ...@@ -2083,12 +2083,12 @@ static int sof_process_load(struct snd_soc_component *scomp, int index,
struct snd_sof_dev *sdev = snd_soc_component_get_drvdata(scomp); struct snd_sof_dev *sdev = snd_soc_component_get_drvdata(scomp);
struct snd_soc_dapm_widget *widget = swidget->widget; struct snd_soc_dapm_widget *widget = swidget->widget;
struct snd_soc_tplg_private *private = &tw->priv; struct snd_soc_tplg_private *private = &tw->priv;
struct sof_ipc_comp_process *process = NULL; struct sof_ipc_comp_process *process;
struct sof_widget_data *wdata = NULL; struct sof_widget_data *wdata = NULL;
size_t ipc_data_size = 0; size_t ipc_data_size = 0;
size_t ipc_size; size_t ipc_size;
int offset = 0; int offset = 0;
int ret = 0; int ret;
int i; int i;
if (type == SOF_COMP_NONE) { if (type == SOF_COMP_NONE) {
...@@ -2374,8 +2374,7 @@ static int sof_widget_ready(struct snd_soc_component *scomp, int index, ...@@ -2374,8 +2374,7 @@ static int sof_widget_ready(struct snd_soc_component *scomp, int index,
case snd_soc_dapm_dai_link: case snd_soc_dapm_dai_link:
case snd_soc_dapm_kcontrol: case snd_soc_dapm_kcontrol:
default: default:
dev_warn(scomp->dev, "warning: widget type %d name %s not handled\n", dev_dbg(scomp->dev, "widget type %d name %s not handled\n", swidget->id, tw->name);
swidget->id, tw->name);
break; break;
} }
...@@ -2944,14 +2943,6 @@ static int sof_link_dmic_load(struct snd_soc_component *scomp, int index, ...@@ -2944,14 +2943,6 @@ static int sof_link_dmic_load(struct snd_soc_component *scomp, int index,
return ret; return ret;
} }
/*
* alloc memory for private member
* Used to track the pdm config array index currently being parsed
*/
sdev->private = kzalloc(sizeof(u32), GFP_KERNEL);
if (!sdev->private)
return -ENOMEM;
/* get DMIC PDM tokens */ /* get DMIC PDM tokens */
ret = sof_parse_token_sets(scomp, &config->dmic.pdm[0], dmic_pdm_tokens, ret = sof_parse_token_sets(scomp, &config->dmic.pdm[0], dmic_pdm_tokens,
ARRAY_SIZE(dmic_pdm_tokens), private->array, ARRAY_SIZE(dmic_pdm_tokens), private->array,
...@@ -2962,7 +2953,7 @@ static int sof_link_dmic_load(struct snd_soc_component *scomp, int index, ...@@ -2962,7 +2953,7 @@ static int sof_link_dmic_load(struct snd_soc_component *scomp, int index,
if (ret != 0) { if (ret != 0) {
dev_err(scomp->dev, "error: parse dmic pdm tokens failed %d\n", dev_err(scomp->dev, "error: parse dmic pdm tokens failed %d\n",
le32_to_cpu(private->size)); le32_to_cpu(private->size));
goto err; return ret;
} }
/* set IPC header size */ /* set IPC header size */
...@@ -3007,9 +2998,6 @@ static int sof_link_dmic_load(struct snd_soc_component *scomp, int index, ...@@ -3007,9 +2998,6 @@ static int sof_link_dmic_load(struct snd_soc_component *scomp, int index,
dev_err(scomp->dev, "error: failed to save DAI config for DMIC%d\n", dev_err(scomp->dev, "error: failed to save DAI config for DMIC%d\n",
config->dai_index); config->dai_index);
err:
kfree(sdev->private);
return ret; return ret;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment