Platform: Rockchip
OS: Android 6.0
Kernel: 3.10.92
关于period_size的概念,之前有提过了,表示DMA一次传输的数据量:
http://blog.csdn.net/kris_fei/article/details/72780656
用户空间对period_size的设置:
dma
OS: Android 6.0
Kernel: 3.10.92
关于period_size的概念,之前有提过了,表示DMA一次传输的数据量:
http://blog.csdn.net/kris_fei/article/details/72780656
用户空间对period_size的设置:
struct pcm_config pcm_config_in = {
.channels = 2,
.rate = 44100,
.period_size = 128,
.period_count = 4,
.format = PCM_FORMAT_S16_LE,
};
传到Kernel:
struct pcm *pcm_open(unsigned int card, unsigned int device,
unsigned int flags, struct pcm_config *config)
{
......
//作为最小值
param_set_min(¶ms, SNDRV_PCM_HW_PARAM_PERIOD_SIZE, config->period_size);
......
//
ioctl(pcm->fd, SNDRV_PCM_IOCTL_HW_PARAMS, ¶ms)
......
}
dma