MLK-20923: ISI: improve ISI memory to memory performance
authorGuoniu.Zhou <guoniu.zhou@nxp.com>
Wed, 13 Feb 2019 10:50:39 +0000 (18:50 +0800)
committerLeonard Crestez <leonard.crestez@nxp.com>
Wed, 17 Apr 2019 23:51:34 +0000 (02:51 +0300)
Refer to ISI validataion code, there is no need to enable ISI
mem2mem read done interrupt and driver can handle buffers in
frame received interrupt service

Remove 50ms delay when enable ISI AXI read, it will improve
performance obviously

Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
(cherry picked from commit bdabe035cd5c57d713f824e61f120213ed9357ba)
(cherry picked from commit 7dd4c6affaaceefd80e6b4a033c21f6b26303902)

drivers/media/platform/imx8/mxc-isi-core.c

index 5dd92b3..afa3977 100644 (file)
@@ -22,9 +22,6 @@ static irqreturn_t mxc_isi_irq_handler(int irq, void *priv)
        status = mxc_isi_get_irq_status(mxc_isi);
        mxc_isi_clean_irq_status(mxc_isi, status);
 
-       if (status & CHNL_STS_MEM_RD_DONE_MASK)
-               mxc_isi_m2m_frame_read_done(mxc_isi);
-
        if (status & CHNL_STS_FRM_STRD_MASK) {
                if (mxc_isi->is_m2m)
                        mxc_isi_m2m_frame_write_done(mxc_isi);
@@ -138,6 +135,7 @@ static int mxc_isi_probe(struct platform_device *pdev)
        init_waitqueue_head(&mxc_isi->irq_queue);
        spin_lock_init(&mxc_isi->slock);
        mutex_init(&mxc_isi->lock);
+       mutex_init(&mxc_isi->m2m_lock);
        atomic_set(&mxc_isi->open_count, 0);
 
        mxc_isi->clk = devm_clk_get(dev, NULL);