Răsfoiți Sursa

drm/exynos: gsc: fix wrong bitwise operation for swap detection

The bits for rotation are not used as exclusively. So GSC_IN_ROT_270 can
not be used for swap detection. The definition of it is same with
GSC_IN_ROT_MASK. It is enough to check GSC_IN_ROT_90 bit is set or not to
check whether width / height size swapping is needed.

Signed-off-by: Hyungwon Hwang <human.hwang@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
Hyungwon Hwang 10 ani în urmă
părinte
comite
988a473119
1 a modificat fișierele cu 2 adăugiri și 4 ștergeri
  1. 2 4
      drivers/gpu/drm/exynos/exynos_drm_gsc.c

+ 2 - 4
drivers/gpu/drm/exynos/exynos_drm_gsc.c

@@ -593,8 +593,7 @@ static int gsc_src_set_transf(struct device *dev,
 
 
 	gsc_write(cfg, GSC_IN_CON);
 	gsc_write(cfg, GSC_IN_CON);
 
 
-	ctx->rotation = cfg &
-		(GSC_IN_ROT_90 | GSC_IN_ROT_270) ? 1 : 0;
+	ctx->rotation = (cfg & GSC_IN_ROT_90) ? 1 : 0;
 	*swap = ctx->rotation;
 	*swap = ctx->rotation;
 
 
 	return 0;
 	return 0;
@@ -857,8 +856,7 @@ static int gsc_dst_set_transf(struct device *dev,
 
 
 	gsc_write(cfg, GSC_IN_CON);
 	gsc_write(cfg, GSC_IN_CON);
 
 
-	ctx->rotation = cfg &
-		(GSC_IN_ROT_90 | GSC_IN_ROT_270) ? 1 : 0;
+	ctx->rotation = (cfg & GSC_IN_ROT_90) ? 1 : 0;
 	*swap = ctx->rotation;
 	*swap = ctx->rotation;
 
 
 	return 0;
 	return 0;