ASoC: SOF: Intel: add codec_mask module parameter
Add a module parameter 'codec_mask' to filter out unwanted HDA codecs from driver probe. E.g. on most systems, codec_mask=4 will limit to HDMI audio and exclude any external HDA codecs. Similar to 'probe_mask' module parameter of snd-hda-intel. 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/20191210004854.16845-6-pierre-louis.bossart@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
Родитель
b7c5986489
Коммит
4f6250b82c
|
@ -15,11 +15,18 @@
|
|||
* Hardware interface for generic Intel audio DSP HDA IP
|
||||
*/
|
||||
|
||||
#include <linux/module.h>
|
||||
#include <sound/hdaudio_ext.h>
|
||||
#include <sound/hda_register.h>
|
||||
#include "../ops.h"
|
||||
#include "hda.h"
|
||||
|
||||
#if IS_ENABLED(CONFIG_SND_SOC_SOF_HDA)
|
||||
static int hda_codec_mask = -1;
|
||||
module_param_named(codec_mask, hda_codec_mask, int, 0444);
|
||||
MODULE_PARM_DESC(codec_mask, "SOF HDA codec mask for probing");
|
||||
#endif
|
||||
|
||||
/*
|
||||
* HDA Operations.
|
||||
*/
|
||||
|
@ -206,6 +213,12 @@ int hda_dsp_ctrl_init_chip(struct snd_sof_dev *sdev, bool full_reset)
|
|||
bus->codec_mask = snd_hdac_chip_readw(bus, STATESTS);
|
||||
dev_dbg(bus->dev, "codec_mask = 0x%lx\n", bus->codec_mask);
|
||||
}
|
||||
|
||||
if (hda_codec_mask != -1) {
|
||||
bus->codec_mask &= hda_codec_mask;
|
||||
dev_dbg(bus->dev, "filtered codec_mask = 0x%lx\n",
|
||||
bus->codec_mask);
|
||||
}
|
||||
#endif
|
||||
|
||||
/* clear stream status */
|
||||
|
|
Загрузка…
Ссылка в новой задаче