From patchwork Thu Sep 13 12:15:05 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: archit taneja X-Patchwork-Id: 1452011 Return-Path: X-Original-To: patchwork-linux-omap@patchwork.kernel.org Delivered-To: patchwork-process-083081@patchwork2.kernel.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by patchwork2.kernel.org (Postfix) with ESMTP id 48CD3DF24C for ; Thu, 13 Sep 2012 12:16:16 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757991Ab2IMMQM (ORCPT ); Thu, 13 Sep 2012 08:16:12 -0400 Received: from bear.ext.ti.com ([192.94.94.41]:39538 "EHLO bear.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757983Ab2IMMQG (ORCPT ); Thu, 13 Sep 2012 08:16:06 -0400 Received: from dlelxv30.itg.ti.com ([172.17.2.17]) by bear.ext.ti.com (8.13.7/8.13.7) with ESMTP id q8DCG5TE028567; Thu, 13 Sep 2012 07:16:05 -0500 Received: from DFLE72.ent.ti.com (dfle72.ent.ti.com [128.247.5.109]) by dlelxv30.itg.ti.com (8.13.8/8.13.8) with ESMTP id q8DCG5aE031331; Thu, 13 Sep 2012 07:16:05 -0500 Received: from dlelxv24.itg.ti.com (172.17.1.199) by dfle72.ent.ti.com (128.247.5.109) with Microsoft SMTP Server id 14.1.323.3; Thu, 13 Sep 2012 07:16:05 -0500 Received: from legion.dal.design.ti.com (legion.dal.design.ti.com [128.247.22.53]) by dlelxv24.itg.ti.com (8.13.8/8.13.8) with ESMTP id q8DCG50t026878; Thu, 13 Sep 2012 07:16:05 -0500 Received: from localhost (a0393947pc.apr.dhcp.ti.com [172.24.137.248]) by legion.dal.design.ti.com (8.11.7p1+Sun/8.11.7) with ESMTP id q8DCG3w07859; Thu, 13 Sep 2012 07:16:04 -0500 (CDT) From: Archit Taneja To: CC: , , Archit Taneja Subject: [PATCH 21/21] OMAPDSS: DISPC: Configure color conversion coefficients for writeback Date: Thu, 13 Sep 2012 17:45:05 +0530 Message-ID: <1347538505-25359-22-git-send-email-archit@ti.com> X-Mailer: git-send-email 1.7.9.5 In-Reply-To: <1347538505-25359-1-git-send-email-archit@ti.com> References: <1347538505-25359-1-git-send-email-archit@ti.com> MIME-Version: 1.0 Sender: linux-omap-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-omap@vger.kernel.org Writeback pipeline receives RGB data from one of the overlays or one of the overlay managers. If the target color mode is YUV422 or NV12, we need to convert the RGB pixels to YUV. The scalar in WB then converts it to the target color mode. Hence, the color conversion coefficients that need to be programmed are the ones which convert a RGB24 pixel to YUV444. Program these coefficients for writeback pipeline. Signed-off-by: Archit Taneja --- drivers/video/omap2/dss/dispc.c | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/drivers/video/omap2/dss/dispc.c b/drivers/video/omap2/dss/dispc.c index 1623c9b..5811a18 100644 --- a/drivers/video/omap2/dss/dispc.c +++ b/drivers/video/omap2/dss/dispc.c @@ -681,20 +681,30 @@ static void dispc_plane_set_scale_coef(enum omap_plane plane, int fir_hinc, static void _dispc_setup_color_conv_coef(void) { int i; + int num_ovl = dss_feat_get_num_ovls(); + int num_wb = dss_feat_get_num_wbs(); + const struct color_conv_coef { int ry, rcr, rcb, gy, gcr, gcb, by, bcr, bcb; int full_range; - } ctbl_bt601_5 = { - 298, 409, 0, 298, -208, -100, 298, 0, 517, 0, + } ctbl_bt601_5[2] = { + { 298, 409, 0, 298, -208, -100, 298, 0, 517, 0, }, + { 66, 112, -38, 129, -94, -74, 25, -18, 112, 0, }, }; const struct color_conv_coef *ct; #define CVAL(x, y) (FLD_VAL(x, 26, 16) | FLD_VAL(y, 10, 0)) +#define YUVTORGB 0 +#define RGBTOYUV 1 - ct = &ctbl_bt601_5; + ct = &ctbl_bt601_5[YUVTORGB]; + + for (i = 1; i < num_ovl + num_wb; i++) { + + if (i >= num_ovl) + ct = &ctbl_bt601_5[RGBTOYUV]; - for (i = 1; i < dss_feat_get_num_ovls(); i++) { dispc_write_reg(DISPC_OVL_CONV_COEF(i, 0), CVAL(ct->rcr, ct->ry)); dispc_write_reg(DISPC_OVL_CONV_COEF(i, 1), @@ -710,6 +720,8 @@ static void _dispc_setup_color_conv_coef(void) 11, 11); } +#undef RGBTOYUV +#undef YUVTORGB #undef CVAL }