Hi ,
Our Am3351 custom board has TLV320AIC3100 codec interface. We are facing problem in getting BCLK and LRCLK from the codec. Here we configured codec as master and McAsp as slave.
dts file configuration,
sound {
compatible = "ti,mighty-audio-revb";
ti,model = "MIGHTY";
ti,audio-codec = <&tlv320aic3100>;
ti,mcasp-controller = <&mcasp1>;
ti,codec-clock-rate = <24000000>;
ti,audio-routing =
"Headphone Jack", "HPL",
"Headphone Jack", "HPR";
};
mighty_audio_pins: pinmux_mighty_audio_pins {
pinctrl-single,pins = <
0x10C ( PIN_INPUT_PULLDOWN | MUX_MODE4 ) /* gmii1_crs.mcasp1_aclkx */
0x110 ( PIN_INPUT_PULLDOWN | MUX_MODE4 ) /* gmii1_rxer.mcasp1_fsx */
0x128 ( PIN_OUTPUT_PULLDOWN | MUX_MODE3 ) /* gmii1_txd0.mcasp1_axr2 */
0x144 ( PIN_INPUT | MUX_MODE4 ) /* rmii1_refclk.mcasp1_axr3 */
/* Codec Interrupt pin */
0x150 ( PIN_INPUT | MUX_MODE7 ) /* spi0_sclk.gpio0[2] */
>;
};
mighty_audio_pins_sleep: pinmux_mighty_audio_pins_sleep {
pinctrl-single,pins = <
0x10c (PIN_INPUT_PULLDOWN | MUX_MODE7) /* gmii1_crs.mcasp1_aclkx */
0x110 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* gmii1_rxer.mcasp1_fsx */
0x128 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* gmii1_txd0.mcasp1_axr2 */
0x144 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* /* rmii1_refclk.mcasp1_axr3 */
/* Codec Interrupt pin */
0x150 ( PIN_OUTPUT_PULLDOWN | MUX_MODE7 ) /* spi0_sclk.gpio0[2] */
>;
};
&i2c1 {
pinctrl-names = "default", "sleep";
pinctrl-0 = <&i2c1_pins_default>;
pinctrl-1 = <&i2c1_pins_sleep>;
status = "okay";
clock-frequency = <100000>;
tlv320aic3100: tlv320aic3100@18 {
compatible = "ti,tlv320aic310x";
reg = <0x18>;
status = "okay";
gpio-reset= <&gpio0 3 GPIO_ACTIVE_LOW>;
/* Regulators */
HPVDD-supply = <&ldo4_reg>;
SPRVDD-supply = <&ldo4_reg>;
SPLVDD-supply = <&ldo4_reg>;
AVDD-supply = <&ldo4_reg>;
IOVDD-supply = <&ldo4_reg>;
DVDD-supply = <&ldo4_reg>;
};
};
&mcasp1 {
pinctrl-names = "default", "sleep";
pinctrl-0 = <&mighty_audio_pins>;
pinctrl-1 = <&mighty_audio_pins_sleep>;
status = "okay";
op-mode = <0>; /* MCASP_IIS_MODE */
tdm-slots = <2>;
/* 4 serializers */
serial-dir = < /* 0: INACTIVE, 1: TX, 2: RX */
0 0 1 0
>;
tx-num-evt = <32>;
rx-num-evt = <32>;
};
Machine Driver configuration,
static int evm_hw_params(struct snd_pcm_substream *substream,
struct snd_pcm_hw_params *params)
{
struct snd_soc_pcm_runtime *rtd = substream->private_data;
struct snd_soc_dai *codec_dai = rtd->codec_dai;
struct snd_soc_dai *cpu_dai = rtd->cpu_dai;
struct snd_soc_card *soc_card = rtd->card;
int ret = 0;
unsigned sysclk = ((struct snd_soc_card_drvdata_davinci *)
snd_soc_card_get_drvdata(soc_card))->sysclk;
/* set the codec system clock */
ret = snd_soc_dai_set_sysclk(codec_dai, 0, sysclk, SND_SOC_CLOCK_OUT);
if (ret < 0)
return ret;
/* set the CPU system clock */
ret = snd_soc_dai_set_sysclk(cpu_dai, 0, sysclk, SND_SOC_CLOCK_IN);
if (ret < 0)
return ret;
return 0;
}
static const struct snd_soc_dapm_widget aic31xx_dapm_widgets[] = {
SND_SOC_DAPM_HP("Headphone Jack", NULL),
};
static int evm_aic31xx_init (struct snd_soc_pcm_runtime *rtd)
{
struct snd_soc_card *card = rtd->card;
struct snd_soc_dapm_context *dapm = &rtd->codec->dapm;
struct device_node *np = card->dev->of_node;
int ret;
/* Add davinci-evm specific widgets */
snd_soc_dapm_new_controls(&card->dapm, aic31xx_dapm_widgets,
ARRAY_SIZE(aic31xx_dapm_widgets));
if (np) {
ret = snd_soc_of_parse_audio_routing(card, "ti,audio-routing");
if (ret)
return ret;
}
snd_soc_dapm_enable_pin(dapm, "Headphone Jack");
snd_soc_dapm_sync(dapm);
return 0;
}
static struct snd_soc_dai_link evm_dai_tlv320aic31xx = {
.name = "TLV320AIC31XX",
.stream_name = "Playback",
.codec_dai_name = "tlv320aic31xx-hifi",
.ops = &evm_ops,
.init = evm_aic31xx_init,
.dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_CBM_CFM |
SND_SOC_DAIFMT_IB_NF,
};
static const struct of_device_id davinci_evm_dt_ids[] = {
{
.compatible = "ti,da830-evm-audio",
.data = &evm_dai_tlv320aic3x,
},
{
.compatible = "ti,beaglebone-black-audio",
.data = &evm_dai_tda998x_hdmi,
},
{
.compatible = "ti,mighty-audio-revb",
.data = &evm_dai_tlv320aic31xx,
},
{ /* sentinel */ }
};
When kernel boot, audio card is get detected and it is list in aplay -l
During audio play, codec driver initialized as follow,
tlv320aic31xx-codec 1-0018: ## aic31xx_set_dai_sysclk: clk_id = 0, freq = 24000000, dir = 1
tlv320aic31xx-codec 1-0018: ## aic31xx_hw_params: width 16 rate 48000
tlv320aic31xx-codec 1-0018: pll 8.1920/2 dosr 128 n 8 m 2 aosr 128 n 8 m 2 bclk_n 8
But after this it is getting hang and does not setting the bias level to make PLL core on.
Register dump after bias Initialization,
[7/28/2016 12:11:20 AM] Manoj Kumar: Register dump after codec configuration...
[7/28/2016 12:11:22 AM] Manoj Kumar: [ 24.618978] Register 0 : Value= 0x0
[ 24.624320] Register 1 : Value= 0x0
[ 24.628944] Register 2 : Value= 0x1
[ 24.634174] Register 3 : Value= 0x66
[ 24.637880] Register 4 : Value= 0x3
[ 24.641481] Register 5 : Value= 0x21
[ 24.646012] Register 6 : Value= 0x8
[ 24.649627] Register 7 : Value= 0x7
[ 24.653228] Register 8 : Value= 0x80
[ 24.658681] Register 9 : Value= 0x0
[ 24.663820] Register 10 : Value= 0x0
[ 24.667526] Register 11 : Value= 0x8
[ 24.671214] Register 12 : Value= 0x2
[ 24.675747] Register 13 : Value= 0x0
[ 24.679447] Register 14 : Value= 0x80
[ 24.684657] Register 15 : Value= 0x80
[ 24.689436] Register 16 : Value= 0x8
[ 24.694642] Register 17 : Value= 0x0
[ 24.698342] Register 18 : Value= 0x8
[ 24.702031] Register 19 : Value= 0x2
[ 24.706432] Register 20 : Value= 0x80
[ 24.711218] Register 21 : Value= 0x80
[ 24.716586] Register 22 : Value= 0x4
[ 24.721271] Register 23 : Value= 0x0
[ 24.726539] Register 24 : Value= 0x0
[ 24.731223] Register 25 : Value= 0x0
[ 24.736471] Register 26 : Value= 0x1
[ 24.740172] Register 27 : Value= 0x4c
[ 24.744506] Register 28 : Value= 0x0
[ 24.748206] Register 29 : Value= 0x0
[ 24.751894] Register 30 : Value= 0x8
[ 24.757284] Register 31 : Value= 0x0
[ 24.761975] Register 32 : Value= 0x0
[ 24.767233] Register 33 : Value= 0x0
[ 24.771920] Register 34 : Value= 0x0
[ 24.777166] Register 35 : Value= 0x0
[ 24.781848] Register 36 : Value= 0x80
[ 24.787198] Register 37 : Value= 0x0
[ 24.791882] Register 38 : Value= 0x0
[ 24.797147] Register 39 : Value= 0x0
[ 24.801836] Register 40 : Value= 0x0
[ 24.807083] Register 41 : Value= 0x0
[ 24.811772] Register 42 : Value= 0x0
[ 24.817038] Register 43 : Value= 0x0
[ 24.821722] Register 44 : Value= 0x0
[ 24.826965] Register 45 : Value= 0x0
Also attached user space strace during aplay
strace aplay /usr/share/sounds/alsa/Rear_Right.wav execve("/usr/bin/aplay", ["aplay", "/usr/share/sounds/alsa/Rear_Righ"...], [/* 14 vars */]) = 0 brk(0) = 0x1e000 uname({sys="Linux", node="am335x-evm", ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6f3d000 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=3931, ...}) = 0 mmap2(NULL, 3931, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb6f3c000 close(3) = 0 open("/lib/librt.so.1", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0`\27\324J4\0\0\0"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=28380, ...}) = 0 mmap2(0x4ad40000, 57952, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x4ad40000 mprotect(0x4ad46000, 28672, PROT_NONE) = 0 mmap2(0x4ad4d000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x5000) = 0x4ad4d000 close(3) = 0 open("/usr/lib/libasound.so.2", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0@c\327J4\0\0\0"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=809164, ...}) = 0 mmap2(0x4ad58000, 838904, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x4ad58000 mprotect(0x4ae19000, 32768, PROT_NONE) = 0 mmap2(0x4ae21000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xc1000) = 0x4ae21000 close(3) = 0 open("/lib/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\24J\311J4\0\0\0"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=90732, ...}) = 0 mmap2(0x4ac90000, 127880, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x4ac90000 mprotect(0x4aca5000, 28672, PROT_NONE) = 0 mmap2(0x4acac000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x14000) = 0x4acac000 mmap2(0x4acae000, 5000, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x4acae000 close(3) = 0 open("/lib/tls/v7l/neon/vfp/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/lib/tls/v7l/neon/vfp", 0xbea97458) = -1 ENOENT (No such file or directory) open("/lib/tls/v7l/neon/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/lib/tls/v7l/neon", 0xbea97458) = -1 ENOENT (No such file or directory) open("/lib/tls/v7l/vfp/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/lib/tls/v7l/vfp", 0xbea97458) = -1 ENOENT (No such file or directory) open("/lib/tls/v7l/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/lib/tls/v7l", 0xbea97458) = -1 ENOENT (No such file or directory) open("/lib/tls/neon/vfp/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/lib/tls/neon/vfp", 0xbea97458) = -1 ENOENT (No such file or directory) open("/lib/tls/neon/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/lib/tls/neon", 0xbea97458) = -1 ENOENT (No such file or directory) open("/lib/tls/vfp/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/lib/tls/vfp", 0xbea97458) = -1 ENOENT (No such file or directory) open("/lib/tls/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/lib/tls", 0xbea97458) = -1 ENOENT (No such file or directory) open("/lib/v7l/neon/vfp/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/lib/v7l/neon/vfp", 0xbea97458) = -1 ENOENT (No such file or directory) open("/lib/v7l/neon/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/lib/v7l/neon", 0xbea97458) = -1 ENOENT (No such file or directory) open("/lib/v7l/vfp/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/lib/v7l/vfp", 0xbea97458) = -1 ENOENT (No such file or directory) open("/lib/v7l/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/lib/v7l", 0xbea97458) = -1 ENOENT (No such file or directory) open("/lib/neon/vfp/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/lib/neon/vfp", 0xbea97458) = -1 ENOENT (No such file or directory) open("/lib/neon/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/lib/neon", 0xbea97458) = -1 ENOENT (No such file or directory) open("/lib/vfp/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/lib/vfp", 0xbea97458) = -1 ENOENT (No such file or directory) open("/lib/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0H\3\267J4\0\0\0"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=1234772, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6f3b000 mmap2(0x4ab58000, 1268064, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x4ab58000 mprotect(0x4ac81000, 28672, PROT_NONE) = 0 mmap2(0x4ac88000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x128000) = 0x4ac88000 mmap2(0x4ac8c000, 6496, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x4ac8c000 close(3) = 0 open("/lib/libm.so.6", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\360\273\313J4\0\0\0"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=441372, ...}) = 0 mmap2(0x4acb8000, 471240, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x4acb8000 mprotect(0x4ad23000, 28672, PROT_NONE) = 0 mmap2(0x4ad2a000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6a000) = 0x4ad2a000 close(3) = 0 open("/lib/libdl.so.2", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0(\t\323J4\0\0\0"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=11236, ...}) = 0 mmap2(0x4ad30000, 41144, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x4ad30000 mprotect(0x4ad32000, 28672, PROT_NONE) = 0 mmap2(0x4ad39000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1000) = 0x4ad39000 close(3) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6f3a000 set_tls(0xb6f3a6d0, 0xb6f3adb8, 0x4ab50050, 0xb6f3a6d0, 0x4ab50050) = 0 mprotect(0x4ac88000, 8192, PROT_READ) = 0 mprotect(0x4ad39000, 4096, PROT_READ) = 0 mprotect(0x4ad2a000, 4096, PROT_READ) = 0 mprotect(0x4acac000, 4096, PROT_READ) = 0 mprotect(0x4ad4d000, 4096, PROT_READ) = 0 mprotect(0x4ab4f000, 4096, PROT_READ) = 0 munmap(0xb6f3c000, 3931) = 0 set_tid_address(0xb6f3a278) = 728 set_robust_list(0xb6f3a280, 12) = 0 rt_sigaction(SIGRTMIN, {0x4ac94378, [], SA_RESTORER|SA_SIGINFO, 0x4ab85ea0}, NULL, 8) = 0 rt_sigaction(SIGRT_1, {0x4ac9445c, [], SA_RESTORER|SA_RESTART|SA_SIGINFO, 0x4ab85ea0}, NULL, 8) = 0 rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0 getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM_INFINITY}) = 0 brk(0) = 0x1e000 brk(0x3f000) = 0x3f000 ioctl(0, SNDCTL_TMR_TIMEBASE or SNDRV_TIMER_IOCTL_NEXT_DEVICE or TCGETS, {B115200 opost isig icanon echo ...}) = 0 futex(0x4ae24c2c, FUTEX_WAKE_PRIVATE, 2147483647) = 0 stat64("/usr/share/alsa/alsa.conf", {st_mode=S_IFREG|0644, st_size=9318, ...}) = 0 open("/usr/share/alsa/alsa.conf", O_RDONLY) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=9318, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6f3c000 read(3, "#\n# ALSA library configuration "..., 4096) = 4096 read(3, "@func refer\n\t\t\tname defaults.nam"..., 4096) = 4096 read(3, "efaults.hwdep.device\n\t\t\t}\n\t\t}\n\t}"..., 4096) = 1126 read(3, "", 4096) = 0 read(3, "", 4096) = 0 close(3) = 0 munmap(0xb6f3c000, 4096) = 0 futex(0x4ad3a0ac, FUTEX_WAKE_PRIVATE, 2147483647) = 0 access("/usr/share/alsa/alsa.conf.d/", R_OK) = 0 stat64("/usr/share/alsa/alsa.conf.d/", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 openat(AT_FDCWD, "/usr/share/alsa/alsa.conf.d/", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|O_CLOEXEC) = 3 getdents(3, /* 3 entries */, 32768) = 52 getdents(3, /* 0 entries */, 32768) = 0 close(3) = 0 access("/etc/asound.conf", R_OK) = -1 ENOENT (No such file or directory) access("/home/root/.asoundrc", R_OK) = -1 ENOENT (No such file or directory) stat64("/usr/share/alsa/cards/aliases.conf", {st_mode=S_IFREG|0644, st_size=1405, ...}) = 0 open("/usr/share/alsa/cards/aliases.conf", O_RDONLY) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=1405, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6f3c000 read(3, "#\n# Define aliases for various "..., 4096) = 1405 open("/usr/share/alsa/pcm/default.conf", O_RDONLY) = 4 fstat64(4, {st_mode=S_IFREG|0644, st_size=762, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6f39000 read(4, "#\n# Default output\n#\n\npcm.!defau"..., 4096) = 762 read(4, "", 4096) = 0 close(4) = 0 munmap(0xb6f39000, 4096) = 0 open("/usr/share/alsa/pcm/dmix.conf", O_RDONLY) = 4 fstat64(4, {st_mode=S_IFREG|0644, st_size=1517, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6f39000 read(4, "#\n# dmix output\n#\n\npcm.!dmix {\n\t"..., 4096) = 1517 read(4, "", 4096) = 0 close(4) = 0 munmap(0xb6f39000, 4096) = 0 open("/usr/share/alsa/pcm/dsnoop.conf", O_RDONLY) = 4 fstat64(4, {st_mode=S_IFREG|0644, st_size=1532, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6f39000 read(4, "#\n# dsnoop\n#\n\npcm.!dsnoop {\n\t@ar"..., 4096) = 1532 read(4, "", 4096) = 0 close(4) = 0 munmap(0xb6f39000, 4096) = 0 read(3, "", 4096) = 0 read(3, "", 4096) = 0 close(3) = 0 munmap(0xb6f3c000, 4096) = 0 open("/dev/snd/controlC0", O_RDONLY|O_CLOEXEC) = 3 fcntl64(3, F_SETFD, FD_CLOEXEC) = 0 ioctl(3, SNDRV_CTL_IOCTL_CARD_INFO or UI_DEV_CREATE, 0xbea97744) = 0 close(3) = 0 stat64("/usr/share/alsa/alsa.conf", {st_mode=S_IFREG|0644, st_size=9318, ...}) = 0 open("/dev/snd/controlC0", O_RDONLY|O_CLOEXEC) = 3 fcntl64(3, F_SETFD, FD_CLOEXEC) = 0 ioctl(3, SNDRV_CTL_IOCTL_CARD_INFO or UI_DEV_CREATE, 0xbea974ac) = 0 close(3) = 0 open("/dev/snd/controlC0", O_RDWR|O_CLOEXEC) = 3 fcntl64(3, F_SETFD, FD_CLOEXEC) = 0 ioctl(3, SNDRV_CTL_IOCTL_PVERSION or USBDEVFS_CONTROL, 0xbea977dc) = 0 ioctl(3, SNDRV_CTL_IOCTL_CARD_INFO or UI_DEV_CREATE, 0xbea97788) = 0 close(3) = 0 access("/usr/share/alsa/cards/MIGHTY.conf", R_OK) = -1 ENOENT (No such file or directory) open("/dev/snd/controlC1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/dev/aloadC1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/dev/snd/controlC2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/dev/aloadC2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/dev/snd/controlC3", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/dev/aloadC3", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/dev/snd/controlC4", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/dev/aloadC4", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/dev/snd/controlC5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/dev/aloadC5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/dev/snd/controlC6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/dev/aloadC6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/dev/snd/controlC7", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/dev/aloadC7", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/dev/snd/controlC8", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/dev/aloadC8", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/dev/snd/controlC9", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/dev/aloadC9", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/dev/snd/controlC10", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/dev/aloadC10", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/dev/snd/controlC11", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/dev/aloadC11", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/dev/snd/controlC12", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/dev/aloadC12", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/dev/snd/controlC13", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/dev/aloadC13", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/dev/snd/controlC14", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/dev/aloadC14", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/dev/snd/controlC15", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/dev/aloadC15", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/dev/snd/controlC16", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/dev/aloadC16", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/dev/snd/controlC17", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/dev/aloadC17", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/dev/snd/controlC18", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/dev/aloadC18", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/dev/snd/controlC19", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/dev/aloadC19", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/dev/snd/controlC20", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/dev/aloadC20", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/dev/snd/controlC21", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/dev/aloadC21", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/dev/snd/controlC22", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/dev/aloadC22", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/dev/snd/controlC23", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/dev/aloadC23", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/dev/snd/controlC24", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/dev/aloadC24", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/dev/snd/controlC25", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/dev/aloadC25", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/dev/snd/controlC26", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/dev/aloadC26", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/dev/snd/controlC27", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/dev/aloadC27", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/dev/snd/controlC28", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/dev/aloadC28", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/dev/snd/controlC29", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/dev/aloadC29", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/dev/snd/controlC30", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/dev/aloadC30", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/dev/snd/controlC31", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/dev/aloadC31", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/dev/snd/controlC0", O_RDONLY|O_CLOEXEC) = 3 fcntl64(3, F_SETFD, FD_CLOEXEC) = 0 ioctl(3, SNDRV_CTL_IOCTL_CARD_INFO or UI_DEV_CREATE, 0xbea97314) = 0 close(3) = 0 stat64("/usr/share/alsa/alsa.conf", {st_mode=S_IFREG|0644, st_size=9318, ...}) = 0 open("/dev/snd/controlC0", O_RDONLY|O_CLOEXEC) = 3 fcntl64(3, F_SETFD, FD_CLOEXEC) = 0 ioctl(3, SNDRV_CTL_IOCTL_CARD_INFO or UI_DEV_CREATE, 0xbea971fc) = 0 close(3) = 0 open("/dev/snd/controlC0", O_RDWR|O_CLOEXEC) = 3 fcntl64(3, F_SETFD, FD_CLOEXEC) = 0 ioctl(3, SNDRV_CTL_IOCTL_PVERSION or USBDEVFS_CONTROL, 0xbea9752c) = 0 ioctl(3, SNDRV_CTL_IOCTL_CARD_INFO or UI_DEV_CREATE, 0xbea974d8) = 0 close(3) = 0901.485335] ASoC: tlv320aic31xx-hifi <-> 4803c000.mcasp info: n("/dev/snd/controlC0", O_RDONLY|O_CLOEXEC) = 3 fcntl64(3, _SETFD, FD_CLOEXEC) = 0 ioctl(3, SNDRV_CTL_IOCTL_CARD_INFO or UI_DEV_CREATE, 0xbea973fc) = 0 close(3) = 0 open("/dev/snd/controlC0", O_RDWR|O_CLOEXEC) = 3 fcntl64(3, F_SETFD, FD_CLOEXEC) = 0 ioctl(3, SNDRV_CTL_IOCTL_PVERSION or USBDEVFS_CONTROL, 0xbea9759c) = 0 ioctl(3, SNDRV_CTL_IOCTL_PCM_PREFER_SUBDEVICE, 0xbea975dc) = 0 open("/dev/snd/pcmC0D0p", O_RDWR|O_NONBLOCK|O_CLOEXEC3901.564439] ASoC: rate mask 0x1ffe [ 3901.612108] ASoC: min ch 2 max ch 2 [ 3901.615782] ASoC: min rate 8000 max rate 192000 = )4 ntl64(4, F_SETFD, FD_CLOEXEC ) = 0 se(3 ) = 0 clo ioctl(4, AGPIOC_ACQUIRE or APM_IOC_STANDBY or SNDRV_PCM_IOCTL_INFO, 0xbea9749c) = 0 fcntl64(4, F_GETFL) = 0x802 (flags O_RDWR|O_NONBLOCK) ioctl(4, AGPIOC_INFO or SNDRV_PCM_IOCTL_PVERSION, 0xbea97404) = 0 clock_gettime(CLOCK_MONOTONIC, {3901, 619676047}) = 0 ioctl(4, AGPIOC_SETUP or SNDRV_PCM_IOCTL_TTSTAMP, 0xbea9740c) = 0 mmap2(NULL, 4096, PROT_READ, MAP_SHARED, 4, 0x80000000) = -1 ENXIO (No such device or address) ioctl(4, SNDRV_PCM_IOCTL_SYNC_PTR, 0xbea97418) = 0 fcntl64(4, F_GETFL) = 0x802 (flags O_RDWR|O_NONBLOCK) fcntl64(4, F_SETFL, O_RDWR) = 0 ioctl(4, AGPIOC_ACQUIRE or APM_IOC_STANDBY or SNDRV_PCM_IOCTL_INFO, 0xbea97b00) = 0 rt_sigaction(SIGINT, {0x12920, [INT], SA_RESTORER|SA_RESTART, 0x4ab85e90}, {SIG_DFL, [], 0}, 8) = 0 rt_sigaction(SIGTERM, {0x12920, [TERM], SA_RESTORER|SA_RESTART, 0x4ab85e90}, {SIG_DFL, [], 0}, 8) = 0 rt_sigaction(SIGABRT, {0x12920, [ABRT], SA_RESTORER|SA_RESTART, 0x4ab85e90}, {SIG_DFL, [], 0}, 8) = 0 rt_sigaction(SIGUSR1, {0x11d70, [USR1], SA_RESTORER|SA_RESTART, 0x4ab85e90}, {SIG_DFL, [], 0}, 8) = 0 open("/usr/share/sounds/alsa/Rear_Right.wav", O_RDONLY) = 3 read(3, "RIFF(<\2\0WAVEfmt \20\0\0\0\1\0\1\0", 24) = 24 read(3, "\200\273", 2) = 2 read(3, "\0\0\0w\1\0\2\0\20\0", 10) = 10 read(3, "data\4<\2\0", 8) = 8 write(2, "Playing WAVE '/usr/share/sounds/"..., 55Playing WAVE '/usr/share/sounds/alsa/Rear_Right.wav' : ) = 55 write(2, "Signed 16 bit Little Endian, ", 29Signed 16 bit Little Endian, ) = 29 write(2, "Rate 48000 Hz, ", 15Rate 48000 Hz, ) = 15 write(2, "Mono", 4Mono) = 4 write(2, "\n", 1 ) = 1 ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xbea97370) = 0 ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xbea97008) = 0 ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xbea97008) = 0 ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xbea97370) = 0 ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xbea97008) = 0 ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xbea97008) = 0 ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xbea97370) = 0 ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xbea970d8) = 0 ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xbea96d70) = 0 ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xbea96d70) = 0 ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xbea970d8) = 0 ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xbea970d8) = 0 ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xbea96d70) = 0 ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xbea96d70) = 0 ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xbea970d8) = 0 ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xbea970d8) = 0 ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xbea96d70) = 0 ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xbea96d70) = 0 ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xbea970d8) = 0 ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xbea970d8) = 0 ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xbea96d70) = 0 ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xbea96d70) = 0 ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xbea970d8) = 0 ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xbea970d8) = 0 ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xbea96d70) = 0 ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xbea96d70) = 0 ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xbea970d8) = 0 ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xbea96bc8) = 0 ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xbea96860) = 0 ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xbea96860) = 0 ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xbea96860) = 0 ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xbea96bc8) = 0 ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xbea96bc8) = 0 ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xbea96bc8) = 0 ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xbea96860) = 0 ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xbea96860) = 0 ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xbea96bc8) = 0 ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xbea96e38) = 0 ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xbea96e38) = 0 ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xbea96e38) = 0 ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xbea96e38) = 0 ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xbea96e38) = 0 ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xbea96bc8) = 0 ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xbea96bc8) = 0 ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xbea96bc8) = 0 ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xbea96bc8) = 0 ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xbea96bc8) = 0 ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xbea96e38) = 0 ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xbea96e38) = 0 ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xbea96e38) = 0 ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xbea96e38) = 0 ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xbea96e38) = 0 ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xbea96bc8) = 0 ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xbea96bc8) = 0 ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xbea96bc8) = 0 3901.992097] tlv320aic31xx-codec 1-0018: ## aic31xx_set_dai_sysclk: clk_id = 0, freq = 24000000, dir = 1 ctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xbea96bc8) = 0 ioctl(4, SDRV_PCM_IOCTL_HW_REFINE, 0xbea96bc8) = 0 ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xbea96e38) = 0 ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xbea96e38) = 0 ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xbea96e38) = 0 ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xbea96e38) = 0 ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xbea96e38) = 0 ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xbea972c0) = 0 ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xbea972c0) = 0 ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xbea972c0) = 0 ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xbea972c0) = 0 ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xbea972a0) = 0 ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xbea972a0) = 0 ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xbea972a0) = 0 ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xbea972a0) = 0 ioctl(4, SNDRV_PCM_IOCTL_HW_R902.042495] ## aic31xx_set_dai_sysclk: clk_id = 0, freq = 24000000, dir = 1 FIENE, 0xbea972a0) = 0 ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xbea72d8) = 0 ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xbea972d8) = 0 ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xbea972d8) = 0 ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xbea972d8) = 0 ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xbea96f50) = 0 ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xbea96f48) = 0 ioctl(4, SNDRV_PCM_IOCTL_HW_PARAMS 3902.122100] tlv320aic31xx-codec 1-0018: ## aic31xx_hw_params: width 16 rate 48000 [ 3902.162490] ## aic31xx_hw_params: width 16 rate 48000 [ 3902.175924] tlv320aic31xx-codec 1-0018: pll 8.1920/2 dosr 128 n 8 m 2 aosr 128 n 8 m 2 bclk_n 8 [ 3902.185064] pll 8.1920/2 dosr 128 n 8 m 2 aosr 128 n 8 m 2 bclk_n 8 [ 3902.192735] Register 0 : Value= 0x0 [ 3902.226430] Register 1 : Value= 0x0 [ 3902.230053] Register 2 : Value= 0x1 [ 3902.235719] Register 3 : Value= 0x66 [ 3902.239425] Register 4 : Value= 0x0 [ 3902.243031] Register 5 : Value= 0x21 [ 3902.247386] Register 6 : Value= 0x8 [ 3902.251001] Register 7 : Value= 0x7 [ 3902.255124] Register 8 : Value= 0x80 [ 3902.258825] Register 9 : Value= 0x0 0x,bea96f48) = 0 ctl(4, SNDRV_PCM_IOCTL_SYNC_PTR 0x,2c9e8) = 0 ctl(4, SNDRVPCM_IOCTL_SW_PARAMS, 0xbea96eb4) = 0 ioctl(4, SNDRV_PCM_IOCTL_CHANNEL_INFO, 0xbea96e40) = 0 ioctl(4, SNDRV_PCM_IOCTL_CHANNEL_INFO, 0xbea96e40) = 0 mmap2(NULL, 98304, PROT_READ|PROT_WRITE, MAP_SHARED, 4, 0) = 0xb6f22000 ioctl(4, SNDRV_PCM_IOCTL_SYNC_PTR, 0x2c9e8) = 0 ioctl(4, SNDRV_PCM_IOCTL_SYNC_PTR, 0x2c9e8) = 0 ioctl(4, SNDRV_PCM_IOCTL_PREPARE, 0xb72ec900) = 0 ioctl(4, SNDRV_PCM_IOCTL_SYNC_PTR, 0x2c9e8) = 0 ioctl(4, SNDRV_PCM_IOCTL_SW_PARAMS, 0xbea97620) = 0 read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 12000) = 12000 ioctl(4, SNDRV_PCM_IOCTL_SYNC_PTR, 0x2c9e8) = 0 ioctl(4, SNDRV_PCM_IOCTL_SYNC_PTR, 0x2c9e8) = 0 ioctl(4, SNDRV_PCM_IOCTL_SYNC_PTR, 0x2c9e8) = 0 ioctl(4, SNDRV_PCM_IOCTL_SYNC_PTR, 0x2c9e8) = 0 read(3, "\27\n\367\t\263\tX\t#\t\2\t\321\10\250\10f\10\303\0079\7!\7\335\6D\6\316\5n\5"..., 12000) = 12000 ioctl(4, SNDRV_PCM_IOCTL_SYNC_PTR, 0x2c9e8) = 0 ioctl(4, SNDRV_PCM_IOCTL_SYNC_PTR, 0x2c9e8) = 0 ioctl(4, SNDRV_PCM_IOCTL_SYNC_PTR, 0x2c9e8) = 0 ioctl(4, SNDRV_PCM_IOCTL_SYNC_PTR, 0x2c9e8) = 0 read(3, "|\36\337\36\312\37\332 \276!&\"\352!\241!\312!\276!\342 $ U \225 ) \317\37"..., 12000) = 12000 ioctl(4, SNDRV_PCM_IOCTL_SYNC_PTR, 0x2c9e8) = 0 ioctl(4, SNDRV_PCM_IOCTL_SYNC_PTR, 0x2c9e8) = 0 ioctl(4, SNDRV_PCM_IOCTL_SYNC_PTR, 0x2c9e8) = 0 ioctl(4, SNDRV_PCM_IOCTL_SYNC_PTR, 0x2c9e8) = 0 read(3, "~\f;\f\341\v!\vS\n\316\tO\t\256\0104\10\26\10\35\10&\10\\\10s\10<\10?\10"..., 12000) = 12000 ioctl(4, SNDRV_PCM_IOCTL_SYNC_PTR, 0x2c9e8) = 0 ioctl(4, SNDRV_PCM_IOCTL_SYNC_PTR, 0x2c9e8) = 0 ioctl(4, SNDRV_PCM_IOCTL_SYNC_PTR, 0x2c9e8) = 0 ioctl(4, SNDRV_PCM_IOCTL_SYNC_PTR, 0x2c9e8) = 0 ioctl(4, SNDRV_PCM_IOCTL_SYNC_PTR, 0x2c9e8) = 0 ioctl(4, SNDRV_PCM_IOCTL_START, 0x2c9e8) = 0 read(3, "\323\7\342\7\323\7\244\7\201\7a\7:\7\r\7\310\6z\6%\6\321\5\232\5V\5\365\4\227\4"..., 12000) = 12000 ioctl(4, SNDRV_PCM_IOCTL_SYNC_PTR, 0x2c9e8) = 0 ioctl(4, SNDRV_PCM_IOCTL_SYNC_PTR, 0x2c9e8) = 0 ioctl(4, SNDRV_PCM_IOCTL_SYNC_PTR, 0x2c9e8) = 0 poll([{fd=4, events=POLLOUT|POLLERR|POLLNVAL}], 1, -1