From patchwork Wed Nov 28 19:09:19 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Sylwester Nawrocki/Kernel \\(PLT\\) /SRPOL/Staff Engineer/Samsung Electronics" X-Patchwork-Id: 1817971 Return-Path: X-Original-To: patchwork-linux-media@patchwork.kernel.org Delivered-To: patchwork-process-083081@patchwork1.kernel.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by patchwork1.kernel.org (Postfix) with ESMTP id 289583FC54 for ; Wed, 28 Nov 2012 19:09:48 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932182Ab2K1TJp (ORCPT ); Wed, 28 Nov 2012 14:09:45 -0500 Received: from mailout2.samsung.com ([203.254.224.25]:46809 "EHLO mailout2.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755749Ab2K1TJn (ORCPT ); Wed, 28 Nov 2012 14:09:43 -0500 Received: from epcpsbgm2.samsung.com (epcpsbgm2 [203.254.230.27]) by mailout2.samsung.com (Oracle Communications Messaging Server 7u4-24.01(7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTP id <0ME700HZQP81F3B0@mailout2.samsung.com>; Thu, 29 Nov 2012 04:09:42 +0900 (KST) X-AuditID: cbfee61b-b7f616d00000319b-69-50b661768eed Received: from epmmp2 ( [203.254.227.17]) by epcpsbgm2.samsung.com (EPCPMTA) with SMTP id 0D.A6.12699.67166B05; Thu, 29 Nov 2012 04:09:42 +0900 (KST) Received: from amdc1344.digital.local ([106.116.147.32]) by mmp2.samsung.com (Oracle Communications Messaging Server 7u4-24.01 (7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTPA id <0ME7006TUP7TOU90@mmp2.samsung.com>; Thu, 29 Nov 2012 04:09:42 +0900 (KST) From: Sylwester Nawrocki To: linux-media@vger.kernel.org Cc: sw0312.kim@samsung.com, kyungmin.park@samsung.com, a.hajda@samsung.com, Sylwester Nawrocki , stable@vger.kernel.org Subject: [PATCH RFC 02/12] s5p-fimc: Fix horizontal/vertical image flip Date: Wed, 28 Nov 2012 20:09:19 +0100 Message-id: <1354129766-2821-3-git-send-email-s.nawrocki@samsung.com> X-Mailer: git-send-email 1.7.9.5 In-reply-to: <1354129766-2821-1-git-send-email-s.nawrocki@samsung.com> References: <1354129766-2821-1-git-send-email-s.nawrocki@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrGJMWRmVeSWpSXmKPExsVy+t9jQd2yxG0BBtN26lv0bNjKarFg4yNG ByaPz5vkAhijuGxSUnMyy1KL9O0SuDKWHvzGUvCet2LKvp9MDYwPuLsYOTkkBEwk5tw4xAZh i0lcuLceyObiEBKYzijxcco/sISQQAeTxKJF4iA2m4ChRO/RPkYQW0RAXuJJ7w2wBmaBiYwS r/9cZgJJCAu4S7SueMwOYrMIqEp8/T+HBcTmFXCVWDtrGlAzB9A2BYk5k2xAwpwCbhLnbzxg hNjlKvH5ShPTBEbeBYwMqxhFUwuSC4qT0nON9IoTc4tL89L1kvNzNzGCff9MegfjqgaLQ4wC HIxKPLwbLbcFCLEmlhVX5h5ilOBgVhLhvRUEFOJNSaysSi3Kjy8qzUktPsQozcGiJM7b7JES ICSQnliSmp2aWpBaBJNl4uCUamC0N9P/aiTze8vHlJknL3RrNE38oWFsNm2nw6Qri2KXf7JX sLfXEe5eprFEIydvx2q+Bbe7DsrOXXT1k/kM8Qu3wgzWH1z7YVtOztGSzLJ9/lP0/5toLOB4 knRKfYrpp5scE37/3vDVpC3aykjqIKemd8fErondUY/3u7/+5cF9LrbXzH3ys7urlFiKMxIN tZiLihMBErPLevkBAAA= Sender: linux-media-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org 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. Cc: stable@vger.kernel.org Reported-by: Kyungmin Park Signed-off-by: Sylwester Nawrocki Signed-off-by: Kyungmin Park --- drivers/media/platform/s5p-fimc/fimc-reg.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/media/platform/s5p-fimc/fimc-reg.c b/drivers/media/platform/s5p-fimc/fimc-reg.c index 2c9d0c0..9c3c461 100644 --- a/drivers/media/platform/s5p-fimc/fimc-reg.c +++ b/drivers/media/platform/s5p-fimc/fimc-reg.c @@ -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;