• Pierre-Louis Bossart's avatar
    soundwire: intel: transition to 3 steps initialization · 6d2c6669
    Pierre-Louis Bossart authored
    Rather than a plain-vanilla init/exit, this patch provides 3 steps in
    the initialization needed for driver selection, machine driver
    selection and deal with power rail dependencies.
    
    - ACPI scan: this step is done at a very early stage to detect the
    presence of a SoundWire Controller and enabled links at the BIOS
    level. This step may be called from the legacy HDaudio driver, which
    will abort its probe to let the Sound Open Firmware (SOF) handle the
    hardware.
    
    - probe: this step allocates all the required memory and will add a
    sdw_bus, which in turn will result in identifying all possible Slaves
    listed below the Controller ACPI companion device. All the information
    is reported to the parent PCI driver which will select the relevant
    machine driver.
    
    - startup: this last step starts the bus reset, which results in Slave
    devices reporting as ATTACHED and being enumerated. This step is only
    done during the card creation stage, after the DSP is powered to
    account for internal power rail dependencies.
    
    These 3 steps are already supported in the Sound Open firmware
    drivers and upstream.
    Signed-off-by: default avatarPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Signed-off-by: default avatarBard Liao <yung-chuan.liao@linux.intel.com>
    Link: https://lore.kernel.org/r/20200531182102.27840-7-yung-chuan.liao@linux.intel.comSigned-off-by: default avatarVinod Koul <vkoul@kernel.org>
    6d2c6669
intel.h 1.11 KB