drm/tgm: tdm/pp: add shift setting operation during set size. 48/145548/4
authorJin-young Jeon <jy0.jeon@samsung.com>
Tue, 15 Aug 2017 08:07:33 +0000 (17:07 +0900)
committerInki Dae <inki.dae@samsung.com>
Wed, 23 Aug 2017 02:16:38 +0000 (02:16 +0000)
add shift setting operation during set size
This patch comes from product kernel.

Change-Id: I98692214aaec340db6efecbcb240288d86e14241
Signed-off-by: Jin-young Jeon <jy0.jeon@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
drivers/gpu/drm/tgm/tdm_pp_msc.c

index 2adc8798bff98c8a25ff22d6b6cae6ee4b559239..40eece687dce7d9f6f00487f73612e15b1823759 100644 (file)
@@ -62,6 +62,7 @@
 #define SC_COEF_V_4T   4
 #define SC_COEF_DEPTH  3
 #define SC_POS_ALIGN   2
+#define SC_FMT_SHIFT   1
 #define SC_UP_MAX              SC_RATIO(1, 16)
 #define SC_DOWN_MIN            SC_RATIO(4, 1)
 #define SC_DOWN_SWMIN          SC_RATIO(16, 1)
@@ -711,6 +712,10 @@ static int sc_src_set_size(struct device *dev, int swap,
                SCALER_SRC_YY(pos->y));
        sc_write(cfg, SCALER_SRC_Y_POS);
 
+       cfg = (SCALER_SRC_YX(pos->x >> SC_FMT_SHIFT) |
+               SCALER_SRC_YY(pos->y >> SC_FMT_SHIFT));
+       sc_write(cfg, SCALER_SRC_C_POS);
+
        /* cropped size */
        cfg = (SCALER_SRC_W(pos->w) |
                SCALER_SRC_H(pos->h));