Received: by 2002:ac0:a591:0:0:0:0:0 with SMTP id m17-v6csp646630imm; Thu, 5 Jul 2018 06:41:12 -0700 (PDT) X-Google-Smtp-Source: AAOMgpdyYhkP1CooyHLYrFCgqIUV5fuk7OG5h8Iuv+3UIOAvyrydzymV2mkztzZKQ4Q8hozz/0z/ X-Received: by 2002:a17:902:2f43:: with SMTP id s61-v6mr6174640plb.274.1530798072003; Thu, 05 Jul 2018 06:41:12 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1530798071; cv=none; d=google.com; s=arc-20160816; b=0LWRhyCW9DAIjhpowS8rAbmJXDrwNSkEnc4H2Wf5pVj5X7AjhZ0eWN3Y50j3LeVZ3M 19I/bIlcx/h1pMsserqxKt0vshrzjp/7JwG7s/4NSFqUen0S5oQbvLZ7xqy95BZaysCJ RKQyZGqAsQMAFMa7pr/RLeBVg2dvrzzlM+7sLAiNWQk4850ta6yHRtxqQ/nobmmXm/As H89dMDQuyUoHEsmJDnZUtuaVDmKdbBCBAELu29TrcLSq4NMigouQp3nhWffRbwCYSras kdB+ua2fMFE0sbswrNGWVYIiVnqJvOzEethoeaD6vtd7bmtOODQ/Dh4NCQFWFPVIVzL5 42uA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:arc-authentication-results; bh=DoLPufLwqwBO0cw1gsKeNxydF0zs3GSN/BreSakVo7g=; b=zxdCW3j5DnFfuY1MMfoemWolI6DrPL//0KftWoSkWz94ZUpR0LU2UY6LiBc+peZCso Pv1ZMIX5um2jzKkhNYV7i1LrLckawhXLC34XivxPWn5k7H+2c3wOxztqkQ/dfM4rtpwU ZwaIob/weU8utLIdvU7BMwy8R6jDh51vW6mqh+P91Qg9fqej1x2n6YzKmY6Vbt9N2nd1 0WOaa5aA7dbcoJkyB1dF9RlCMrxI0Ote4c/Uqv1tmY79qS7KGnDceksEDBP9tJZcrsyX b1XwmOt0eVIGoZUKIv3JSXNyVIiMp4OD4EjFfMAONS1BRk3aC0rvcfvJP5Dh62H+lw69 zM4g== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id a10-v6si6220636pln.349.2018.07.05.06.40.57; Thu, 05 Jul 2018 06:41:11 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754386AbeGENkW (ORCPT + 99 others); Thu, 5 Jul 2018 09:40:22 -0400 Received: from ns.mm-sol.com ([37.157.136.199]:41314 "EHLO extserv.mm-sol.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753715AbeGENdV (ORCPT ); Thu, 5 Jul 2018 09:33:21 -0400 Received: from mms-0439.qualcomm.mm-sol.com (unknown [37.157.136.206]) by extserv.mm-sol.com (Postfix) with ESMTPSA id 33582CD52; Thu, 5 Jul 2018 16:33:17 +0300 (EEST) From: Todor Tomov To: mchehab@kernel.org, sakari.ailus@linux.intel.com, hans.verkuil@cisco.com, laurent.pinchart+renesas@ideasonboard.com, linux-media@vger.kernel.org Cc: linux-kernel@vger.kernel.org, Todor Tomov Subject: [PATCH v2 10/34] media: camss: csid: Configure data type and decode format properly Date: Thu, 5 Jul 2018 16:32:41 +0300 Message-Id: <1530797585-8555-11-git-send-email-todor.tomov@linaro.org> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1530797585-8555-1-git-send-email-todor.tomov@linaro.org> References: <1530797585-8555-1-git-send-email-todor.tomov@linaro.org> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The CSID decodes the input data stream. When the input comes from the Test Generator the format of the stream is set on the source media pad. When the input comes from the CSIPHY the format is the one on the sink media pad. Use the proper format for each case. Signed-off-by: Todor Tomov --- drivers/media/platform/qcom/camss/camss-csid.c | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/drivers/media/platform/qcom/camss/camss-csid.c b/drivers/media/platform/qcom/camss/camss-csid.c index c0fef17..3cde07e 100644 --- a/drivers/media/platform/qcom/camss/camss-csid.c +++ b/drivers/media/platform/qcom/camss/camss-csid.c @@ -384,9 +384,6 @@ static int csid_set_stream(struct v4l2_subdev *sd, int enable) !media_entity_remote_pad(&csid->pads[MSM_CSID_PAD_SINK])) return -ENOLINK; - dt = csid_get_fmt_entry(csid->fmt[MSM_CSID_PAD_SRC].code)-> - data_type; - if (tg->enabled) { /* Config Test Generator */ struct v4l2_mbus_framefmt *f = @@ -408,6 +405,9 @@ static int csid_set_stream(struct v4l2_subdev *sd, int enable) writel_relaxed(val, csid->base + CAMSS_CSID_TG_DT_n_CGG_0(0)); + dt = csid_get_fmt_entry( + csid->fmt[MSM_CSID_PAD_SRC].code)->data_type; + /* 5:0 data type */ val = dt; writel_relaxed(val, csid->base + @@ -417,6 +417,9 @@ static int csid_set_stream(struct v4l2_subdev *sd, int enable) val = tg->payload_mode; writel_relaxed(val, csid->base + CAMSS_CSID_TG_DT_n_CGG_2(0)); + + df = csid_get_fmt_entry( + csid->fmt[MSM_CSID_PAD_SRC].code)->decode_format; } else { struct csid_phy_config *phy = &csid->phy; @@ -431,13 +434,16 @@ static int csid_set_stream(struct v4l2_subdev *sd, int enable) writel_relaxed(val, csid->base + CAMSS_CSID_CORE_CTRL_1); + + dt = csid_get_fmt_entry( + csid->fmt[MSM_CSID_PAD_SINK].code)->data_type; + df = csid_get_fmt_entry( + csid->fmt[MSM_CSID_PAD_SINK].code)->decode_format; } /* Config LUT */ dt_shift = (cid % 4) * 8; - df = csid_get_fmt_entry(csid->fmt[MSM_CSID_PAD_SINK].code)-> - decode_format; val = readl_relaxed(csid->base + CAMSS_CSID_CID_LUT_VC_n(vc)); val &= ~(0xff << dt_shift); -- 2.7.4