The NHLT spec defines a VENDOR_DEFINED geometry without defining how many microphones are supported. Fall back to 2ch until we have better information or experimental evidence on what to do.
Signed-off-by: Pierre-Louis Bossart pierre-louis.bossart@linux.intel.com --- sound/soc/intel/common/intel-nhlt.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/sound/soc/intel/common/intel-nhlt.c b/sound/soc/intel/common/intel-nhlt.c index d93ecc32d996..86f8a7f3f059 100644 --- a/sound/soc/intel/common/intel-nhlt.c +++ b/sound/soc/intel/common/intel-nhlt.c @@ -81,7 +81,10 @@ int intel_nhlt_get_dmic_geo(struct device *dev, struct nhlt_acpi_table *nhlt) case NHLT_MIC_ARRAY_4CH_2ND_GEOM: dmic_geo |= MIC_ARRAY_4CH; break; - + case NHLT_MIC_ARRAY_VENDOR_DEFINED: + dev_dbg(dev, "VENDOR_DEFINED DMIC array_type, using 2CH_SMALL\n"); + dmic_geo |= NHLT_MIC_ARRAY_2CH_SMALL; + break; default: dev_warn(dev, "undefined DMIC array_type 0x%0x\n", cfg->array_type);