• Pierre-Louis Bossart's avatar
    ASoC: Intel: detect audio routing with CHAN package · 64e84305
    Pierre-Louis Bossart authored
    Baytrail-CR devices usually expose information in the DSDT
    which can be used to auto-detect AIF1/AIF2 connections.
    The CHAN package contains two integers, the first one describes
    the AIF number (1: AIF1, 2: AIF2) and the second the MCLK
    value (ignored in this patch)
    
    For example the following information is found in Lenovo 100s:
    
    Device (RTEK) {
    [...]
        Name (CHAN, Package (0x02)
        {
            One,
            0x017D7840
        })
    
    While on Asus T100TAF the package values are:
    
        Name (CHAN, Package (0x02)
        {
            0x02,
            0x017D7840
        })
    
    This patch relies on the new common routine to extract
    a package exposed by a device indexed with the HID value.
    The CHAN package contents are queried from the machine driver
    and stored in a structure.
    
    If this auto-detection fails (missing or bad package in the
    BIOS), the routing falls back to SSP0-AIF2.
    
    Note that quirks may still be needed to support mono speakers
    or microphone, but this should reduce the number of issues with
    Baytrail significantly.
    Signed-off-by: default avatarPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Signed-off-by: default avatarMark Brown <broonie@kernel.org>
    64e84305
bytcr_rt5640.c 23.7 KB