[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