I’m porting the I2S driver from STM32F4 to STM32F7 and decided to see how things work on STM32F4Discovery board. Now I can compare it with my driver for STM32F7:

nxplayer> play /tmp/yes.wav
nxplayer_playinternal: ==============================
nxplayer_playinternal: Playing file /tmp/yes.wav
nxplayer_playinternal: ==============================
audio_open: crefs: 0
audio_ioctl: cmd: 4097 arg: 536894112
audio_ioctl: AUDIOIOC_GETCAPS: Device=0
cs43l22_getcaps: type=0 ac_type=0
audio_ioctl: cmd: 4098 arg: 0
audio_ioctl: AUDIOIOC_RESERVE
pcm_reserve: Defer to lower reserve
audio_ioctl: cmd: 4097 arg: 536894112
audio_ioctl: AUDIOIOC_GETCAPS: Device=2
cs43l22_getcaps: type=2 ac_type=2
audio_ioctl: cmd: 4106 arg: 536894080
audio_ioctl: Forwarding unrecognized cmd: 4106 arg: 536894080
pcm_ioctl: Defer to lower ioctl, cmd=4106 arg=536894080
cs43l22_ioctl: Ignored
audio_ioctl: cmd: 4110 arg: 4
audio_ioctl: AUDIOIOC_REGISTERMQ
nxplayer_playthread: Entry
audio_ioctl: cmd: 4106 arg: 536896832
audio_ioctl: Forwarding unrecognized cmd: 4106 arg: 536896832
pcm_ioctl: Defer to lower ioctl, cmd=4106 arg=536896832
cs43l22_ioctl: Ignored
audio_ioctl: cmd: 4107 arg: 536896848
audio_ioctl: AUDIOIOC_ALLOCBUFFER
audio_ioctl: cmd: 4107 arg: 536896848
audio_ioctl: AUDIOIOC_ALLOCBUFFER
audio_ioctl: cmd: 4109 arg: 536896808
audio_ioctl: AUDIOIOC_ENQUEUEBUFFER
pcm_enqueuebuffer: Received buffer 0x200103f8, streaming=0
pcm_enqueuebuffer: curbyte=0 nbytes=8192 nmaxbytes=8192 bytesleft=8192
pcm_dump: Wave file header
pcm_dump:   Header Chunk:
pcm_dump:     Chunk ID:        0x46464952
pcm_dump:     Chunk Size:      39094
pcm_dump:     Format:          0x45564157
pcm_dump:   Format Chunk:
pcm_dump:     Chunk ID:        0x20746d66
pcm_dump:     Chunk Size:      16
pcm_dump:     Audio Format:    0x0001
pcm_dump:     Num. Channels:   1
pcm_dump:     Sample Rate:     8000
pcm_dump:     Byte Rate:       16000
pcm_dump:     Block Align:     2
pcm_dump:     Bits Per Sample: 16
pcm_dump:   Data Chunk:
pcm_dump:     Chunk ID:        0x61746164
pcm_dump:     Chunk Size:      39058
cs43l22_configure: ac_type: 2
cs43l22_configure:   AUDIO_TYPE_OUTPUT:
cs43l22_configure:     Number of channels: 1
cs43l22_configure:     Sample rate:        8000
cs43l22_configure:     Sample width:       16
stm32_i2s_txdatawidth: Data width bits of tx = 16
cs43l22_setbitrate: sample rate=8000 nchannels=1 bpsamp=16
pcm_enqueuebuffer: Begin streaming: apb=0x200103f8 curbyte=44 nbytes=8192
pcm_enqueuebuffer: Pass to lower enqueuebuffer: apb=0x200103f8 curbyte=44 nbytes=8192
cs43l22_enqueuebuffer: Enqueueing: apb=0x200103f8 curbyte=44 nbytes=8192 flags=0000
audio_ioctl: cmd: 4109 arg: 536896808
audio_ioctl: AUDIOIOC_ENQUEUEBUFFER
pcm_enqueuebuffer: Received buffer 0x20012428, streaming=1
pcm_enqueuebuffer: Received: apb=0x20012428 curbyte=0 nbytes=8192 flags=0000
pcm_enqueuebuffer: Pass to lower enqueuebuffer: apb=0x20012428 curbyte=0 nbytes=8192
cs43l22_enqueuebuffer: Enqueueing: apb=0x20012428 curbyte=0 nbytes=8192 flags=0000
nxplayer_playthread: 2 buffers queued, running=1 streaming=1
audio_ioctl: cmd: 4102 arg: 0
audio_ioctl: AUDIOIOC_START
pcm_start: Defer to lower start
cs43l22_start: Entry
cs43l22_start: Starting worker thread
cs43l22_workerthread: Entry
cs43l22_setvolume: volume=250 mute=0
cs43l22_writereg: Write: 20 <- 13
cs43l22_writereg: Write: 21 <- 13
cs43l22_readreg: Read: 0f -> 00
cs43l22_writereg: Write: 0f <- 00
cs43l22_sendbuffer: Sending apb=0x200103f8, size=8192 inflight=0
stm32_i2s_send: apb=0x200103f8 nbytes=8148 arg=0x20004798 timeout=105
stm32_dmasetup: paddr: 40003c0c maddr: 20010450 ntransfers: 4074 scr: 00012c40
cs43l22_sendbuffer: Sending apb=0x20012428, size=8192 inflight=1
stm32_i2s_send: apb=0x20012428 nbytes=8192 arg=0x20004798 timeout=105
cs43l22_start: Created worker thread
audio_ioctl: cmd: 4100 arg: 536896792
audio_ioctl: AUDIOIOC_INITIALIZE: Device=16
pcm_configure: Defer to lower configure
cs43l22_configure: ac_type: 16
cs43l22_configure:   AUDIO_TYPE_FEATURE
cs43l22_configure:     Volume: 400
cs43l22_setvolume: volume=147 mute=0
cs43l22_writereg: Write: 20 <- ac
cs43l22_writereg: Write: 21 <- ac
cs43l22_readreg: Read: 0f -> 00
cs43l22_writereg: Write: 0f <- 00
audio_ioctl: cmd: 4100 arg: 536896792
audio_ioctl: AUDIOIOC_INITIALIZE: Device=16
pcm_configure: Defer to lower configure
cs43l22_configure: ac_type: 16
cs43l22_configure:   AUDIO_TYPE_FEATURE
cs43l22_configure:     Balance: 500
cs43l22_setvolume: volume=102 mute=0
cs43l22_writereg: Write: 20 <- 7f
cs43l22_writereg: Write: 21 <- 7f
cs43l22_readreg: Read: 0f -> 00
cs43l22_writereg: Write: 0f <- 00
nxplayer_playthread: Playing...
nxplayer> i2s_tx_worker: tx.act.head=0 tx.done.head=0x2000477c
i2s_txdma_sampledone: result: 16
stm32_dmadump: DMA Registers: TX: Initial Registers
stm32_dmadump:    LISR[40026000]: 00000000
stm32_dmadump:    HISR[40026004]: 00000000
stm32_dmadump:     SCR[400260b8]: 00000000
stm32_dmadump:   SNDTR[400260bc]: 00000000
stm32_dmadump:    SPAR[400260c0]: 00000000
stm32_dmadump:   SM0AR[400260c4]: 00000000
stm32_dmadump:   SM1AR[400260c8]: 00000000
stm32_dmadump:    SFCR[400260cc]: 00000021
stm32_dmadump: DMA Registers: TX: After DMA Setup
stm32_dmadump:    LISR[40026000]: 00000000
stm32_dmadump:    HISR[40026004]: 00000000
stm32_dmadump:     SCR[400260b8]: 00012c40
stm32_dmadump:   SNDTR[400260bc]: 00000fea
stm32_dmadump:    SPAR[400260c0]: 40003c0c
stm32_dmadump:   SM0AR[400260c4]: 20010450
stm32_dmadump:   SM1AR[400260c8]: 00000000
stm32_dmadump:    SFCR[400260cc]: 00000027
stm32_dmadump: DMA Registers: TX: After DMA Start
stm32_dmadump:    LISR[40026000]: 00000000
stm32_dmadump:    HISR[40026004]: 00000000
stm32_dmadump:     SCR[400260b8]: 00012c4d
stm32_dmadump:   SNDTR[400260bc]: 00000fea
stm32_dmadump:    SPAR[400260c0]: 40003c0c
stm32_dmadump:   SM0AR[400260c4]: 20010450
stm32_dmadump:   SM1AR[400260c8]: 00000000
stm32_dmadump:    SFCR[400260cc]: 0000002f
stm32_dmadump: DMA Registers: TX: At DMA callback
stm32_dmadump:    LISR[40026000]: 00000000
stm32_dmadump:    HISR[40026004]: 00000000
stm32_dmadump:     SCR[400260b8]: 00012c4d
stm32_dmadump:   SNDTR[400260bc]: 000007f5
stm32_dmadump:    SPAR[400260c0]: 40003c0c
stm32_dmadump:   SM0AR[400260c4]: 20010450
stm32_dmadump:   SM1AR[400260c8]: 00000000
stm32_dmadump:    SFCR[400260cc]: 0000000f
stm32_dmadump: DMA Registers: TX: At End-of-Transfer
stm32_dmadump:    LISR[40026000]: 00000000
stm32_dmadump:    HISR[40026004]: 00000000
stm32_dmadump:     SCR[400260b8]: 00012c4d
stm32_dmadump:   SNDTR[400260bc]: 00000770
stm32_dmadump:    SPAR[400260c0]: 40003c0c
stm32_dmadump:   SM0AR[400260c4]: 20010450
stm32_dmadump:   SM1AR[400260c8]: 00000000
stm32_dmadump:    SFCR[400260cc]: 0000001f
i2s_dump_regs: I2S3: TX: At End-of-Transfer
i2s_dump_regs:     CR1:0000    CR2:0002     SR:0002      DR:0000
i2s_dump_regs:     I2SCFGR:0e00    I2SPR:021a
stm32_dmasetup: paddr: 40003c0c maddr: 20012454 ntransfers: 4096 scr: 00012c40
cs43l22_senddone: apb=0x200103f8 inflight=2 result=16
cs43l22_workerthread: AUDIO_MSG_COMPLETE
cs43l22_returnbuffers: Returning: apb=0x200103f8 curbyte=44 nbytes=8192 flags=0001
audio_callback: Entry
audio_dequeuebuffer: Entry
audio_ioctl: cmd: 4109 arg: 536896808
audio_ioctl: AUDIOIOC_ENQUEUEBUFFER
pcm_enqueuebuffer: Received buffer 0x200103f8, streaming=1
pcm_enqueuebuffer: Received: apb=0x200103f8 curbyte=0 nbytes=8192 flags=0000
pcm_enqueuebuffer: Pass to lower enqueuebuffer: apb=0x200103f8 curbyte=0 nbytes=8192
cs43l22_enqueuebuffer: Enqueueing: apb=0x200103f8 curbyte=0 nbytes=8192 flags=0000
cs43l22_workerthread: AUDIO_MSG_ENQUEUE
cs43l22_sendbuffer: Sending apb=0x200103f8, size=8192 inflight=1
stm32_i2s_send: apb=0x200103f8 nbytes=8192 arg=0x20004798 timeout=105
i2s_tx_worker: tx.act.head=0 tx.done.head=0x20004764
i2s_txdma_sampledone: result: 17
stm32_dmadump: DMA Registers: TX: Initial Registers
stm32_dmadump:    LISR[40026000]: 00000000
stm32_dmadump:    HISR[40026004]: 08000000
stm32_dmadump:     SCR[400260b8]: 00012c4c
stm32_dmadump:   SNDTR[400260bc]: 00000000
stm32_dmadump:    SPAR[400260c0]: 40003c0c
stm32_dmadump:   SM0AR[400260c4]: 20010450
stm32_dmadump:   SM1AR[400260c8]: 00000000
stm32_dmadump:    SFCR[400260cc]: 00000027
stm32_dmadump: DMA Registers: TX: After DMA Setup
stm32_dmadump:    LISR[40026000]: 00000000
stm32_dmadump:    HISR[40026004]: 00000000
stm32_dmadump:     SCR[400260b8]: 00012c4c
stm32_dmadump:   SNDTR[400260bc]: 00001000
stm32_dmadump:    SPAR[400260c0]: 40003c0c
stm32_dmadump:   SM0AR[400260c4]: 20012454
stm32_dmadump:   SM1AR[400260c8]: 00000000
stm32_dmadump:    SFCR[400260cc]: 00000027
stm32_dmadump: DMA Registers: TX: After DMA Start
stm32_dmadump:    LISR[40026000]: 00000000
stm32_dmadump:    HISR[40026004]: 00400000
stm32_dmadump:     SCR[400260b8]: 00012c4d
stm32_dmadump:   SNDTR[400260bc]: 00000fff
stm32_dmadump:    SPAR[400260c0]: 40003c0c
stm32_dmadump:   SM0AR[400260c4]: 20012454
stm32_dmadump:   SM1AR[400260c8]: 00000000
stm32_dmadump:    SFCR[400260cc]: 0000001f
stm32_dmadump: DMA Registers: TX: At DMA callback
stm32_dmadump:    LISR[40026000]: 00000000
stm32_dmadump:    HISR[40026004]: 00000000
stm32_dmadump:     SCR[400260b8]: 00012c4d
stm32_dmadump:   SNDTR[400260bc]: 00000800
stm32_dmadump:    SPAR[400260c0]: 40003c0c
stm32_dmadump:   SM0AR[400260c4]: 20012454
stm32_dmadump:   SM1AR[400260c8]: 00000000
stm32_dmadump:    SFCR[400260cc]: 0000002f
stm32_dmadump: DMA Registers: TX: At End-of-Transfer
stm32_dmadump:    LISR[40026000]: 00000000
stm32_dmadump:    HISR[40026004]: 00000000
stm32_dmadump:     SCR[400260b8]: 00012c4d
stm32_dmadump:   SNDTR[400260bc]: 0000077b
stm32_dmadump:    SPAR[400260c0]: 40003c0c
stm32_dmadump:   SM0AR[400260c4]: 20012454
stm32_dmadump:   SM1AR[400260c8]: 00000000
stm32_dmadump:    SFCR[400260cc]: 0000000f
i2s_dump_regs: I2S3: TX: At End-of-Transfer
i2s_dump_regs:     CR1:0000    CR2:0002     SR:0002      DR:ffbd
i2s_dump_regs:     I2SCFGR:0e00    I2SPR:021a
stm32_dmasetup: paddr: 40003c0c maddr: 20010424 ntransfers: 4096 scr: 00012c40
cs43l22_senddone: apb=0x20012428 inflight=2 result=17
cs43l22_workerthread: AUDIO_MSG_COMPLETE
cs43l22_returnbuffers: Returning: apb=0x20012428 curbyte=0 nbytes=8192 flags=0001
audio_callback: Entry
audio_dequeuebuffer: Entry
audio_ioctl: cmd: 4109 arg: 536896808
audio_ioctl: AUDIOIOC_ENQUEUEBUFFER
pcm_enqueuebuffer: Received buffer 0x20012428, streaming=1
pcm_enqueuebuffer: Received: apb=0x20012428 curbyte=0 nbytes=8192 flags=0000
pcm_enqueuebuffer: Pass to lower enqueuebuffer: apb=0x20012428 curbyte=0 nbytes=8192
cs43l22_enqueuebuffer: Enqueueing: apb=0x20012428 curbyte=0 nbytes=8192 flags=0000
cs43l22_workerthread: AUDIO_MSG_ENQUEUE
cs43l22_sendbuffer: Sending apb=0x20012428, size=8192 inflight=1
stm32_i2s_send: apb=0x20012428 nbytes=8192 arg=0x20004798 timeout=105
i2s_tx_worker: tx.act.head=0 tx.done.head=0x2000474c
i2s_txdma_sampledone: result: 17
stm32_dmadump: DMA Registers: TX: Initial Registers
stm32_dmadump:    LISR[40026000]: 00000000
stm32_dmadump:    HISR[40026004]: 08000000
stm32_dmadump:     SCR[400260b8]: 00012c4c
stm32_dmadump:   SNDTR[400260bc]: 00000000
stm32_dmadump:    SPAR[400260c0]: 40003c0c
stm32_dmadump:   SM0AR[400260c4]: 20012454
stm32_dmadump:   SM1AR[400260c8]: 00000000
stm32_dmadump:    SFCR[400260cc]: 00000027
stm32_dmadump: DMA Registers: TX: After DMA Setup
stm32_dmadump:    LISR[40026000]: 00000000
stm32_dmadump:    HISR[40026004]: 00000000
stm32_dmadump:     SCR[400260b8]: 00012c4c
stm32_dmadump:   SNDTR[400260bc]: 00001000
stm32_dmadump:    SPAR[400260c0]: 40003c0c
stm32_dmadump:   SM0AR[400260c4]: 20010424
stm32_dmadump:   SM1AR[400260c8]: 00000000
stm32_dmadump:    SFCR[400260cc]: 00000027
stm32_dmadump: DMA Registers: TX: After DMA Start
stm32_dmadump:    LISR[40026000]: 00000000
stm32_dmadump:    HISR[40026004]: 00400000
stm32_dmadump:     SCR[400260b8]: 00012c4d
stm32_dmadump:   SNDTR[400260bc]: 00000fff
stm32_dmadump:    SPAR[400260c0]: 40003c0c
stm32_dmadump:   SM0AR[400260c4]: 20010424
stm32_dmadump:   SM1AR[400260c8]: 00000000
stm32_dmadump:    SFCR[400260cc]: 0000001f
stm32_dmadump: DMA Registers: TX: At DMA callback
stm32_dmadump:    LISR[40026000]: 00000000
stm32_dmadump:    HISR[40026004]: 00000000
stm32_dmadump:     SCR[400260b8]: 00012c4d
stm32_dmadump:   SNDTR[400260bc]: 00000800
stm32_dmadump:    SPAR[400260c0]: 40003c0c
stm32_dmadump:   SM0AR[400260c4]: 20010424
stm32_dmadump:   SM1AR[400260c8]: 00000000
stm32_dmadump:    SFCR[400260cc]: 0000002f
stm32_dmadump: DMA Registers: TX: At End-of-Transfer
stm32_dmadump:    LISR[40026000]: 00000000
stm32_dmadump:    HISR[40026004]: 00000000
stm32_dmadump:     SCR[400260b8]: 00012c4d
stm32_dmadump:   SNDTR[400260bc]: 0000077b
stm32_dmadump:    SPAR[400260c0]: 40003c0c
stm32_dmadump:   SM0AR[400260c4]: 20010424
stm32_dmadump:   SM1AR[400260c8]: 00000000
stm32_dmadump:    SFCR[400260cc]: 0000000f
i2s_dump_regs: I2S3: TX: At End-of-Transfer
i2s_dump_regs:     CR1:0000    CR2:0002     SR:0002      DR:0000
i2s_dump_regs:     I2SCFGR:0e00    I2SPR:021a
stm32_dmasetup: paddr: 40003c0c maddr: 20012454 ntransfers: 4096 scr: 00012c40
cs43l22_senddone: apb=0x200103f8 inflight=2 result=17
cs43l22_workerthread: AUDIO_MSG_COMPLETE
cs43l22_returnbuffers: Returning: apb=0x200103f8 curbyte=0 nbytes=8192 flags=0001
audio_callback: Entry
audio_dequeuebuffer: Entry
nxplayer_fill_common: Closing audio file, nbytes=6334 errcode=25
audio_ioctl: cmd: 4109 arg: 536896808
audio_ioctl: AUDIOIOC_ENQUEUEBUFFER
pcm_enqueuebuffer: Received buffer 0x200103f8, streaming=1
pcm_enqueuebuffer: Received: apb=0x200103f8 curbyte=0 nbytes=6334 flags=0008
pcm_enqueuebuffer: Pass to lower enqueuebuffer: apb=0x200103f8 curbyte=0 nbytes=6334
cs43l22_enqueuebuffer: Enqueueing: apb=0x200103f8 curbyte=0 nbytes=6334 flags=0008
cs43l22_workerthread: AUDIO_MSG_ENQUEUE
cs43l22_sendbuffer: Sending apb=0x200103f8, size=6334 inflight=1
stm32_i2s_send: apb=0x200103f8 nbytes=6334 arg=0x20004798 timeout=81
i2s_tx_worker: tx.act.head=0 tx.done.head=0x2000477c
i2s_txdma_sampledone: result: 17
stm32_dmadump: DMA Registers: TX: Initial Registers
stm32_dmadump:    LISR[40026000]: 00000000
stm32_dmadump:    HISR[40026004]: 08000000
stm32_dmadump:     SCR[400260b8]: 00012c4c
stm32_dmadump:   SNDTR[400260bc]: 00000000
stm32_dmadump:    SPAR[400260c0]: 40003c0c
stm32_dmadump:   SM0AR[400260c4]: 20010424
stm32_dmadump:   SM1AR[400260c8]: 00000000
stm32_dmadump:    SFCR[400260cc]: 00000027
stm32_dmadump: DMA Registers: TX: After DMA Setup
stm32_dmadump:    LISR[40026000]: 00000000
stm32_dmadump:    HISR[40026004]: 00000000
stm32_dmadump:     SCR[400260b8]: 00012c4c
stm32_dmadump:   SNDTR[400260bc]: 00001000
stm32_dmadump:    SPAR[400260c0]: 40003c0c
stm32_dmadump:   SM0AR[400260c4]: 20012454
stm32_dmadump:   SM1AR[400260c8]: 00000000
stm32_dmadump:    SFCR[400260cc]: 00000027
stm32_dmadump: DMA Registers: TX: After DMA Start
stm32_dmadump:    LISR[40026000]: 00000000
stm32_dmadump:    HISR[40026004]: 00400000
stm32_dmadump:     SCR[400260b8]: 00012c4d
stm32_dmadump:   SNDTR[400260bc]: 00000fff
stm32_dmadump:    SPAR[400260c0]: 40003c0c
stm32_dmadump:   SM0AR[400260c4]: 20012454
stm32_dmadump:   SM1AR[400260c8]: 00000000
stm32_dmadump:    SFCR[400260cc]: 0000001f
stm32_dmadump: DMA Registers: TX: At DMA callback
stm32_dmadump:    LISR[40026000]: 00000000
stm32_dmadump:    HISR[40026004]: 00000000
stm32_dmadump:     SCR[400260b8]: 00012c4d
stm32_dmadump:   SNDTR[400260bc]: 00000800
stm32_dmadump:    SPAR[400260c0]: 40003c0c
stm32_dmadump:   SM0AR[400260c4]: 20012454
stm32_dmadump:   SM1AR[400260c8]: 00000000
stm32_dmadump:    SFCR[400260cc]: 0000002f
stm32_dmadump: DMA Registers: TX: At End-of-Transfer
stm32_dmadump:    LISR[40026000]: 00000000
stm32_dmadump:    HISR[40026004]: 00000000
stm32_dmadump:     SCR[400260b8]: 00012c4d
stm32_dmadump:   SNDTR[400260bc]: 0000077b
stm32_dmadump:    SPAR[400260c0]: 40003c0c
stm32_dmadump:   SM0AR[400260c4]: 20012454
stm32_dmadump:   SM1AR[400260c8]: 00000000
stm32_dmadump:    SFCR[400260cc]: 0000000f
i2s_dump_regs: I2S3: TX: At End-of-Transfer
i2s_dump_regs:     CR1:0000    CR2:0002     SR:0002      DR:0000
i2s_dump_regs:     I2SCFGR:0e00    I2SPR:021a
stm32_dmasetup: paddr: 40003c0c maddr: 20010424 ntransfers: 3167 scr: 00012c40
cs43l22_senddone: apb=0x20012428 inflight=2 result=17
cs43l22_workerthread: AUDIO_MSG_COMPLETE
cs43l22_returnbuffers: Returning: apb=0x20012428 curbyte=0 nbytes=8192 flags=0001
audio_callback: Entry
audio_dequeuebuffer: Entry
i2s_tx_worker: tx.act.head=0 tx.done.head=0x20004764
i2s_txdma_sampledone: result: 17
stm32_dmadump: DMA Registers: TX: Initial Registers
stm32_dmadump:    LISR[40026000]: 00000000
stm32_dmadump:    HISR[40026004]: 08000000
stm32_dmadump:     SCR[400260b8]: 00012c4c
stm32_dmadump:   SNDTR[400260bc]: 00000000
stm32_dmadump:    SPAR[400260c0]: 40003c0c
stm32_dmadump:   SM0AR[400260c4]: 20012454
stm32_dmadump:   SM1AR[400260c8]: 00000000
stm32_dmadump:    SFCR[400260cc]: 00000027
stm32_dmadump: DMA Registers: TX: After DMA Setup
stm32_dmadump:    LISR[40026000]: 00000000
stm32_dmadump:    HISR[40026004]: 00000000
stm32_dmadump:     SCR[400260b8]: 00012c4c
stm32_dmadump:   SNDTR[400260bc]: 00000c5f
stm32_dmadump:    SPAR[400260c0]: 40003c0c
stm32_dmadump:   SM0AR[400260c4]: 20010424
stm32_dmadump:   SM1AR[400260c8]: 00000000
stm32_dmadump:    SFCR[400260cc]: 00000027
stm32_dmadump: DMA Registers: TX: After DMA Start
stm32_dmadump:    LISR[40026000]: 00000000
stm32_dmadump:    HISR[40026004]: 00400000
stm32_dmadump:     SCR[400260b8]: 00012c4d
stm32_dmadump:   SNDTR[400260bc]: 00000c5e
stm32_dmadump:    SPAR[400260c0]: 40003c0c
stm32_dmadump:   SM0AR[400260c4]: 20010424
stm32_dmadump:   SM1AR[400260c8]: 00000000
stm32_dmadump:    SFCR[400260cc]: 0000001f
stm32_dmadump: DMA Registers: TX: At DMA callback
stm32_dmadump:    LISR[40026000]: 00000000
stm32_dmadump:    HISR[40026004]: 00000000
stm32_dmadump:     SCR[400260b8]: 00012c4d
stm32_dmadump:   SNDTR[400260bc]: 0000062f
stm32_dmadump:    SPAR[400260c0]: 40003c0c
stm32_dmadump:   SM0AR[400260c4]: 20010424
stm32_dmadump:   SM1AR[400260c8]: 00000000
stm32_dmadump:    SFCR[400260cc]: 0000002f
stm32_dmadump: DMA Registers: TX: At End-of-Transfer
stm32_dmadump:    LISR[40026000]: 00000000
stm32_dmadump:    HISR[40026004]: 00000000
stm32_dmadump:     SCR[400260b8]: 00012c4d
stm32_dmadump:   SNDTR[400260bc]: 000005aa
stm32_dmadump:    SPAR[400260c0]: 40003c0c
stm32_dmadump:   SM0AR[400260c4]: 20010424
stm32_dmadump:   SM1AR[400260c8]: 00000000
stm32_dmadump:    SFCR[400260cc]: 0000000f
i2s_dump_regs: I2S3: TX: At End-of-Transfer
i2s_dump_regs:     CR1:0000    CR2:0002     SR:0006      DR:0000
i2s_dump_regs:     I2SCFGR:0e00    I2SPR:021a
cs43l22_senddone: apb=0x200103f8 inflight=1 result=17
cs43l22_workerthread: AUDIO_MSG_COMPLETE
cs43l22_returnbuffers: Returning: apb=0x200103f8 curbyte=0 nbytes=6334 flags=0009
cs43l22_returnbuffers: Terminating
audio_callback: Entry
audio_dequeuebuffer: Entry
cs43l22_writereg: Write: 02 <- 01
cs43l22_writereg: Write: 04 <- af
cs43l22_writereg: Write: 05 <- 81
cs43l22_writereg: Write: 06 <- 04
cs43l22_writereg: Write: 02 <- 9e
cs43l22_writereg: Write: 0a <- 00
cs43l22_writereg: Write: 0e <- 04
cs43l22_writereg: Write: 27 <- 00
cs43l22_writereg: Write: 1f <- 0f
cs43l22_writereg: Write: 1a <- 0a
cs43l22_writereg: Write: 1b <- 0a
stm32_i2s_txdatawidth: Data width bits of tx = 16
cs43l22_setvolume: volume=250 mute=0
cs43l22_writereg: Write: 20 <- 13
cs43l22_writereg: Write: 21 <- 13
cs43l22_readreg: Read: 0f -> 00
cs43l22_writereg: Write: 0f <- 00
cs43l22_setbitrate: sample rate=11025 nchannels=1 bpsamp=16
audio_callback: Entry
audio_complete: Entry
cs43l22_workerthread: Exit
nxplayer_playthread: Play complete.  outstanding=0
nxplayer_playthread: Clean-up and exit
nxplayer_playthread: Freeing buffers
audio_ioctl: cmd: 4108 arg: 536896848
audio_ioctl: AUDIOIOC_FREEBUFFER
audio_ioctl: cmd: 4108 arg: 536896848
audio_ioctl: AUDIOIOC_FREEBUFFER
apb_free: Freeing 0x20012428
audio_ioctl: cmd: 4111 arg: 4
audio_ioctl: AUDIOIOC_UNREGISTERMQ
audio_ioctl: cmd: 4099 arg: 0
audio_ioctl: AUDIOIOC_RELEASE
pcm_release: Defer to lower release
audio_close: crefs: 1
audio_close: calling shutdown
pcm_shutdown: Defer to lower shutdown
cs43l22_writereg: Write: 02 <- 01
cs43l22_writereg: Write: 04 <- af
cs43l22_writereg: Write: 05 <- 81
cs43l22_writereg: Write: 06 <- 04
cs43l22_writereg: Write: 02 <- 9e
cs43l22_writereg: Write: 0a <- 00
cs43l22_writereg: Write: 0e <- 04
cs43l22_writereg: Write: 27 <- 00
cs43l22_writereg: Write: 1f <- 0f
cs43l22_writereg: Write: 1a <- 0a
cs43l22_writereg: Write: 1b <- 0a
stm32_i2s_txdatawidth: Data width bits of tx = 16
cs43l22_setvolume: volume=250 mute=0
cs43l22_writereg: Write: 20 <- 13
cs43l22_writereg: Write: 21 <- 13
cs43l22_readreg: Read: 0f -> 00
cs43l22_writereg: Write: 0f <- 00
cs43l22_setbitrate: sample rate=11025 nchannels=1 bpsamp=16
nxplayer_playthread: Exit
apb_free: Freeing 0x200103f8
q
nsh>