[alsa-devel] [PATCH] ALSA: hda: add Intel DSP configuration / probe code

kbuild test robot lkp at intel.com
Wed Oct 2 18:07:51 CEST 2019


Hi Jaroslav,

I love your patch! Yet something to improve:

[auto build test ERROR on sound/for-next]
[cannot apply to v5.4-rc1 next-20191002]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]

url:    https://github.com/0day-ci/linux/commits/Jaroslav-Kysela/ALSA-hda-add-Intel-DSP-configuration-probe-code/20191002-231808
base:   https://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git for-next
config: mips-allmodconfig (attached as .config)
compiler: mips-linux-gcc (GCC) 7.4.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        GCC_VERSION=7.4.0 make.cross ARCH=mips 

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp at intel.com>

All errors (new ones prefixed by >>):

>> sound/hda/intel-dsp-config.c:11:26: error: expected ')' before 'int'
    module_param(dsp_driver, int, 0444);
                             ^~~
>> sound/hda/intel-dsp-config.c:12:30: error: expected ')' before string constant
    MODULE_PARM_DESC(dsp_driver, "Force the DSP driver for Intel DSP (0=auto, 1=noDSP, 2=legacy, 3=SST, 4=SOF)");
                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> sound/hda/intel-dsp-config.c:96:16: error: expected declaration specifiers or '...' before string constant
    MODULE_LICENSE("GPL v2");
                   ^~~~~~~~
   sound/hda/intel-dsp-config.c:97:20: error: expected declaration specifiers or '...' before string constant
    MODULE_DESCRIPTION("Intel DSP config driver");
                       ^~~~~~~~~~~~~~~~~~~~~~~~~

vim +11 sound/hda/intel-dsp-config.c

    10	
  > 11	module_param(dsp_driver, int, 0444);
  > 12	MODULE_PARM_DESC(dsp_driver, "Force the DSP driver for Intel DSP (0=auto, 1=noDSP, 2=legacy, 3=SST, 4=SOF)");
    13	
    14	static const u16 sof_skl_table[] = {
    15	#if IS_ENABLED(CONFIG_SND_SOC_SOF_COMETLAKE_LP)
    16		0x02c8,	/* Cometlake-LP */
    17	#endif
    18	#if IS_ENABLED(CONFIG_SND_SOC_SOF_COMETLAKE_H)
    19		0x06c8,	/* Cometlake-H */
    20	#endif
    21	#if IS_ENABLED(CONFIG_SND_SOC_SOF_GEMINILAKE)
    22		0x3198,	/* Geminilake */
    23	#endif
    24	#if IS_ENABLED(CONFIG_SND_SOC_SOF_APOLLOLAKE)
    25		0x5a98,	/* Broxton-P (Appololake) */
    26	#endif
    27	#if IS_ENABLED(CONFIG_SND_SOC_SOF_CANNONLAKE)
    28		0x9dc8, /* Cannonlake */
    29	#endif
    30	#if IS_ENABLED(CONFIG_SND_SOC_SOF_COFFEELAKE)
    31		0xa348, /* Coffelake */
    32	#endif
    33	};
    34	
    35	static int snd_intel_dsp_check_device(u16 device, const u16 *table, u32 len)
    36	{
    37		for (; len > 0; len--, table++) {
    38			if (*table == device)
    39				return 1;
    40		}
    41		return 0;
    42	}
    43	
    44	static int snd_intel_dsp_check_dmic(struct pci_dev *pci)
    45	{
    46		struct nhlt_acpi_table *nhlt;
    47		int ret = 0;
    48	
    49		if (snd_intel_dsp_check_device(pci->device, sof_skl_table, ARRAY_SIZE(sof_skl_table))) {
    50			nhlt = intel_nhlt_init(&pci->dev);
    51			if (nhlt) {
    52				if (intel_nhlt_get_dmic_geo(&pci->dev, nhlt))
    53					ret = 1;
    54				intel_nhlt_free(nhlt);
    55			}
    56		}
    57		return ret;
    58	}
    59	
    60	int snd_intel_dsp_driver_probe(struct pci_dev *pci)
    61	{
    62		if (dsp_driver > 0 && dsp_driver <= SND_INTEL_DSP_DRIVER_LAST)
    63			return dsp_driver;
    64	
    65		/* Intel vendor only */
    66		if (snd_BUG_ON(pci->vendor != 0x8086))
    67			return SND_INTEL_DSP_DRIVER_ANY;
    68	
    69		/*
    70		 * detect DSP by checking class/subclass/prog-id information
    71		 * class=04 subclass 03 prog-if 00: no DSP, use legacy driver
    72		 * class=04 subclass 01 prog-if 00: DSP is present
    73		 *  (and may be required e.g. for DMIC or SSP support)
    74		 * class=04 subclass 03 prog-if 80: use DSP or legacy mode
    75		 */
    76		if (pci->class == 0x040300)
    77			return SND_INTEL_DSP_DRIVER_NODSP;
    78		if (pci->class != 0x040100 && pci->class != 0x040380) {
    79			dev_err(&pci->dev, "Unknown PCI class/subclass/prog-if information (0x%06x) found, selecting HDA legacy driver\n", pci->class);
    80			return SND_INTEL_DSP_DRIVER_LEGACY;
    81		}
    82	
    83		dev_info(&pci->dev, "DSP detected with PCI class/subclass/prog-if info 0x%06x\n", pci->class);
    84	
    85		/* DMIC check for Skylake+ */
    86		if (snd_intel_dsp_check_dmic(pci)) {
    87			dev_info(&pci->dev, "Digital mics found on Skylake+ platform, using SOF driver\n");
    88			return SND_INTEL_DSP_DRIVER_SOF;
    89		}
    90	
    91		return SND_INTEL_DSP_DRIVER_ANY;
    92	}
    93	
    94	EXPORT_SYMBOL_GPL(snd_intel_dsp_driver_probe);
    95	
  > 96	MODULE_LICENSE("GPL v2");

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 61528 bytes
Desc: not available
URL: <http://mailman.alsa-project.org/pipermail/alsa-devel/attachments/20191003/0fe809e7/attachment-0001.gz>


More information about the Alsa-devel mailing list