summaryrefslogtreecommitdiff
path: root/drivers/media/platform/imx8/mxc-isi-cap.c
diff options
context:
space:
mode:
authorGuoniu.Zhou <guoniu.zhou@nxp.com>2018-09-29 11:54:03 +0800
committerJason Liu <jason.hui.liu@nxp.com>2019-02-12 10:34:22 +0800
commit6ce4a4e0f67ec73afecae3290efcbe4b0fe2e622 (patch)
tree6738974d0339109a0ad11abaec1316080844951d /drivers/media/platform/imx8/mxc-isi-cap.c
parent5a12aa2d1ec73a34dac7c04fca12266976a384f6 (diff)
MLK-19772: ISI: fill ISI out buffer address before enabling ISI channel
1. Before enabling ISI channel, driver need to fill its out buffer address, so correct this sequence 2. Because ISI use ping-pong buffer and write data to memory with BUF1->BUF2->BUF1... sequence. If it finish with BUF1 and user start a new capture process, it will start with BUF2. This will lead the buffer ready for being read is not equal to buffer written by ISI.So HW reset ISI, in order to confirm it start with BUF1. Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com> (cherry picked from commit 794ce0cb7d7f129fb46f5d6f38e82cc1e7f2a367)
Diffstat (limited to 'drivers/media/platform/imx8/mxc-isi-cap.c')
-rw-r--r--drivers/media/platform/imx8/mxc-isi-cap.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/media/platform/imx8/mxc-isi-cap.c b/drivers/media/platform/imx8/mxc-isi-cap.c
index 7c5f7d4a72e7..4498793946e1 100644
--- a/drivers/media/platform/imx8/mxc-isi-cap.c
+++ b/drivers/media/platform/imx8/mxc-isi-cap.c
@@ -957,8 +957,8 @@ static int mxc_isi_cap_streamon(struct file *file, void *priv,
dev_dbg(&mxc_isi->pdev->dev, "%s\n", __func__);
- mxc_isi_channel_enable(mxc_isi);
ret = vb2_ioctl_streamon(file, priv, type);
+ mxc_isi_channel_enable(mxc_isi);
mxc_isi_pipeline_enable(mxc_isi, 1);
return ret;
@@ -972,9 +972,9 @@ static int mxc_isi_cap_streamoff(struct file *file, void *priv,
dev_dbg(&mxc_isi->pdev->dev, "%s\n", __func__);
+ mxc_isi_pipeline_enable(mxc_isi, 0);
mxc_isi_channel_disable(mxc_isi);
ret = vb2_ioctl_streamoff(file, priv, type);
- mxc_isi_pipeline_enable(mxc_isi, 0);
return ret;
}