Received: by 2002:ac0:a5a7:0:0:0:0:0 with SMTP id m36-v6csp1001293imm; Wed, 25 Jul 2018 09:44:44 -0700 (PDT) X-Google-Smtp-Source: AAOMgpdnnpOF0in7gSK91YuxOb9y0gHZDhAamVDZmsvPqnL0ApBQGLgTdGcVeMZLuX5tkyErN5Io X-Received: by 2002:a17:902:bd8c:: with SMTP id q12-v6mr836310pls.111.1532537084716; Wed, 25 Jul 2018 09:44:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1532537084; cv=none; d=google.com; s=arc-20160816; b=e5Pd9nUFW7E52hBcVFY/eQnrnr5jYlXsOwAs682i63zlqO28Zc71UONUCPqj9VOF3W X6crIOl2igGbxYytOcMREc1rbNNfmuTU4EVPdrNbqaVkq2UVZRbLgRgUAaQE8RkoO2ue oOvDmKFUlfsQV3T3OlqJPNuV3+zUVhN+nqqnARDAEdXnqeEfLfCcFaDjQAJc94ZxIRPd NACbHazCX4alkVZ82YRpPwsOb6MQ7W9MaU54rxeObyky9PWlB7lQYFR3pgbftjVsABb5 Q0Smpr38iIz7PHLJLp/XkqHWbVZhmILGWWH2FFwQcPjT565ZiC5Wp5dfsDroPzjF1w6J 7c1A== 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=tsz/DDKtpPNupW4P0uXLuAwvA6gnvUhbGQ2oYOCb3nU2D1URj447bPQX3x3c9xaW35 DM0/pNS7wMVdJkKZeWfwMYgSVWQ19Gkbgkgh3gNKmFVWy4OZldhImm4KT59t0VfuwFjU anTVzbUvP7Bg6Td8/rZdbQ6B/AZ02v3ZHnekXnAapBAz9ZU+PPf9g27ApI8z0EiQojLG Z6eRI0c5g5gnce1D8qlQDBMAT4jGI1UkTNBK5+FfC0MsCtnnwn5nAJFrng2YccmARygb 2KQ0KKdYoE1w6uTVsVmsL57PQwzbXWSLKnp6GQe8Dy3p2Tb1Nr2Ue7yN2O7dO0xPjUta Xchg== 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 98-v6si13781796pla.20.2018.07.25.09.44.30; Wed, 25 Jul 2018 09:44:44 -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 S1730135AbeGYRv0 (ORCPT + 99 others); Wed, 25 Jul 2018 13:51:26 -0400 Received: from ns.mm-sol.com ([37.157.136.199]:35603 "EHLO extserv.mm-sol.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729501AbeGYRv0 (ORCPT ); Wed, 25 Jul 2018 13:51:26 -0400 Received: from mms-0439.qualcomm.mm-sol.com (unknown [37.157.136.206]) by extserv.mm-sol.com (Postfix) with ESMTPSA id 0F67CCD5D; Wed, 25 Jul 2018 19:38:54 +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 v4 11/34] media: camss: csid: Configure data type and decode format properly Date: Wed, 25 Jul 2018 19:38:20 +0300 Message-Id: <1532536723-19062-12-git-send-email-todor.tomov@linaro.org> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1532536723-19062-1-git-send-email-todor.tomov@linaro.org> References: <1532536723-19062-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