summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPhilipp Zabel <p.zabel@pengutronix.de>2019-08-14 10:53:30 +0200
committerPhilipp Zabel <p.zabel@pengutronix.de>2019-08-19 16:25:30 +0200
commit4d24376370fbfc87231d54434a683f2913abcce4 (patch)
treec8b4714f70c5cbebb147adb58c3a71d054506d1a
parentfbefb84dd142c7d75232ae9d446ae36829c2dc97 (diff)
downloadlinux-4d24376370fbfc87231d54434a683f2913abcce4.tar.gz
linux-4d24376370fbfc87231d54434a683f2913abcce4.tar.xz
gpu: ipu-v3: image-convert: only sample into the next tile if necessaryimx-drm-next-2019-08-23
The first pixel of the next tile is only sampled by the hardware if the fractional input position corresponding to the last written output pixel is not an integer position. Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
-rw-r--r--drivers/gpu/ipu-v3/ipu-image-convert.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/gpu/ipu-v3/ipu-image-convert.c b/drivers/gpu/ipu-v3/ipu-image-convert.c
index 1a466611ad48..eeca50d9a1ee 100644
--- a/drivers/gpu/ipu-v3/ipu-image-convert.c
+++ b/drivers/gpu/ipu-v3/ipu-image-convert.c
@@ -1151,7 +1151,7 @@ static void calc_tile_resize_coefficients(struct ipu_image_convert_ctx *ctx)
* burst size.
*/
last_output = resized_width - 1;
- if (closest)
+ if (closest && ((last_output * resize_coeff_h) % 8192))
last_output++;
in_width = round_up(
(DIV_ROUND_UP(last_output * resize_coeff_h, 8192) + 1)
@@ -1208,7 +1208,7 @@ static void calc_tile_resize_coefficients(struct ipu_image_convert_ctx *ctx)
* IDMAC restrictions.
*/
last_output = resized_height - 1;
- if (closest)
+ if (closest && ((last_output * resize_coeff_v) % 8192))
last_output++;
in_height = round_up(
(DIV_ROUND_UP(last_output * resize_coeff_v, 8192) + 1)