[media] s5p-fimc: Fix horizontal/vertical image flip
Setting FIMC_REG_CITRGFMT_FLIP_X_MIRROR bit causes X-axis image flip (vertical flip) and thus it corresponds to V4L2_CID_VFLIP. Likewise, setting FIMC_REG_CITRGFMT_FLIP_Y_MIRROR bit causes Y-axis image flip (horizontal flip) and thus it corresponds to V4L2_CID_HFLIP. Currently the driver does X-axis flip when V4L2_CID_HFLIP is set and Y-axis flip for V4L2_CID_VFLIP. Fix this incorrect assignment by setting proper FIMC_REG_CITRGFMT register bits for ctx->hflip and ctx->vflip. Reported-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
fe4abb550f
commit
1bc05e77db
|
@ -44,9 +44,9 @@ static u32 fimc_hw_get_in_flip(struct fimc_ctx *ctx)
|
|||
u32 flip = FIMC_REG_MSCTRL_FLIP_NORMAL;
|
||||
|
||||
if (ctx->hflip)
|
||||
flip = FIMC_REG_MSCTRL_FLIP_X_MIRROR;
|
||||
if (ctx->vflip)
|
||||
flip = FIMC_REG_MSCTRL_FLIP_Y_MIRROR;
|
||||
if (ctx->vflip)
|
||||
flip = FIMC_REG_MSCTRL_FLIP_X_MIRROR;
|
||||
|
||||
if (ctx->rotation <= 90)
|
||||
return flip;
|
||||
|
@ -59,9 +59,9 @@ static u32 fimc_hw_get_target_flip(struct fimc_ctx *ctx)
|
|||
u32 flip = FIMC_REG_CITRGFMT_FLIP_NORMAL;
|
||||
|
||||
if (ctx->hflip)
|
||||
flip |= FIMC_REG_CITRGFMT_FLIP_X_MIRROR;
|
||||
if (ctx->vflip)
|
||||
flip |= FIMC_REG_CITRGFMT_FLIP_Y_MIRROR;
|
||||
if (ctx->vflip)
|
||||
flip |= FIMC_REG_CITRGFMT_FLIP_X_MIRROR;
|
||||
|
||||
if (ctx->rotation <= 90)
|
||||
return flip;
|
||||
|
|
Loading…
Reference in New Issue