From patchwork Fri Jun 22 15:33:19 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Todor Tomov X-Patchwork-Id: 139705 Delivered-To: patch@linaro.org Received: by 2002:a2e:970d:0:0:0:0:0 with SMTP id r13-v6csp1022924lji; Fri, 22 Jun 2018 08:40:48 -0700 (PDT) X-Google-Smtp-Source: ADUXVKJAfogC6WhvQZbTPk8an9Qb3AcE6LK+5SE3mAlpcFlwtESEujd7qU0jbnbT5IRCTJFAgiUV X-Received: by 2002:a65:5185:: with SMTP id h5-v6mr1946999pgq.0.1529682048572; Fri, 22 Jun 2018 08:40:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1529682048; cv=none; d=google.com; s=arc-20160816; b=OK/ws3HWD6UTx0GBuxz6EEfE2dgDNtDZjA4rZ6p6ba/EvOudlTad7yoAWXbrTyvkpz 6DRzghtsh+t+dMLxS+YqgMs8i/6A5NbgYA8wKsh26nRj/lfQbMmDWeA42D+NlvnCSB2m v+8gPoRGFVkJK85kTOLy7EYRQyFLVSEcxB3oKizpzHEmLTYzc2ljlMI9WIXa/qirECDB TqkuA0y/MzlF57QxGKGFrFR+41p6+oGrqsKIgePhAdcP2iI8JP2XOxsFqUyZagTkhkWJ ZAS5MaoiqxTOf1xF2TRmJg9w9U0jDejvTxbr/ovuTBdkKfn8PgTg9jp9UhaphP5RdNj7 TlxA== 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=u2dYYYa2iaojP3ypjqZmQIsnebSj4+Ze+oIwOgUXoqnHx0UYYSN0F0SGU184CvgK9X S30N8OuJAPPseeGwaM1PbVrZita0HsZDIot+dtkP7lRDaJFQYhnG5U/I0lKdeU72Xe4I arrrFswdDX+85ltzxx4F0c6kDsEqg6XagMZVAW31p0mYskDJvR+phaHKHwTTQGL/QE4k x9Q2hmOJfr38FeegpxgqhiTT0birS+KLwqIr1K7pFa/2hfM9MC2gnip/JndbvDXzqU6z /ejiFOunnPaQ4f3Y01jLB472qZExlOndeT0lotwxqUpIbSE79pKmwlx3o2K+Si41lL1M u2UQ== 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 i2-v6si6577016pgo.289.2018.06.22.08.40.48; Fri, 22 Jun 2018 08:40:48 -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 S934347AbeFVPjr (ORCPT + 31 others); Fri, 22 Jun 2018 11:39:47 -0400 Received: from ns.mm-sol.com ([37.157.136.199]:46425 "EHLO extserv.mm-sol.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933955AbeFVPeD (ORCPT ); Fri, 22 Jun 2018 11:34:03 -0400 Received: from mms-0439.qualcomm.mm-sol.com (unknown [37.157.136.206]) by extserv.mm-sol.com (Postfix) with ESMTPSA id 459E14F886; Fri, 22 Jun 2018 18:33:59 +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 10/32] media: camss: csid: Configure data type and decode format properly Date: Fri, 22 Jun 2018 18:33:19 +0300 Message-Id: <1529681621-9682-11-git-send-email-todor.tomov@linaro.org> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1529681621-9682-1-git-send-email-todor.tomov@linaro.org> References: <1529681621-9682-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(-) -- 2.7.4 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);