static int pl08x_dma_busy(dmach_t ci)
{
unsigned int reg;
unsigned int chan_base = (unsigned int)pd.base
+ PL08X_OS_CHAN_BASE;
chan_base += ci * PL08X_OS_CHAN;
/*
* Check channel is inactive
*/
reg = readl(chan_base + PL08X_OS_CCFG);
return reg & PL08X_MASK_ACTIVE;
}
| 检测对应的位,得到是否是active的状态,对应着是否是busy |