Lines Matching refs:pcdev
329 static int pxa_init_dma_channel(struct pxa_camera_dev *pcdev, in pxa_init_dma_channel() argument
336 struct device *dev = pcdev->soc_host.v4l2_dev.dev; in pxa_init_dma_channel()
369 pxa_dma->sg_cpu[i].dsadr = pcdev->res->start + cibr; in pxa_init_dma_channel()
410 static void pxa_videobuf_set_actdma(struct pxa_camera_dev *pcdev, in pxa_videobuf_set_actdma() argument
414 if (pcdev->channels == 3) in pxa_videobuf_set_actdma()
429 struct pxa_camera_dev *pcdev = ici->priv; in pxa_videobuf_prepare() local
430 struct device *dev = pcdev->soc_host.v4l2_dev.dev; in pxa_videobuf_prepare()
484 if (pcdev->channels == 3) { in pxa_videobuf_prepare()
494 ret = pxa_init_dma_channel(pcdev, buf, dma, 0, CIBR0, size_y, in pxa_videobuf_prepare()
503 ret = pxa_init_dma_channel(pcdev, buf, dma, 1, CIBR1, in pxa_videobuf_prepare()
512 ret = pxa_init_dma_channel(pcdev, buf, dma, 2, CIBR2, in pxa_videobuf_prepare()
523 pxa_videobuf_set_actdma(pcdev, buf); in pxa_videobuf_prepare()
547 static void pxa_dma_start_channels(struct pxa_camera_dev *pcdev) in pxa_dma_start_channels() argument
552 active = pcdev->active; in pxa_dma_start_channels()
554 for (i = 0; i < pcdev->channels; i++) { in pxa_dma_start_channels()
555 dev_dbg(pcdev->soc_host.v4l2_dev.dev, in pxa_dma_start_channels()
558 DDADR(pcdev->dma_chans[i]) = active->dmas[i].sg_dma; in pxa_dma_start_channels()
559 DCSR(pcdev->dma_chans[i]) = DCSR_RUN; in pxa_dma_start_channels()
563 static void pxa_dma_stop_channels(struct pxa_camera_dev *pcdev) in pxa_dma_stop_channels() argument
567 for (i = 0; i < pcdev->channels; i++) { in pxa_dma_stop_channels()
568 dev_dbg(pcdev->soc_host.v4l2_dev.dev, in pxa_dma_stop_channels()
570 DCSR(pcdev->dma_chans[i]) = 0; in pxa_dma_stop_channels()
574 static void pxa_dma_add_tail_buf(struct pxa_camera_dev *pcdev, in pxa_dma_add_tail_buf() argument
580 for (i = 0; i < pcdev->channels; i++) { in pxa_dma_add_tail_buf()
584 if (pcdev->sg_tail[i]) in pxa_dma_add_tail_buf()
586 pcdev->sg_tail[i]->ddadr = buf->dmas[i].sg_dma; in pxa_dma_add_tail_buf()
589 pcdev->sg_tail[i] = buf_last_desc; in pxa_dma_add_tail_buf()
601 static void pxa_camera_start_capture(struct pxa_camera_dev *pcdev) in pxa_camera_start_capture() argument
605 dev_dbg(pcdev->soc_host.v4l2_dev.dev, "%s\n", __func__); in pxa_camera_start_capture()
607 cicr0 = __raw_readl(pcdev->base + CICR0) | CICR0_ENB; in pxa_camera_start_capture()
609 __raw_writel(cicr0, pcdev->base + CICR0); in pxa_camera_start_capture()
612 static void pxa_camera_stop_capture(struct pxa_camera_dev *pcdev) in pxa_camera_stop_capture() argument
616 pxa_dma_stop_channels(pcdev); in pxa_camera_stop_capture()
618 cicr0 = __raw_readl(pcdev->base + CICR0) & ~CICR0_ENB; in pxa_camera_stop_capture()
619 __raw_writel(cicr0, pcdev->base + CICR0); in pxa_camera_stop_capture()
621 pcdev->active = NULL; in pxa_camera_stop_capture()
622 dev_dbg(pcdev->soc_host.v4l2_dev.dev, "%s\n", __func__); in pxa_camera_stop_capture()
631 struct pxa_camera_dev *pcdev = ici->priv; in pxa_videobuf_queue() local
635 __func__, vb, vb->baddr, vb->bsize, pcdev->active); in pxa_videobuf_queue()
637 list_add_tail(&vb->queue, &pcdev->capture); in pxa_videobuf_queue()
640 pxa_dma_add_tail_buf(pcdev, buf); in pxa_videobuf_queue()
642 if (!pcdev->active) in pxa_videobuf_queue()
643 pxa_camera_start_capture(pcdev); in pxa_videobuf_queue()
676 static void pxa_camera_wakeup(struct pxa_camera_dev *pcdev, in pxa_camera_wakeup() argument
688 dev_dbg(pcdev->soc_host.v4l2_dev.dev, "%s dequeud buffer (vb=0x%p)\n", in pxa_camera_wakeup()
691 if (list_empty(&pcdev->capture)) { in pxa_camera_wakeup()
692 pxa_camera_stop_capture(pcdev); in pxa_camera_wakeup()
693 for (i = 0; i < pcdev->channels; i++) in pxa_camera_wakeup()
694 pcdev->sg_tail[i] = NULL; in pxa_camera_wakeup()
698 pcdev->active = list_entry(pcdev->capture.next, in pxa_camera_wakeup()
718 static void pxa_camera_check_link_miss(struct pxa_camera_dev *pcdev) in pxa_camera_check_link_miss() argument
722 for (i = 0; i < pcdev->channels; i++) in pxa_camera_check_link_miss()
723 if (DDADR(pcdev->dma_chans[i]) != DDADR_STOP) in pxa_camera_check_link_miss()
725 dev_dbg(pcdev->soc_host.v4l2_dev.dev, in pxa_camera_check_link_miss()
727 __func__, pcdev->active, is_dma_stopped); in pxa_camera_check_link_miss()
728 if (pcdev->active && is_dma_stopped) in pxa_camera_check_link_miss()
729 pxa_camera_start_capture(pcdev); in pxa_camera_check_link_miss()
732 static void pxa_camera_dma_irq(int channel, struct pxa_camera_dev *pcdev, in pxa_camera_dma_irq() argument
735 struct device *dev = pcdev->soc_host.v4l2_dev.dev; in pxa_camera_dma_irq()
741 spin_lock_irqsave(&pcdev->lock, flags); in pxa_camera_dma_irq()
746 camera_status = __raw_readl(pcdev->base + CISR); in pxa_camera_dma_irq()
748 if (pcdev->channels == 3) in pxa_camera_dma_irq()
774 if (!pcdev->active) in pxa_camera_dma_irq()
777 vb = &pcdev->active->vb; in pxa_camera_dma_irq()
791 !list_is_last(pcdev->capture.next, &pcdev->capture)) { in pxa_camera_dma_irq()
794 pxa_camera_stop_capture(pcdev); in pxa_camera_dma_irq()
795 pxa_camera_start_capture(pcdev); in pxa_camera_dma_irq()
800 pxa_camera_wakeup(pcdev, vb, buf); in pxa_camera_dma_irq()
801 pxa_camera_check_link_miss(pcdev); in pxa_camera_dma_irq()
806 spin_unlock_irqrestore(&pcdev->lock, flags); in pxa_camera_dma_irq()
811 struct pxa_camera_dev *pcdev = data; in pxa_camera_dma_irq_y() local
812 pxa_camera_dma_irq(channel, pcdev, DMA_Y); in pxa_camera_dma_irq_y()
817 struct pxa_camera_dev *pcdev = data; in pxa_camera_dma_irq_u() local
818 pxa_camera_dma_irq(channel, pcdev, DMA_U); in pxa_camera_dma_irq_u()
823 struct pxa_camera_dev *pcdev = data; in pxa_camera_dma_irq_v() local
824 pxa_camera_dma_irq(channel, pcdev, DMA_V); in pxa_camera_dma_irq_v()
838 struct pxa_camera_dev *pcdev = ici->priv; in pxa_camera_init_videobuf() local
844 videobuf_queue_sg_init(q, &pxa_videobuf_ops, NULL, &pcdev->lock, in pxa_camera_init_videobuf()
850 struct pxa_camera_dev *pcdev) in mclk_get_divisor() argument
852 unsigned long mclk = pcdev->mclk; in mclk_get_divisor()
857 lcdclk = clk_get_rate(pcdev->clk); in mclk_get_divisor()
858 pcdev->ciclk = lcdclk; in mclk_get_divisor()
870 if (pcdev->platform_flags & PXA_CAMERA_MCLK_EN) in mclk_get_divisor()
871 pcdev->mclk = lcdclk / (2 * (div + 1)); in mclk_get_divisor()
879 static void recalculate_fifo_timeout(struct pxa_camera_dev *pcdev, in recalculate_fifo_timeout() argument
883 u32 ciclk_per_pixel = pcdev->ciclk / pclk + 1; in recalculate_fifo_timeout()
885 __raw_writel(ciclk_per_pixel, pcdev->base + CITOR); in recalculate_fifo_timeout()
888 static void pxa_camera_activate(struct pxa_camera_dev *pcdev) in pxa_camera_activate() argument
893 __raw_writel(0x3ff, pcdev->base + CICR0); in pxa_camera_activate()
895 if (pcdev->platform_flags & PXA_CAMERA_PCLK_EN) in pxa_camera_activate()
897 if (pcdev->platform_flags & PXA_CAMERA_MCLK_EN) in pxa_camera_activate()
899 if (pcdev->platform_flags & PXA_CAMERA_PCP) in pxa_camera_activate()
901 if (pcdev->platform_flags & PXA_CAMERA_HSP) in pxa_camera_activate()
903 if (pcdev->platform_flags & PXA_CAMERA_VSP) in pxa_camera_activate()
906 __raw_writel(pcdev->mclk_divisor | cicr4, pcdev->base + CICR4); in pxa_camera_activate()
908 if (pcdev->platform_flags & PXA_CAMERA_MCLK_EN) in pxa_camera_activate()
910 recalculate_fifo_timeout(pcdev, pcdev->mclk); in pxa_camera_activate()
913 recalculate_fifo_timeout(pcdev, 13000000); in pxa_camera_activate()
915 clk_prepare_enable(pcdev->clk); in pxa_camera_activate()
918 static void pxa_camera_deactivate(struct pxa_camera_dev *pcdev) in pxa_camera_deactivate() argument
920 clk_disable_unprepare(pcdev->clk); in pxa_camera_deactivate()
925 struct pxa_camera_dev *pcdev = data; in pxa_camera_irq() local
930 status = __raw_readl(pcdev->base + CISR); in pxa_camera_irq()
931 dev_dbg(pcdev->soc_host.v4l2_dev.dev, in pxa_camera_irq()
937 __raw_writel(status, pcdev->base + CISR); in pxa_camera_irq()
941 cifr = __raw_readl(pcdev->base + CIFR) | CIFR_RESET_F; in pxa_camera_irq()
942 __raw_writel(cifr, pcdev->base + CIFR); in pxa_camera_irq()
944 pcdev->active = list_first_entry(&pcdev->capture, in pxa_camera_irq()
946 vb = &pcdev->active->vb; in pxa_camera_irq()
948 pxa_videobuf_set_actdma(pcdev, buf); in pxa_camera_irq()
950 pxa_dma_start_channels(pcdev); in pxa_camera_irq()
952 cicr0 = __raw_readl(pcdev->base + CICR0) | CICR0_EOFM; in pxa_camera_irq()
953 __raw_writel(cicr0, pcdev->base + CICR0); in pxa_camera_irq()
980 struct pxa_camera_dev *pcdev = ici->priv; in pxa_camera_clock_start() local
982 pxa_camera_activate(pcdev); in pxa_camera_clock_start()
990 struct pxa_camera_dev *pcdev = ici->priv; in pxa_camera_clock_stop() local
993 __raw_writel(0x3ff, pcdev->base + CICR0); in pxa_camera_clock_stop()
996 DCSR(pcdev->dma_chans[0]) = 0; in pxa_camera_clock_stop()
997 DCSR(pcdev->dma_chans[1]) = 0; in pxa_camera_clock_stop()
998 DCSR(pcdev->dma_chans[2]) = 0; in pxa_camera_clock_stop()
1000 pxa_camera_deactivate(pcdev); in pxa_camera_clock_stop()
1003 static int test_platform_param(struct pxa_camera_dev *pcdev, in test_platform_param() argument
1011 *flags = (pcdev->platform_flags & PXA_CAMERA_MASTER ? in test_platform_param()
1022 if ((1 << (buswidth - 1)) & pcdev->width_flags) in test_platform_param()
1032 struct pxa_camera_dev *pcdev = ici->priv; in pxa_camera_setup_cicr() local
1064 if (pcdev->platform_flags & PXA_CAMERA_PCLK_EN) in pxa_camera_setup_cicr()
1066 if (pcdev->platform_flags & PXA_CAMERA_MCLK_EN) in pxa_camera_setup_cicr()
1075 cicr0 = __raw_readl(pcdev->base + CICR0); in pxa_camera_setup_cicr()
1077 __raw_writel(cicr0 & ~CICR0_ENB, pcdev->base + CICR0); in pxa_camera_setup_cicr()
1083 pcdev->channels = 3; in pxa_camera_setup_cicr()
1110 cicr4 |= pcdev->mclk_divisor; in pxa_camera_setup_cicr()
1112 __raw_writel(cicr1, pcdev->base + CICR1); in pxa_camera_setup_cicr()
1113 __raw_writel(cicr2, pcdev->base + CICR2); in pxa_camera_setup_cicr()
1114 __raw_writel(cicr3, pcdev->base + CICR3); in pxa_camera_setup_cicr()
1115 __raw_writel(cicr4, pcdev->base + CICR4); in pxa_camera_setup_cicr()
1118 cicr0 = (cicr0 & CICR0_ENB) | (pcdev->platform_flags & PXA_CAMERA_MASTER ? in pxa_camera_setup_cicr()
1121 __raw_writel(cicr0, pcdev->base + CICR0); in pxa_camera_setup_cicr()
1128 struct pxa_camera_dev *pcdev = ici->priv; in pxa_camera_set_bus_param() local
1135 ret = test_platform_param(pcdev, icd->current_fmt->host_fmt->bits_per_sample, in pxa_camera_set_bus_param()
1156 pcdev->channels = 1; in pxa_camera_set_bus_param()
1161 if (pcdev->platform_flags & PXA_CAMERA_HSP) in pxa_camera_set_bus_param()
1169 if (pcdev->platform_flags & PXA_CAMERA_VSP) in pxa_camera_set_bus_param()
1177 if (pcdev->platform_flags & PXA_CAMERA_PCP) in pxa_camera_set_bus_param()
1203 struct pxa_camera_dev *pcdev = ici->priv; in pxa_camera_try_bus_param() local
1206 int ret = test_platform_param(pcdev, buswidth, &bus_flags); in pxa_camera_try_bus_param()
1346 struct pxa_camera_dev *pcdev = ici->priv; in pxa_camera_set_crop() local
1349 .master_clock = pcdev->mclk, in pxa_camera_set_crop()
1350 .pixel_clock_max = pcdev->ciclk / 4, in pxa_camera_set_crop()
1361 if (pcdev->platform_flags & PXA_CAMERA_PCLK_EN) in pxa_camera_set_crop()
1404 recalculate_fifo_timeout(pcdev, sense.pixel_clock); in pxa_camera_set_crop()
1420 struct pxa_camera_dev *pcdev = ici->priv; in pxa_camera_set_fmt() local
1424 .master_clock = pcdev->mclk, in pxa_camera_set_fmt()
1425 .pixel_clock_max = pcdev->ciclk / 4, in pxa_camera_set_fmt()
1441 if (pcdev->platform_flags & PXA_CAMERA_PCLK_EN) in pxa_camera_set_fmt()
1473 recalculate_fifo_timeout(pcdev, sense.pixel_clock); in pxa_camera_set_fmt()
1601 struct pxa_camera_dev *pcdev = ici->priv; in pxa_camera_suspend() local
1604 pcdev->save_cicr[i++] = __raw_readl(pcdev->base + CICR0); in pxa_camera_suspend()
1605 pcdev->save_cicr[i++] = __raw_readl(pcdev->base + CICR1); in pxa_camera_suspend()
1606 pcdev->save_cicr[i++] = __raw_readl(pcdev->base + CICR2); in pxa_camera_suspend()
1607 pcdev->save_cicr[i++] = __raw_readl(pcdev->base + CICR3); in pxa_camera_suspend()
1608 pcdev->save_cicr[i++] = __raw_readl(pcdev->base + CICR4); in pxa_camera_suspend()
1610 if (pcdev->soc_host.icd) { in pxa_camera_suspend()
1611 struct v4l2_subdev *sd = soc_camera_to_subdev(pcdev->soc_host.icd); in pxa_camera_suspend()
1623 struct pxa_camera_dev *pcdev = ici->priv; in pxa_camera_resume() local
1626 DRCMR(68) = pcdev->dma_chans[0] | DRCMR_MAPVLD; in pxa_camera_resume()
1627 DRCMR(69) = pcdev->dma_chans[1] | DRCMR_MAPVLD; in pxa_camera_resume()
1628 DRCMR(70) = pcdev->dma_chans[2] | DRCMR_MAPVLD; in pxa_camera_resume()
1630 __raw_writel(pcdev->save_cicr[i++] & ~CICR0_ENB, pcdev->base + CICR0); in pxa_camera_resume()
1631 __raw_writel(pcdev->save_cicr[i++], pcdev->base + CICR1); in pxa_camera_resume()
1632 __raw_writel(pcdev->save_cicr[i++], pcdev->base + CICR2); in pxa_camera_resume()
1633 __raw_writel(pcdev->save_cicr[i++], pcdev->base + CICR3); in pxa_camera_resume()
1634 __raw_writel(pcdev->save_cicr[i++], pcdev->base + CICR4); in pxa_camera_resume()
1636 if (pcdev->soc_host.icd) { in pxa_camera_resume()
1637 struct v4l2_subdev *sd = soc_camera_to_subdev(pcdev->soc_host.icd); in pxa_camera_resume()
1644 if (!ret && pcdev->active) in pxa_camera_resume()
1645 pxa_camera_start_capture(pcdev); in pxa_camera_resume()
1669 struct pxa_camera_dev *pcdev) in pxa_camera_pdata_from_dt() argument
1677 pcdev->platform_flags |= PXA_CAMERA_MCLK_EN; in pxa_camera_pdata_from_dt()
1678 pcdev->mclk = mclk_rate; in pxa_camera_pdata_from_dt()
1695 pcdev->platform_flags |= PXA_CAMERA_DATAWIDTH_4; in pxa_camera_pdata_from_dt()
1698 pcdev->platform_flags |= PXA_CAMERA_DATAWIDTH_5; in pxa_camera_pdata_from_dt()
1701 pcdev->platform_flags |= PXA_CAMERA_DATAWIDTH_8; in pxa_camera_pdata_from_dt()
1704 pcdev->platform_flags |= PXA_CAMERA_DATAWIDTH_9; in pxa_camera_pdata_from_dt()
1707 pcdev->platform_flags |= PXA_CAMERA_DATAWIDTH_10; in pxa_camera_pdata_from_dt()
1714 pcdev->platform_flags |= PXA_CAMERA_MASTER; in pxa_camera_pdata_from_dt()
1716 pcdev->platform_flags |= PXA_CAMERA_HSP; in pxa_camera_pdata_from_dt()
1718 pcdev->platform_flags |= PXA_CAMERA_VSP; in pxa_camera_pdata_from_dt()
1720 pcdev->platform_flags |= PXA_CAMERA_PCLK_EN | PXA_CAMERA_PCP; in pxa_camera_pdata_from_dt()
1722 pcdev->platform_flags |= PXA_CAMERA_PCLK_EN; in pxa_camera_pdata_from_dt()
1732 struct pxa_camera_dev *pcdev; in pxa_camera_probe() local
1743 pcdev = devm_kzalloc(&pdev->dev, sizeof(*pcdev), GFP_KERNEL); in pxa_camera_probe()
1744 if (!pcdev) { in pxa_camera_probe()
1749 pcdev->clk = devm_clk_get(&pdev->dev, NULL); in pxa_camera_probe()
1750 if (IS_ERR(pcdev->clk)) in pxa_camera_probe()
1751 return PTR_ERR(pcdev->clk); in pxa_camera_probe()
1753 pcdev->res = res; in pxa_camera_probe()
1755 pcdev->pdata = pdev->dev.platform_data; in pxa_camera_probe()
1756 if (&pdev->dev.of_node && !pcdev->pdata) { in pxa_camera_probe()
1757 err = pxa_camera_pdata_from_dt(&pdev->dev, pcdev); in pxa_camera_probe()
1759 pcdev->platform_flags = pcdev->pdata->flags; in pxa_camera_probe()
1760 pcdev->mclk = pcdev->pdata->mclk_10khz * 10000; in pxa_camera_probe()
1765 if (!(pcdev->platform_flags & (PXA_CAMERA_DATAWIDTH_8 | in pxa_camera_probe()
1773 pcdev->platform_flags |= PXA_CAMERA_DATAWIDTH_10; in pxa_camera_probe()
1775 if (pcdev->platform_flags & PXA_CAMERA_DATAWIDTH_8) in pxa_camera_probe()
1776 pcdev->width_flags = 1 << 7; in pxa_camera_probe()
1777 if (pcdev->platform_flags & PXA_CAMERA_DATAWIDTH_9) in pxa_camera_probe()
1778 pcdev->width_flags |= 1 << 8; in pxa_camera_probe()
1779 if (pcdev->platform_flags & PXA_CAMERA_DATAWIDTH_10) in pxa_camera_probe()
1780 pcdev->width_flags |= 1 << 9; in pxa_camera_probe()
1781 if (!pcdev->mclk) { in pxa_camera_probe()
1785 pcdev->mclk = 20000000; in pxa_camera_probe()
1788 pcdev->mclk_divisor = mclk_get_divisor(pdev, pcdev); in pxa_camera_probe()
1790 INIT_LIST_HEAD(&pcdev->capture); in pxa_camera_probe()
1791 spin_lock_init(&pcdev->lock); in pxa_camera_probe()
1800 pcdev->irq = irq; in pxa_camera_probe()
1801 pcdev->base = base; in pxa_camera_probe()
1805 pxa_camera_dma_irq_y, pcdev); in pxa_camera_probe()
1810 pcdev->dma_chans[0] = err; in pxa_camera_probe()
1811 dev_dbg(&pdev->dev, "got DMA channel %d\n", pcdev->dma_chans[0]); in pxa_camera_probe()
1814 pxa_camera_dma_irq_u, pcdev); in pxa_camera_probe()
1819 pcdev->dma_chans[1] = err; in pxa_camera_probe()
1820 dev_dbg(&pdev->dev, "got DMA channel (U) %d\n", pcdev->dma_chans[1]); in pxa_camera_probe()
1823 pxa_camera_dma_irq_v, pcdev); in pxa_camera_probe()
1828 pcdev->dma_chans[2] = err; in pxa_camera_probe()
1829 dev_dbg(&pdev->dev, "got DMA channel (V) %d\n", pcdev->dma_chans[2]); in pxa_camera_probe()
1831 DRCMR(68) = pcdev->dma_chans[0] | DRCMR_MAPVLD; in pxa_camera_probe()
1832 DRCMR(69) = pcdev->dma_chans[1] | DRCMR_MAPVLD; in pxa_camera_probe()
1833 DRCMR(70) = pcdev->dma_chans[2] | DRCMR_MAPVLD; in pxa_camera_probe()
1836 err = devm_request_irq(&pdev->dev, pcdev->irq, pxa_camera_irq, 0, in pxa_camera_probe()
1837 PXA_CAM_DRV_NAME, pcdev); in pxa_camera_probe()
1843 pcdev->soc_host.drv_name = PXA_CAM_DRV_NAME; in pxa_camera_probe()
1844 pcdev->soc_host.ops = &pxa_soc_camera_host_ops; in pxa_camera_probe()
1845 pcdev->soc_host.priv = pcdev; in pxa_camera_probe()
1846 pcdev->soc_host.v4l2_dev.dev = &pdev->dev; in pxa_camera_probe()
1847 pcdev->soc_host.nr = pdev->id; in pxa_camera_probe()
1849 err = soc_camera_host_register(&pcdev->soc_host); in pxa_camera_probe()
1856 pxa_free_dma(pcdev->dma_chans[2]); in pxa_camera_probe()
1858 pxa_free_dma(pcdev->dma_chans[1]); in pxa_camera_probe()
1860 pxa_free_dma(pcdev->dma_chans[0]); in pxa_camera_probe()
1867 struct pxa_camera_dev *pcdev = container_of(soc_host, in pxa_camera_remove() local
1870 pxa_free_dma(pcdev->dma_chans[0]); in pxa_camera_remove()
1871 pxa_free_dma(pcdev->dma_chans[1]); in pxa_camera_remove()
1872 pxa_free_dma(pcdev->dma_chans[2]); in pxa_camera_remove()