Lines Matching refs:_dmac_host
28 static struct dmac_host _dmac_host; variable
32 rt_sem_init(&_dmac_host.sem, "dma_sem", DMAC_CHANNEL_COUNT, RT_IPC_FLAG_FIFO); in dmalock_init()
33 rt_mutex_init(&_dmac_host.mutex, "dma_mutex", RT_IPC_FLAG_PRIO); in dmalock_init()
36 _dmac_host.channel_used[i] = 0; in dmalock_init()
37 _dmac_host.channel_name[i] = NULL; in dmalock_init()
46 result = rt_sem_take(&_dmac_host.sem, timeout_ms); in _dmalock_sync_take()
49 rt_mutex_take(&_dmac_host.mutex, RT_WAITING_FOREVER); in _dmalock_sync_take()
52 if (_dmac_host.channel_used[i] == 0) in _dmalock_sync_take()
54 _dmac_host.channel_used[i] = 1; in _dmalock_sync_take()
55 _dmac_host.channel_name[i] = name; in _dmalock_sync_take()
60 rt_mutex_release(&_dmac_host.mutex); in _dmalock_sync_take()
69 _dmac_host.channel_name[chn] = NULL; in dmalock_release()
70 _dmac_host.channel_used[chn] = 0; in dmalock_release()
71 rt_sem_release(&_dmac_host.sem); in dmalock_release()
80 if (_dmac_host.channel_used[i] != 0) in dma_ch_info()
82 rt_kprintf("dma_ch%d is using by func [%s]\n", i, _dmac_host.channel_name[i]); in dma_ch_info()