31 May, 2016

1 commit


25 May, 2016

1 commit


04 May, 2016

4 commits


30 Mar, 2016

1 commit


04 Mar, 2016

1 commit

  • When playback mono wav with record in background, there will be some
    nosie in the right dac channel. It seems that the ADC data has been
    routed to the dac channel.

    The cs42888 have 8 dac channels, it's appropriate to mute the unused
    dac channels, and the noise will disappear.

    Steps to reproduce this issue:
    arecord -D hw:0,0 -f S16_LE -r 48000 -c 1 a.wav &
    aplay -Dhw:0,0 audio48k16M.wav

    Signed-off-by: Zidan Wang
    Signed-off-by: Mark Brown
    (cherry picked from commit 1f1e60c9cdd573be271130e44a23efed48e0578d)

    Zidan Wang
     

15 Feb, 2016

1 commit


04 Feb, 2016

3 commits

  • When audio stop, it will first stop dma, then stop cpu_dai.
    If there is delay between dma stop and cpu dai stop, there
    will be underrun error, the print will cost time, then will
    cause another underrun error, it is a infinite loop.
    Which will cause the cpu dai can't stop.

    Signed-off-by: Shengjiu Wang
    (cherry picked from commit 2b47facf5e2314838c5b6e583104ef92d39b6b77)

    Shengjiu Wang
     
  • We use the devm_snd_dmaengine_pcm_register() for platform,
    don't use devm_snd_soc_register_platform(), their close
    funtion is different. One will release the dma channel,
    but another one won't release channel.

    When system enter suspend mode, alsa library is in draining
    state, it will not resume alsa driver in system resume, just
    call close directly. But the alsa driver is in state
    SNDRV_PCM_STATE_SUSPENDED, which is not a running state, so
    the trigger stop is not called, and dmaengine_terminate_all()
    is not called, then dma resource is not released. Which cause
    that in the next playback the sdma driver will not be started.
    Then there is a lot of SAI underrun error.

    If we use the devm_snd_soc_register_platform() for platfrom
    driver, there will be no issue, because it will release dma
    channel, release dma resource. But we use the
    devm_snd_dmaengine_pcm_register() for platform driver. So this
    patch is to add dmaengine_terminate_all() in the
    snd_dmaengine_pcm_close() to fix this issue.

    Signed-off-by: Shengjiu Wang
    (cherry picked from commit ff62968ea8c8b5414f3f049e61addcd4d2bec3b9)

    Shengjiu Wang
     
  • commit 743cead0f8c4ac6311ffb500efd6146c40124310 is not a complete fix.
    There is low possibility that this issue still occur.

    Last commit add init_completion() in the suspend function, but if the
    dma callback function is called after convert error, the complete is
    done, the init_completion will not be called, so the complete state is
    not correct in the next conversion.

    This patch is to move init_completion to the beginning of conversion
    to fix the issue.

    Signed-off-by: Shengjiu Wang
    (cherry picked from commit 752d0cd21dde90b607bef0467149fe7022bf0b15)

    Shengjiu Wang
     

27 Jan, 2016

1 commit

  • cherry-pick 87f3a76d1ba959a5652dfd9b838b151fc0b38084 from 3.14.y_android

    ENGR00300008-1 Update sound driver for android linux kernel 3.10

    Add switch device for headphone plugin/out

    Signed-off-by: Ke Qinghua

    Signed-off-by: Winter Wang

    Conflicts:
    sound/soc/fsl/imx-wm8962.c

    Ke Qinghua
     

20 Jan, 2016

1 commit

  • When load sound card, the pulseaudio will using the sound card to
    playback and record. It may be cause a kernel crash when the sound
    card is unloaded while the playback/record is active

    After setting the sound card owner field, when pulseaudio is running,
    the sound card module ref-count will not be 0 and the sound card will
    not be unloaded. So you should stop the pulseaudio when you want to
    unload the sound card.

    Signed-off-by: Zidan Wang

    Zidan Wang
     

19 Jan, 2016

2 commits


15 Jan, 2016

24 commits