I have a question about Linux Alsa. Inquiry about DMA buffer

Currently developing ALSA.

I faced one problem. I am not sure how many days I studied, so I ask for help. This is a question about data received from the driver when snd_pcm_writei is executed in the API. Currently, when we specify the start addr of the buffer held at 100K due to the soc structure of our i2s, it is tx or rx in codec by 1024 bytes as much as the held size. Data received from API is finally accumulated at runtime->dma_addr. The size is 8000Hz setting, so it seems to have 8000Byte data. The problem here is that only 0~8000Byte, which is the front part of 100K, which has been updated, is being updated, so the voice is coming out in the form of 0XXXXXX (0 comes out of voice, X has no voice), so I don't know how to solve it.

I think I've told you so much, I hope you can help me.