gpu: ipu-v3: ipu-ic: Fix saturation bit offset in TPMEM [Linux 4.9.187]

This Linux kernel change "gpu: ipu-v3: ipu-ic: Fix saturation bit offset in TPMEM" is included in the Linux 4.9.187 release. This change is authored by Steve Longerbeam <slongerbeam [at]> on Tue May 21 18:03:13 2019 -0700. The commit for this change in Linux stable tree is 027466f (patch) which is from upstream commit 3d1f62c. The same Linux upstream change may have been applied to various maintained Linux releases and you can find all Linux releases containing changes from upstream 3d1f62c.

gpu: ipu-v3: ipu-ic: Fix saturation bit offset in TPMEM

commit 3d1f62c686acdedf5ed9642b763f3808d6a47d1e upstream.

The saturation bit was being set at bit 9 in the second 32-bit word
of the TPMEM CSC. This isn't correct, the saturation bit is bit 42,
which is bit 10 of the second word.

Fixes: 1aa8ea0d2bd5d ("gpu: ipu-v3: Add Image Converter unit")

Signed-off-by: Steve Longerbeam <>
Reviewed-by: Philipp Zabel <>
Signed-off-by: Philipp Zabel <>
Signed-off-by: Greg Kroah-Hartman <>

There are 2 lines of Linux source code added/deleted in this change. Code changes to Linux kernel are as follows.

 drivers/gpu/ipu-v3/ipu-ic.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/ipu-v3/ipu-ic.c b/drivers/gpu/ipu-v3/ipu-ic.c
index 321eb98..65d7daf 100644
--- a/drivers/gpu/ipu-v3/ipu-ic.c
+++ b/drivers/gpu/ipu-v3/ipu-ic.c
@@ -256,7 +256,7 @@ static int init_csc(struct ipu_ic *ic,
    writel(param, base++);

    param = ((a[0] & 0x1fe0) >> 5) | (params->scale << 8) |
-       (params->sat << 9);
+       (params->sat << 10);
    writel(param, base++);

    param = ((a[1] & 0x1f) << 27) | ((c[0][1] & 0x1ff) << 18) |

Leave a Reply

Your email address will not be published. Required fields are marked *