28 Jan, 2015

1 commit

  • We need hold lock each time updating shirm registers, otherwise,
    we may set unexpected values to them when they are set in
    different thread at different time sequence.

    The notification work will be scheduled in global work queue,
    which won't hold this sst->spinlock itself, so here we need
    change to use the lock version to update shim registers.

    Signed-off-by: Jie Yang
    Signed-off-by: Mark Brown

    Jie Yang
     

08 Jan, 2015

1 commit


25 Nov, 2014

1 commit

  • The volume setting control for capture stream doesn't take effect on intel
    Broadwell platform. Root cause it at 2 points:
    1. set stream volume with channel=2 is wrongly bapassed;
    2. the saved stream volume should be restored after stream is commit.

    Here correct these 2 items to fix the stream volume set issue.

    Signed-off-by: Jie Yang
    Signed-off-by: Mark Brown

    Jie Yang
     

30 Oct, 2014

3 commits


29 Oct, 2014

1 commit

  • 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: Liam Girdwood
    Signed-off-by: Mark Brown

    Liam Girdwood
     

20 Oct, 2014

2 commits


02 Aug, 2014

3 commits


30 Jul, 2014

2 commits


17 Jul, 2014

1 commit


01 Jun, 2014

2 commits

  • A few files contain duplicate headers. This patch removes the second entry of
    duplicate in each file under question.

    There is no functional changes.

    Signed-off-by: Andy Shevchenko
    Signed-off-by: Jarkko Nikula
    Cc: Liam Girdwood
    Signed-off-by: Mark Brown

    Andy Shevchenko
     
  • Baytrail and Haswell SST IPC don't stop the kernel thread in error and
    cleanup path thus leaving orphan kernel thread behind in such a case.

    Also while at it, fix one error path in sst-haswell-ipc.c that doesn't free
    hsw->msg.

    [Jarkko: I edited the commit log a little]
    Signed-off-by: Imre Deak
    Signed-off-by: Jarkko Nikula
    Signed-off-by: Mark Brown

    Imre Deak
     

26 May, 2014

1 commit


03 May, 2014

1 commit


24 Apr, 2014

1 commit

  • I suppose there is a possibility that hsw_notification_work() may run after
    sst_hsw_stream_free() which can lead to a kernel crash since struct
    sst_hsw_stream is freed at that point and
    stream = container_of(work, struct sst_hsw_stream, notify_work) is not valid
    when hsw_notification_work() is run.

    Reported-by: Derek Basehore
    Reported-by: Wenkai Du
    Signed-off-by: Jarkko Nikula
    Signed-off-by: Mark Brown

    Jarkko Nikula
     

23 Apr, 2014

1 commit

  • There is a race between sst_byt_stream_free() and sst_byt_get_stream()
    if sst_byt_get_stream() called from sst_byt_irq_thread() context is
    accessing the byt->stream_list while a stream is deleted from the list.

    A stream is added to byt->stream_list in sst_byt_stream_new() and deleted in
    sst_byt_stream_free(). sst_byt_get_stream() is always protected by
    sst->spinlock, but the stream addition and deletion are not protected.

    The patch adds spinlock to both stream addition and deletion.

    [Jarkko: Same fix added to sst-haswell-ipc.c too]

    Signed-off-by: Wenkai Du
    Signed-off-by: Jarkko Nikula
    Signed-off-by: Mark Brown

    Wenkai Du
     

19 Apr, 2014

2 commits


13 Mar, 2014

1 commit