void ipu_dump() { ipu_dump_registers(); printk(KERN_INFO "IPU_INT_STAT_1 = \t0x%08X\n", __raw_readl(IPU_STAT)); printk(KERN_INFO "IPU_INT_CTRL_1 = \t0x%08X\n", __raw_readl(IPU_INT_CTRL(1))); printk(KERN_INFO "IPU_INT_CTRL_2 = \t0x%08X\n", __raw_readl(IPU_INT_CTRL(2))); printk(KERN_INFO "IPU_INT_CTRL_3 = \t0x%08X\n", __raw_readl(IPU_INT_CTRL(3))); printk(KERN_INFO "IPU_INT_CTRL_4 = \t0x%08X\n", __raw_readl(IPU_INT_CTRL(4))); printk(KERN_INFO "IPU_INT_CTRL_5 = \t0x%08X\n", __raw_readl(IPU_INT_CTRL(5))); printk(KERN_INFO "IPU_INT_CTRL_6 = \t0x%08X\n", __raw_readl(IPU_INT_CTRL(6))); printk(KERN_INFO "IPU_INT_CTRL_7 = \t0x%08X\n", __raw_readl(IPU_INT_CTRL(7))); printk(KERN_INFO "IPU_INT_CTRL_8 = \t0x%08X\n", __raw_readl(IPU_INT_CTRL(8))); printk(KERN_INFO "IPU_INT_CTRL_9 = \t0x%08X\n", __raw_readl(IPU_INT_CTRL(9))); printk(KERN_INFO "IPU_INT_CTRL_10 = \t0x%08X\n", __raw_readl(IPU_INT_CTRL(10))); printk(KERN_INFO "IPU_INT_CTRL_11 = \t0x%08X\n", __raw_readl(IPU_INT_CTRL(11))); printk(KERN_INFO "IPU_INT_CTRL_12 = \t0x%08X\n", __raw_readl(IPU_INT_CTRL(12))); printk(KERN_INFO "IPU_INT_CTRL_13 = \t0x%08X\n", __raw_readl(IPU_INT_CTRL(13))); printk(KERN_INFO "IPU_INT_CTRL_14 = \t0x%08X\n", __raw_readl(IPU_INT_CTRL(14))); printk(KERN_INFO "IPU_INT_CTRL_15 = \t0x%08X\n", __raw_readl(IPU_INT_CTRL(15))); printk(KERN_INFO "IPU_INT_STAT_1 = \t0x%08X\n", __raw_readl(IPU_INT_STAT(1))); printk(KERN_INFO "IPU_INT_STAT_2 = \t0x%08X\n", __raw_readl(IPU_INT_STAT(2))); printk(KERN_INFO "IPU_INT_STAT_3 = \t0x%08X\n", __raw_readl(IPU_INT_STAT(3))); printk(KERN_INFO "IPU_INT_STAT_4 = \t0x%08X\n", __raw_readl(IPU_INT_STAT(4))); printk(KERN_INFO "IPU_INT_STAT_5 = \t0x%08X\n", __raw_readl(IPU_INT_STAT(5))); printk(KERN_INFO "IPU_INT_STAT_6 = \t0x%08X\n", __raw_readl(IPU_INT_STAT(6))); printk(KERN_INFO "IPU_INT_STAT_7 = \t0x%08X\n", __raw_readl(IPU_INT_STAT(7))); printk(KERN_INFO "IPU_INT_STAT_8 = \t0x%08X\n", __raw_readl(IPU_INT_STAT(8))); printk(KERN_INFO "IPU_INT_STAT_9 = \t0x%08X\n", __raw_readl(IPU_INT_STAT(9))); printk(KERN_INFO "IPU_INT_STAT_10 = \t0x%08X\n", __raw_readl(IPU_INT_STAT(10))); printk(KERN_INFO "IPU_INT_STAT_11 = \t0x%08X\n", __raw_readl(IPU_INT_STAT(11))); printk(KERN_INFO "IPU_INT_STAT_12 = \t0x%08X\n", __raw_readl(IPU_INT_STAT(12))); printk(KERN_INFO "IPU_INT_STAT_13 = \t0x%08X\n", __raw_readl(IPU_INT_STAT(13))); printk(KERN_INFO "IPU_INT_STAT_14 = \t0x%08X\n", __raw_readl(IPU_INT_STAT(14))); printk(KERN_INFO "IPU_INT_STAT_15 = \t0x%08X\n", __raw_readl(IPU_INT_STAT(15))); printk(KERN_INFO "IPU_CHA_BUF0_RDY(27) = \t0x%08X\n", __raw_readl(IPU_CHA_BUF0_RDY(27))); printk(KERN_INFO "IPU_CHA_BUF0_RDY(23) = \t0x%08X\n", __raw_readl(IPU_CHA_BUF0_RDY(23))); printk(KERN_INFO "IPU_CHA_CUR_BUF(27) = \t0x%08X\n", __raw_readl(IPU_CHA_CUR_BUF(27))); printk(KERN_INFO "IDMAC_CH_BUSY1(27) = \t0x%08X\n", __raw_readl(IDMAC_CH_BUSY1)); ipu_ch_param_dump(23); ipu_ch_param_dump(27); ipu_ch_param_dump(15); ipu_ch_param_dump(20); ipu_ch_param_dump(0); }
/* * This function clear buffer ready for a logical channel. * * @param channel Input parameter for the logical channel ID. * * @param type Input parameter which buffer to clear. * * @param bufNum Input parameter for which buffer number clear * ready state. * */ void ipu_clear_buffer_ready(ipu_channel_t channel, ipu_buffer_t type, uint32_t bufNum) { uint32_t dma_ch = channel_2_dma(channel, type); if (!idma_is_valid(dma_ch)) return; __raw_writel(0xF0000000, IPU_GPR); /* write one to clear */ if (bufNum == 0) { if (idma_is_set(IPU_CHA_BUF0_RDY, dma_ch)) { __raw_writel(idma_mask(dma_ch), IPU_CHA_BUF0_RDY(dma_ch)); } } else { if (idma_is_set(IPU_CHA_BUF1_RDY, dma_ch)) { __raw_writel(idma_mask(dma_ch), IPU_CHA_BUF1_RDY(dma_ch)); } } __raw_writel(0x0, IPU_GPR); /* write one to set */ }