This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Upgrading ALSA from 1.0.23 to 1.0.29

Hello TI,


We are using DM8148 with linux kernel 2.6.37. Currently the version of ALSA is 1.0.23 and we want to upgrade it to the latest available 1..0.29

Found this using cat /proc/asound/version

Advanced Linux Sound Architecture Driver Version 1.0.23.

Can anyone please help me how can I upgrade my driver? What are the necessary components? Is there a patch available for the same?

Thanks,

Krunal

  • Hi Krunal,

    As you noticed, DM814x PSP is based on linux kernel 2.6.37 which has version 1.0.23 of the alsa-driver

    linux-kernel/include/sound/version.h
    #define CONFIG_SND_VERSION "1.0.23"

    The last version of the alsa-driver is 1.0.25, used in the generic linux kernel 3.6.
    ftp.alsa-project.org/.../driver -> alsa-driver-1.0.25.tar.bz2

    From that 1.0.25 version (25-Jan-2012) onwards, this package is obsolete, as kernel.org is now taking updates to the modules directly from the ALSA GIT server. Thus you will need to port the ALSA driver from latest kernel in kernel.org (4.1.4 as of now) to 2.6.37.

    Note also we have the below text in the DM814x Audio driver user guide:

    processors.wiki.ti.com/.../TI81XX_PSP_AUDIO_Driver_User_Guide

    Application developer uses ALSA-lib, a user space library, rather than the kernel API. The library offers 100% of the functionality of the kernel API, but adds major improvements in usability, making the application code simpler and better looking.

    Thus you can check if just upgrade to alsa-lib-1.0.29 will be enough for your requirements, without porting latest alsa driver.

    BR
    Pavel
  • Some more info:

    If you are using SDK filesystem then ALSA library and include files should be available under <filesystem root>/usr/lib and <filesystem root>/usr/include.

    In case your filesystem does not have them already installed, you can install them on your own. See following link arago-project.org/.../Crosscompiling_Outside_of_Arago

    AM335x SDK6 is based on linux kernel 3.2 and use alsa-driver-1.0.24, while AM335x SDK7 is based on linux kernel 3.12 and get new policy (updates to the modules directly from the ALSA GIT server).

    See also the below e2e thread:

    e2e.ti.com/.../1526534
    e2e.ti.com/.../525708
    e2e.ti.com/.../427652
    e2e.ti.com/.../436771

    BR
    Pavel
  • Hi Pavel,

    Before migrating I would like to discuss the problems we are facing right now. May be it will be better instead of back-porting the latest alsa driver into current version of our kernel 2.6.37.

    We have developed an application based on audio_encode demos available in ezsdk_dm814x-evm_5_05_01_04. Normally our application works fine in the normal conditions i.e. normal CPU usage.

    When we increase CPU load by running multiple processes the number of audio frames available increases exponentially. We are using snd_pcm_avail() to track the number of frames available.

    During normal CPU usage its value is around ~1024 frames but when we increase CPU usage to almost 95-99% we start receiving a huge burst of available frames ~20k-~30k.

    We suspect that the ring buffer is being read multiple time resulting into burst. When we listen to the audio we can hear the effect as echo.

    Can you please help us in debugging the issue? Why we have this instant bursts? What can cause this condition?

    Let me know if you have any query or question regarding the problems we are facing.

    Thanks,
    Krunal
  • Krunal,

    I would suggest you to open new e2e thread regarding this new issue (which is not related to upgrading ALSA to newest version).

    BR
    Pavel
  • Thanks for your responses. Thanks alot.

    Krunal