OSDN Git Service

pcm: softvol: add support for S24_LE
authorJörg Krause <joerg.krause@embedded.rocks>
Wed, 13 Sep 2017 14:21:10 +0000 (16:21 +0200)
committerTakashi Iwai <tiwai@suse.de>
Mon, 18 Sep 2017 13:36:08 +0000 (15:36 +0200)
commit6a617cc719d553ad8eb96308b7f3b94f5a53d243
tree5d88916bb246e2d8eec4b3e084d7ce4cde117506
parent8d6169514519a3f3246ad09dd1281e3a7d854d42
pcm: softvol: add support for S24_LE

Tested with the Wolfson WM8524 DAC on a i.MX6UL board and the following
ALSA configuration file using the pcm test utility from alsa-lib:

"""
$ cat /etc/asound.conf
pcm.!default {
    type plug
    slave.pcm "softvol"
}
pcm.softvol {
    type softvol
    slave {
        pcm "hw:0"
    }
    control {
        name "Master"
        card 0
    }
}
ctl.!default {
    type hw
    card 0
}
ctl.softvol {
    type hw
    card 0
}

$ pcm -D softvol -o S24_LE -c 2 -r 48000
"""

The data in the Synchronous Audio Interface (SAI) of the i.MX6UL is
aligned the following way:

"""
31 30 29 28 | 27 26 25 24 | 23 22 21 20 | .. | 3 2 1 0
## ## ## ##   ## ## ## ## [           DATA[23:0]       ]
"""

Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
src/pcm/pcm_softvol.c