Lines Matching refs:ipu_data
39 static struct ipu ipu_data;
131 /* Called under spin_lock_irqsave(&ipu_data.lock) */
414 dev_err(ipu_data.dev,
439 dev_dbg(ipu_data.dev,
442 idmac_write_ipureg(&ipu_data, addr, IPU_IMA_ADDR);
443 idmac_write_ipureg(&ipu_data, *data++, IPU_IMA_DATA);
482 dev_err(ipu_data.dev, "Warning! Overflow on resize coeff.\n");
486 dev_dbg(ipu_data.dev, "resizing from %u -> %u pixels, "
715 idmac_write_ipureg(&ipu_data, 1UL << channel, IPU_CHA_BUF0_RDY);
718 idmac_write_ipureg(&ipu_data, 1UL << channel, IPU_CHA_BUF1_RDY);
736 spin_lock_irqsave(&ipu_data.lock, flags);
739 reg = idmac_read_ipureg(&ipu_data, IPU_CHA_BUF0_RDY);
741 ipu_ic_disable_task(&ipu_data, channel);
746 idmac_write_ipureg(&ipu_data, dma_param_addr(channel) +
748 idmac_write_ipureg(&ipu_data, phyaddr, IPU_IMA_DATA);
750 reg = idmac_read_ipureg(&ipu_data, IPU_CHA_BUF1_RDY);
752 ipu_ic_disable_task(&ipu_data, channel);
757 reg = idmac_read_ipureg(&ipu_data, IPU_CHA_DB_MODE_SEL);
760 idmac_write_ipureg(&ipu_data, reg | (1UL << channel),
764 idmac_write_ipureg(&ipu_data, dma_param_addr(channel) +
766 idmac_write_ipureg(&ipu_data, phyaddr, IPU_IMA_DATA);
769 spin_unlock_irqrestore(&ipu_data.lock, flags);
1170 spin_lock_irqsave(&ipu_data.lock, flags);
1172 ready0 = idmac_read_ipureg(&ipu_data, IPU_CHA_BUF0_RDY);
1173 ready1 = idmac_read_ipureg(&ipu_data, IPU_CHA_BUF1_RDY);
1174 curbuf = idmac_read_ipureg(&ipu_data, IPU_CHA_CUR_BUF);
1175 err = idmac_read_ipureg(&ipu_data, IPU_INT_STAT_4);
1178 idmac_write_ipureg(&ipu_data, 1 << chan_id, IPU_INT_STAT_4);
1179 spin_unlock_irqrestore(&ipu_data.lock, flags);
1191 spin_unlock_irqrestore(&ipu_data.lock, flags);
1254 spin_lock_irqsave(&ipu_data.lock, flags);
1255 ipu_ic_disable_task(&ipu_data, chan_id);
1256 spin_unlock_irqrestore(&ipu_data.lock, flags);
1675 spin_lock_init(&ipu_data.lock);
1682 ipu_data.dev = &pdev->dev;
1684 platform_set_drvdata(pdev, &ipu_data);
1690 ipu_data.irq_fn = ret;
1695 ipu_data.irq_err = ret;
1698 ipu_data.irq_fn, ipu_data.irq_err);
1701 ipu_data.reg_ipu = ioremap(mem_ipu->start, resource_size(mem_ipu));
1702 if (!ipu_data.reg_ipu) {
1708 ipu_data.reg_ic = ioremap(mem_ic->start, resource_size(mem_ic));
1709 if (!ipu_data.reg_ic) {
1715 ipu_data.ipu_clk = clk_get(&pdev->dev, NULL);
1716 if (IS_ERR(ipu_data.ipu_clk)) {
1717 ret = PTR_ERR(ipu_data.ipu_clk);
1722 clk_prepare_enable(ipu_data.ipu_clk);
1725 idmac_write_ipureg(&ipu_data, 0, IPU_INT_CTRL_1);
1726 idmac_write_ipureg(&ipu_data, 0, IPU_INT_CTRL_2);
1727 idmac_write_ipureg(&ipu_data, 0, IPU_INT_CTRL_3);
1728 idmac_write_ipureg(&ipu_data, 0, IPU_INT_CTRL_4);
1729 idmac_write_ipureg(&ipu_data, 0, IPU_INT_CTRL_5);
1732 (unsigned long)mem_ipu->start, ipu_data.irq_fn, ipu_data.irq_err);
1734 ret = ipu_irq_attach_irq(&ipu_data, pdev);
1739 ret = ipu_idmac_init(&ipu_data);
1743 tasklet_setup(&ipu_data.tasklet, ipu_gc_tasklet);
1745 ipu_data.dev = &pdev->dev;
1747 dev_dbg(ipu_data.dev, "IPU initialized\n");
1753 ipu_irq_detach_irq(&ipu_data, pdev);
1754 clk_disable_unprepare(ipu_data.ipu_clk);
1755 clk_put(ipu_data.ipu_clk);
1757 iounmap(ipu_data.reg_ic);
1759 iounmap(ipu_data.reg_ipu);