• Liam Girdwood's avatar
    ASoC: Intel: Make ADSP memory block allocation more generic · e9600bc1
    Liam Girdwood authored
    Current block allocation is tied to block type and requestor type. Make the
    allocation more generic by removing the struct module parameter and adding
    a generic block allocator structure. Also pass in the list that the blocks
    have to be added too in order to remove dependence on block requestor type.
    
    ASoC: Intel: update scratch allocator to use generic block allocator
    
    Update the scratch allocator to use the generic block allocator and calculate
    total scratch buffer size.
    
    ASoC: Intel: Add call to calculate offsets internally within the DSP.
    
    A call to calculate internal DSP memory addresses used to allocate persistent
    and scartch buffers.
    
    ASoC: Intel: Add runtime module support.
    
    Add support for runtime module objects that can be created for every FW
    module that is parsed from the FW file. This gives a 1:N mapping between
    the FW module from file and the runtime instantiations of that module.
    
    We also need to make sure we remove every module and runtime module when
    we unload the FW.
    
    ASoC: Intel: Add DMA firmware loading support
    
    Add support for DMA to load firmware modules to the DSP memory blocks.
    Two DMA engines are supported, DesignWare and Intel MID.
    
    ASoC: Intel: Add runtime module lookup API call
    
    Add an API to allow quick lookup of runtime modules based on ID.
    
    ASoC: Intel: Provide streams with dynamic module information
    
    Remove the hard coded module paramaters and provide each module with
    dynamically generated buffer information for scratch and persistent
    buffers.
    Signed-off-by: default avatarLiam Girdwood <liam.r.girdwood@linux.intel.com>
    Signed-off-by: default avatarMark Brown <broonie@kernel.org>
    e9600bc1
sst-haswell-dsp.c 14.4 KB