From 3ab199d9b1b3d0c94d89c2c1c5b2c5749d4bc476 Mon Sep 17 00:00:00 2001 From: Tomasz Gorochowik Date: Mon, 21 May 2018 14:56:29 +0200 Subject: imx8: isi: Disable scaling when not needed The issue is that once the scaling was enabled, then the stream was disabled and enabled again with a resolution that does not need scaling, the actual scaling was never disabled in the ISI block. This made ISI stream the scaled down with a large black padding. (cherry picked from commit 148241e839644f6af83a3e677e1350ce50ce27e9) (cherry picked from commit 13bef5c8fde55bf12be73ed05391427d393bb71c) --- drivers/media/platform/imx8/mxc-isi-hw.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/media/platform/imx8/mxc-isi-hw.c b/drivers/media/platform/imx8/mxc-isi-hw.c index 18750776a94f..78de12387774 100644 --- a/drivers/media/platform/imx8/mxc-isi-hw.c +++ b/drivers/media/platform/imx8/mxc-isi-hw.c @@ -397,7 +397,9 @@ void mxc_isi_channel_set_scaling(struct mxc_isi_dev *mxc_isi) u32 xdec = 0, ydec = 0; u32 val0, val1; - if (dst_f->height == src_f->height || + if (mxc_isi->scale == 1) { + mxc_isi->scale = 0; + } else if (dst_f->height == src_f->height || dst_f->width == src_f->width) { mxc_isi->scale = 0; dev_dbg(&mxc_isi->pdev->dev, "%s: no scale\n", __func__); -- cgit v1.2.3