From patchwork Tue Mar 10 16:06:24 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Laurent Pinchart X-Patchwork-Id: 11429737 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 9C9211874 for ; Tue, 10 Mar 2020 16:06:45 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 72C01222C3 for ; Tue, 10 Mar 2020 16:06:45 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="Hf827eF3" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727070AbgCJQGn (ORCPT ); Tue, 10 Mar 2020 12:06:43 -0400 Received: from perceval.ideasonboard.com ([213.167.242.64]:55120 "EHLO perceval.ideasonboard.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726283AbgCJQGm (ORCPT ); Tue, 10 Mar 2020 12:06:42 -0400 Received: from pendragon.bb.dnainternet.fi (81-175-216-236.bb.dnainternet.fi [81.175.216.236]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 8D7A8580; Tue, 10 Mar 2020 17:06:40 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1583856400; bh=CvQ1gjp4Q8xTZ/5RZSFeYsWlgifcm4JozA1PNNjp/8I=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Hf827eF33usGlNYKWfLF8QLICfzofMIeTUUwRzp3qREmcwahH4aTaVaUsTPzObzWC EIl7Lv9VBeOl9GEREWCafaPJisL+2NUXbioMBAOe01i2r8tqqioyoSVOs6T82tBLGp U7o1ikkbITlrQneNYjX2HlE9Jqo37pT4QDr3kU5o= From: Laurent Pinchart To: linux-media@vger.kernel.org Cc: Steve Longerbeam , Philipp Zabel , Rui Miguel Silva Subject: [PATCH v2 01/10] media: imx: imx7_mipi_csis: Power off the source when stopping streaming Date: Tue, 10 Mar 2020 18:06:24 +0200 Message-Id: <20200310160633.950-2-laurent.pinchart@ideasonboard.com> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20200310160633.950-1-laurent.pinchart@ideasonboard.com> References: <20200310160633.950-1-laurent.pinchart@ideasonboard.com> MIME-Version: 1.0 Sender: linux-media-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org The .s_stream() implementation incorrectly powers on the source when stopping the stream. Power it off instead. Fixes: 7807063b862b ("media: staging/imx7: add MIPI CSI-2 receiver subdev for i.MX7") Signed-off-by: Laurent Pinchart Reviewed-by: Rui Miguel Silva --- Changes since v1: - Added Fixes: tag --- drivers/staging/media/imx/imx7-mipi-csis.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/staging/media/imx/imx7-mipi-csis.c b/drivers/staging/media/imx/imx7-mipi-csis.c index 383abecb3bec..0053e8b0b88e 100644 --- a/drivers/staging/media/imx/imx7-mipi-csis.c +++ b/drivers/staging/media/imx/imx7-mipi-csis.c @@ -577,7 +577,7 @@ static int mipi_csis_s_stream(struct v4l2_subdev *mipi_sd, int enable) state->flags |= ST_STREAMING; } else { v4l2_subdev_call(state->src_sd, video, s_stream, 0); - ret = v4l2_subdev_call(state->src_sd, core, s_power, 1); + ret = v4l2_subdev_call(state->src_sd, core, s_power, 0); mipi_csis_stop_stream(state); state->flags &= ~ST_STREAMING; if (state->debug) From patchwork Tue Mar 10 16:06:25 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Laurent Pinchart X-Patchwork-Id: 11429733 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 9C1FB139A for ; Tue, 10 Mar 2020 16:06:44 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 72106215A4 for ; Tue, 10 Mar 2020 16:06:44 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="e7BHw2nB" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727073AbgCJQGn (ORCPT ); Tue, 10 Mar 2020 12:06:43 -0400 Received: from perceval.ideasonboard.com ([213.167.242.64]:55128 "EHLO perceval.ideasonboard.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727052AbgCJQGn (ORCPT ); Tue, 10 Mar 2020 12:06:43 -0400 Received: from pendragon.bb.dnainternet.fi (81-175-216-236.bb.dnainternet.fi [81.175.216.236]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 15BD5AC3; Tue, 10 Mar 2020 17:06:41 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1583856401; bh=F6pnyA6UqQKFlUS8r8mqGFKmuJoZvHEmNGFNTUKbSbg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=e7BHw2nBlBo+Ui1t2/ECFn1s+oW5gvn6dn+Evafq/+1xsOES73XdPqtAH8wwnAXGm 1XAado6AyRf/2s0zrec/pzp4O9ePYIn6hcwclQsTRU+PRDzofJto/yt5uQY1P3ftIl BlJo8Tu2lucBr0KlhoVc9UjwzUT8dz71jCVcspcc= From: Laurent Pinchart To: linux-media@vger.kernel.org Cc: Steve Longerbeam , Philipp Zabel , Rui Miguel Silva Subject: [PATCH v2 02/10] media: imx: imx7_mipi_csis: Print the RESOL_CH0 register Date: Tue, 10 Mar 2020 18:06:25 +0200 Message-Id: <20200310160633.950-3-laurent.pinchart@ideasonboard.com> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20200310160633.950-1-laurent.pinchart@ideasonboard.com> References: <20200310160633.950-1-laurent.pinchart@ideasonboard.com> MIME-Version: 1.0 Sender: linux-media-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org Add the RESOL_CH0 register to the list of registers printed through the debugfs debug infrastructure for the driver, as it can be useful to verify proper configuration of the CSI-2 receiver. Signed-off-by: Laurent Pinchart Reviewed-by: Rui Miguel Silva --- drivers/staging/media/imx/imx7-mipi-csis.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/staging/media/imx/imx7-mipi-csis.c b/drivers/staging/media/imx/imx7-mipi-csis.c index 0053e8b0b88e..f96e32549381 100644 --- a/drivers/staging/media/imx/imx7-mipi-csis.c +++ b/drivers/staging/media/imx/imx7-mipi-csis.c @@ -301,6 +301,7 @@ static int mipi_csis_dump_regs(struct csi_state *state) { 0x20, "DPHYSTS" }, { 0x10, "INTMSK" }, { 0x40, "CONFIG_CH0" }, + { 0x44, "RESOL_CH0" }, { 0xC0, "DBG_CONFIG" }, { 0x38, "DPHYSLAVE_L" }, { 0x3C, "DPHYSLAVE_H" }, From patchwork Tue Mar 10 16:06:26 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Laurent Pinchart X-Patchwork-Id: 11429739 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id CFF2A92A for ; Tue, 10 Mar 2020 16:06:45 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id A5BF5222C3 for ; Tue, 10 Mar 2020 16:06:45 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="kCNWjE8v" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727089AbgCJQGp (ORCPT ); Tue, 10 Mar 2020 12:06:45 -0400 Received: from perceval.ideasonboard.com ([213.167.242.64]:55140 "EHLO perceval.ideasonboard.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727061AbgCJQGo (ORCPT ); Tue, 10 Mar 2020 12:06:44 -0400 Received: from pendragon.bb.dnainternet.fi (81-175-216-236.bb.dnainternet.fi [81.175.216.236]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 8FE5DD09; Tue, 10 Mar 2020 17:06:41 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1583856401; bh=VvvepFoDRdDtkM1OlqpjgnC3fXcs3t4y/DZwit4/Ld8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=kCNWjE8vjIGT1Q7Ty0jq/WTP8ghgtl2g7DqAmjpcwQi+oDbZY87lDBiRWlunCr6bS nDUE2Cum8CJxZfa23PO4FLgXYw3zTbdwA3u12EId8u0PFnht7JWKHL/zoMw/azSxDb oCZGJGpdlCGd5LBz69Lw8rNL8BhnmeTqQEwraXM0= From: Laurent Pinchart To: linux-media@vger.kernel.org Cc: Steve Longerbeam , Philipp Zabel , Rui Miguel Silva Subject: [PATCH v2 03/10] media: imx: imx7_mipi_csis: Add greyscale formats support Date: Tue, 10 Mar 2020 18:06:26 +0200 Message-Id: <20200310160633.950-4-laurent.pinchart@ideasonboard.com> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20200310160633.950-1-laurent.pinchart@ideasonboard.com> References: <20200310160633.950-1-laurent.pinchart@ideasonboard.com> MIME-Version: 1.0 Sender: linux-media-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org Add support for the 8-, 10- and 12-bit greyscale media bus formats, and map them to the CSI-2 RAW8, RAW10 and RAW12 formats respectively. Signed-off-by: Laurent Pinchart Reviewed-by: Rui Miguel Silva --- drivers/staging/media/imx/imx7-mipi-csis.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/drivers/staging/media/imx/imx7-mipi-csis.c b/drivers/staging/media/imx/imx7-mipi-csis.c index f96e32549381..2dd0b02e98b7 100644 --- a/drivers/staging/media/imx/imx7-mipi-csis.c +++ b/drivers/staging/media/imx/imx7-mipi-csis.c @@ -280,6 +280,18 @@ static const struct csis_pix_format mipi_csis_formats[] = { .code = MEDIA_BUS_FMT_YUYV8_2X8, .fmt_reg = MIPI_CSIS_ISPCFG_FMT_YCBCR422_8BIT, .data_alignment = 16, + }, { + .code = MEDIA_BUS_FMT_Y8_1X8, + .fmt_reg = MIPI_CSIS_ISPCFG_FMT_RAW8, + .data_alignment = 8, + }, { + .code = MEDIA_BUS_FMT_Y10_1X10, + .fmt_reg = MIPI_CSIS_ISPCFG_FMT_RAW10, + .data_alignment = 16, + }, { + .code = MEDIA_BUS_FMT_Y12_1X12, + .fmt_reg = MIPI_CSIS_ISPCFG_FMT_RAW12, + .data_alignment = 16, } }; From patchwork Tue Mar 10 16:06:27 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Laurent Pinchart X-Patchwork-Id: 11429735 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 1DDC092A for ; Tue, 10 Mar 2020 16:06:45 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id E7EC921D56 for ; Tue, 10 Mar 2020 16:06:44 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="Qceh14ss" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727079AbgCJQGo (ORCPT ); Tue, 10 Mar 2020 12:06:44 -0400 Received: from perceval.ideasonboard.com ([213.167.242.64]:55128 "EHLO perceval.ideasonboard.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727063AbgCJQGn (ORCPT ); Tue, 10 Mar 2020 12:06:43 -0400 Received: from pendragon.bb.dnainternet.fi (81-175-216-236.bb.dnainternet.fi [81.175.216.236]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 172D25F; Tue, 10 Mar 2020 17:06:42 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1583856402; bh=eTLv9evwq1hclFQkt0ctn8B9AB20PyR+QlzvsKMUw3s=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Qceh14ssTICpQxIMOccAWiLe7YBA6/KmQf8t0AgNYKwVPxZlYxIDtb6OoQIwy2V7L 3xUVfTrDSvI0D1eDPX8LeiL4uAMNaZ5pRfTr+hA0CJNrMTbtVhqruzF1DOyb2gecEY pkFpKu9OqDXJt25X8k8Pg1gjTLgewcKGeMdJ76J4= From: Laurent Pinchart To: linux-media@vger.kernel.org Cc: Steve Longerbeam , Philipp Zabel , Rui Miguel Silva Subject: [PATCH v2 04/10] media: imx: imx7-mipi-csis: Filter on CSI-2 data type Date: Tue, 10 Mar 2020 18:06:27 +0200 Message-Id: <20200310160633.950-5-laurent.pinchart@ideasonboard.com> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20200310160633.950-1-laurent.pinchart@ideasonboard.com> References: <20200310160633.950-1-laurent.pinchart@ideasonboard.com> MIME-Version: 1.0 Sender: linux-media-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org Enable filtering based on CSI-2 data type. Otherwise sources that send multiple data types (such as sensors that send embedded data) will not be properly supported. They will both result in additional non-image lines being captured, and in the receiver being confused as it doesn't resynchronise on vsync. Signed-off-by: Laurent Pinchart --- drivers/staging/media/imx/imx7-mipi-csis.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/staging/media/imx/imx7-mipi-csis.c b/drivers/staging/media/imx/imx7-mipi-csis.c index 2dd0b02e98b7..de17a1d22873 100644 --- a/drivers/staging/media/imx/imx7-mipi-csis.c +++ b/drivers/staging/media/imx/imx7-mipi-csis.c @@ -430,6 +430,7 @@ static void mipi_csis_set_params(struct csi_state *state) val = mipi_csis_read(state, MIPI_CSIS_CMN_CTRL); val &= ~MIPI_CSIS_CMN_CTRL_LANE_NR_MASK; val |= (lanes - 1) << MIPI_CSIS_CMN_CTRL_LANE_NR_OFFSET; + val |= MIPI_CSIS_CMN_CTRL_INTER_MODE; mipi_csis_write(state, MIPI_CSIS_CMN_CTRL, val); __mipi_csis_set_format(state); From patchwork Tue Mar 10 16:06:28 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Laurent Pinchart X-Patchwork-Id: 11429741 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id B328892A for ; Tue, 10 Mar 2020 16:06:46 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 89761222C3 for ; Tue, 10 Mar 2020 16:06:46 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="c18a22RL" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727097AbgCJQGp (ORCPT ); Tue, 10 Mar 2020 12:06:45 -0400 Received: from perceval.ideasonboard.com ([213.167.242.64]:55128 "EHLO perceval.ideasonboard.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727075AbgCJQGp (ORCPT ); Tue, 10 Mar 2020 12:06:45 -0400 Received: from pendragon.bb.dnainternet.fi (81-175-216-236.bb.dnainternet.fi [81.175.216.236]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 924FBD6E; Tue, 10 Mar 2020 17:06:42 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1583856402; bh=qZ8Q9n4GiSSp44StIH/iKqCX8rLCb0q0dRBrTTFIXag=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=c18a22RLemr90yW/kleOqWEXv64vMq7pZV7DXf8LQV0txlQ1m/vs9McNmiGlWXzZ7 L8IZZLkuumuRSxKvAP0+RbkNTZQShwq+pvbVCWc9refkgaviygwszRHdlmQ5/ms8NV 7Srj/9FeWZpOMoR29S7agcaikoaFSf+jI3l2aOyg= From: Laurent Pinchart To: linux-media@vger.kernel.org Cc: Steve Longerbeam , Philipp Zabel , Rui Miguel Silva Subject: [PATCH v2 05/10] media: imx: imx7-media-csi: Remove unneeded register read Date: Tue, 10 Mar 2020 18:06:28 +0200 Message-Id: <20200310160633.950-6-laurent.pinchart@ideasonboard.com> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20200310160633.950-1-laurent.pinchart@ideasonboard.com> References: <20200310160633.950-1-laurent.pinchart@ideasonboard.com> MIME-Version: 1.0 Sender: linux-media-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org The imx7_csi_dma_reflash() function starts by reading the unrelated register CSI_CSICR18 to then overwrite the read value with a read from register CSI_CSICR3. This is likely due to a bad copy&paste, and is not needed. Remove the extraneous read from register CSI_CSICR18. Fixes: 9e5fa4e1e5b5b ("media: imx7-media-csi: Use u32 for storing register reads") Signed-off-by: Laurent Pinchart Reviewed-by: Rui Miguel Silva --- Changes since v1: - Add Fixes: tag --- drivers/staging/media/imx/imx7-media-csi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/staging/media/imx/imx7-media-csi.c b/drivers/staging/media/imx/imx7-media-csi.c index db30e2c70f2f..2f665e4b8c40 100644 --- a/drivers/staging/media/imx/imx7-media-csi.c +++ b/drivers/staging/media/imx/imx7-media-csi.c @@ -292,7 +292,7 @@ static void imx7_csi_hw_disable(struct imx7_csi *csi) static void imx7_csi_dma_reflash(struct imx7_csi *csi) { - u32 cr3 = imx7_csi_reg_read(csi, CSI_CSICR18); + u32 cr3; cr3 = imx7_csi_reg_read(csi, CSI_CSICR3); cr3 |= BIT_DMA_REFLASH_RFF; From patchwork Tue Mar 10 16:06:29 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Laurent Pinchart X-Patchwork-Id: 11429743 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 6C5D992A for ; Tue, 10 Mar 2020 16:06:47 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 40E4422522 for ; Tue, 10 Mar 2020 16:06:47 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="HTMYhkdr" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727104AbgCJQGq (ORCPT ); Tue, 10 Mar 2020 12:06:46 -0400 Received: from perceval.ideasonboard.com ([213.167.242.64]:55140 "EHLO perceval.ideasonboard.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727063AbgCJQGp (ORCPT ); Tue, 10 Mar 2020 12:06:45 -0400 Received: from pendragon.bb.dnainternet.fi (81-175-216-236.bb.dnainternet.fi [81.175.216.236]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 1C3D7580; Tue, 10 Mar 2020 17:06:43 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1583856403; bh=+Ow796cILhn1WLb8qVyTtmNe/AxiuvndMbFfvaH18kY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=HTMYhkdrO9DSxTnY4ZRPQFPlkSXGk5RbhaBtkOm6yv7nhyENfVThQQ+25aWAZvO2d K7BRAbtPZHsxTk08kVESPc8lqo9cmfiFB9C1pwAM8Fo3gkmIOatcCX+GB9bNiDAyn+ GKUV20BZumpFro1pUTwV0EfoxKWmfOPvGEfbirbI= From: Laurent Pinchart To: linux-media@vger.kernel.org Cc: Steve Longerbeam , Philipp Zabel , Rui Miguel Silva Subject: [PATCH v2 06/10] media: imx: imx7-media-csi: Fix video field handling Date: Tue, 10 Mar 2020 18:06:29 +0200 Message-Id: <20200310160633.950-7-laurent.pinchart@ideasonboard.com> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20200310160633.950-1-laurent.pinchart@ideasonboard.com> References: <20200310160633.950-1-laurent.pinchart@ideasonboard.com> MIME-Version: 1.0 Sender: linux-media-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org Commit 4791bd7d6adc ("media: imx: Try colorimetry at both sink and source pads") reworked the way that formats are set on the sink pad of the CSI subdevice, and accidentally removed video field handling. Restore it by defaulting to V4L2_FIELD_NONE if the field value isn't supported, with the only two supported value being V4L2_FIELD_NONE and V4L2_FIELD_INTERLACED. Fixes: 4791bd7d6adc ("media: imx: Try colorimetry at both sink and source pads") Signed-off-by: Laurent Pinchart Reviewed-by: Rui Miguel Silva --- Changes since v1: - Fix commit message to mention V4L2_FIELD_INTERLACED instead of V4L2_FIELD_ALTERNATE --- drivers/staging/media/imx/imx7-media-csi.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/staging/media/imx/imx7-media-csi.c b/drivers/staging/media/imx/imx7-media-csi.c index 2f665e4b8c40..706c47741a3c 100644 --- a/drivers/staging/media/imx/imx7-media-csi.c +++ b/drivers/staging/media/imx/imx7-media-csi.c @@ -1009,6 +1009,7 @@ static int imx7_csi_try_fmt(struct imx7_csi *csi, sdformat->format.width = in_fmt->width; sdformat->format.height = in_fmt->height; sdformat->format.code = in_fmt->code; + sdformat->format.field = in_fmt->field; *cc = in_cc; sdformat->format.colorspace = in_fmt->colorspace; @@ -1023,6 +1024,9 @@ static int imx7_csi_try_fmt(struct imx7_csi *csi, false); sdformat->format.code = (*cc)->codes[0]; } + + if (sdformat->format.field != V4L2_FIELD_INTERLACED) + sdformat->format.field = V4L2_FIELD_NONE; break; default: return -EINVAL; From patchwork Tue Mar 10 16:06:30 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Laurent Pinchart X-Patchwork-Id: 11429749 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id EC78B92A for ; Tue, 10 Mar 2020 16:06:49 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id C166721D56 for ; Tue, 10 Mar 2020 16:06:49 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="P5EQItPQ" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727123AbgCJQGs (ORCPT ); Tue, 10 Mar 2020 12:06:48 -0400 Received: from perceval.ideasonboard.com ([213.167.242.64]:55128 "EHLO perceval.ideasonboard.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727061AbgCJQGq (ORCPT ); Tue, 10 Mar 2020 12:06:46 -0400 Received: from pendragon.bb.dnainternet.fi (81-175-216-236.bb.dnainternet.fi [81.175.216.236]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 968EAAC3; Tue, 10 Mar 2020 17:06:43 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1583856403; bh=UABPsoFkIBRcv6iWcleJ4LS/4me2cSyfh2TaYtK0oRs=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=P5EQItPQPl1nDJO1Fx+qZOmI00r7HKMpgG+IyFeI4u8mWVbaJeGO/DrSlObmvnaJC vzpt5QwPIw+orestT+HucW4M6ayjqR46oudUt4TWKUa3eR0aS0cBPli9Jh7OKYd0Lo mnxCB8AqsT1GnfMhQy95e1uUyHhNPQIxi0aCzDhw= From: Laurent Pinchart To: linux-media@vger.kernel.org Cc: Steve Longerbeam , Philipp Zabel , Rui Miguel Silva Subject: [PATCH v2 07/10] media: imx: imx6-media-csi: Replace Y16 with Y10 and Y12 Date: Tue, 10 Mar 2020 18:06:30 +0200 Message-Id: <20200310160633.950-8-laurent.pinchart@ideasonboard.com> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20200310160633.950-1-laurent.pinchart@ideasonboard.com> References: <20200310160633.950-1-laurent.pinchart@ideasonboard.com> MIME-Version: 1.0 Sender: linux-media-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org The driver doesn't really support V4L2_PIX_FMT_Y16, as there's no 16-bit greyscale media bus code defined by the kernel. It (ab)uses the format to capture 10-bit and 12-bit greyscale formats. Fix it to properly support MEDIA_BUS_FMT_Y10_1X10 and MEDIA_BUS_FMT_Y12_1X12 instead. Signed-off-by: Laurent Pinchart Reviewed-by: Rui Miguel Silva Acked-by: Steve Longerbeam --- drivers/staging/media/imx/imx-media-csi.c | 3 ++- drivers/staging/media/imx/imx-media-utils.c | 13 ++++++++----- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/drivers/staging/media/imx/imx-media-csi.c b/drivers/staging/media/imx/imx-media-csi.c index b60ed4f22f6d..f4abac93c0e4 100644 --- a/drivers/staging/media/imx/imx-media-csi.c +++ b/drivers/staging/media/imx/imx-media-csi.c @@ -457,7 +457,8 @@ static int csi_idmac_setup_channel(struct csi_priv *priv) case V4L2_PIX_FMT_SGBRG16: case V4L2_PIX_FMT_SGRBG16: case V4L2_PIX_FMT_SRGGB16: - case V4L2_PIX_FMT_Y16: + case V4L2_PIX_FMT_Y10: + case V4L2_PIX_FMT_Y12: burst_size = 8; passthrough_bits = 16; break; diff --git a/drivers/staging/media/imx/imx-media-utils.c b/drivers/staging/media/imx/imx-media-utils.c index 0788a1874557..bc20fcc88267 100644 --- a/drivers/staging/media/imx/imx-media-utils.c +++ b/drivers/staging/media/imx/imx-media-utils.c @@ -166,11 +166,14 @@ static const struct imx_media_pixfmt rgb_formats[] = { .bpp = 8, .bayer = true, }, { - .fourcc = V4L2_PIX_FMT_Y16, - .codes = { - MEDIA_BUS_FMT_Y10_1X10, - MEDIA_BUS_FMT_Y12_1X12, - }, + .fourcc = V4L2_PIX_FMT_Y10, + .codes = {MEDIA_BUS_FMT_Y10_1X10}, + .cs = IPUV3_COLORSPACE_RGB, + .bpp = 16, + .bayer = true, + }, { + .fourcc = V4L2_PIX_FMT_Y12, + .codes = {MEDIA_BUS_FMT_Y12_1X12}, .cs = IPUV3_COLORSPACE_RGB, .bpp = 16, .bayer = true, From patchwork Tue Mar 10 16:06:31 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Laurent Pinchart X-Patchwork-Id: 11429745 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 75343139A for ; Tue, 10 Mar 2020 16:06:48 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 4AA8521D56 for ; Tue, 10 Mar 2020 16:06:48 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="Ssw4HGN+" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727113AbgCJQGr (ORCPT ); Tue, 10 Mar 2020 12:06:47 -0400 Received: from perceval.ideasonboard.com ([213.167.242.64]:55140 "EHLO perceval.ideasonboard.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727075AbgCJQGq (ORCPT ); Tue, 10 Mar 2020 12:06:46 -0400 Received: from pendragon.bb.dnainternet.fi (81-175-216-236.bb.dnainternet.fi [81.175.216.236]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 1CA485F; Tue, 10 Mar 2020 17:06:44 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1583856404; bh=KQZ1vwcGrZ0kV6oV5/PjsdL2VHZRY637TyI8/iCBwr0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Ssw4HGN+qumP3XUzVYN3cvsOkEhdjoIJsj9JbJLAwb4AMrLPqoYNKSlt76Z5SJuN7 Q4uS8zPODtFDV5zUU9S0fHGQOft5bqdIozHnLesDASTp9V9ssLKEju+BUeBJw0TdBV FfCfrW0P/1MqWgo97OU1wEuQQeOFgoaqH2n/lGOg= From: Laurent Pinchart To: linux-media@vger.kernel.org Cc: Steve Longerbeam , Philipp Zabel , Rui Miguel Silva Subject: [PATCH v2 08/10] media: imx: imx6-media-csi: Support clamping Y10 and Y12 to Y8 Date: Tue, 10 Mar 2020 18:06:31 +0200 Message-Id: <20200310160633.950-9-laurent.pinchart@ideasonboard.com> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20200310160633.950-1-laurent.pinchart@ideasonboard.com> References: <20200310160633.950-1-laurent.pinchart@ideasonboard.com> MIME-Version: 1.0 Sender: linux-media-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org 10-bit and 12-bit greyscale input data to the CSI can be written as 8-bit data to memory. Support this. Signed-off-by: Laurent Pinchart Acked-by: Steve Longerbeam --- drivers/staging/media/imx/imx-media-utils.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/staging/media/imx/imx-media-utils.c b/drivers/staging/media/imx/imx-media-utils.c index bc20fcc88267..fae981698c49 100644 --- a/drivers/staging/media/imx/imx-media-utils.c +++ b/drivers/staging/media/imx/imx-media-utils.c @@ -161,7 +161,11 @@ static const struct imx_media_pixfmt rgb_formats[] = { .bayer = true, }, { .fourcc = V4L2_PIX_FMT_GREY, - .codes = {MEDIA_BUS_FMT_Y8_1X8}, + .codes = { + MEDIA_BUS_FMT_Y8_1X8, + MEDIA_BUS_FMT_Y10_1X10, + MEDIA_BUS_FMT_Y12_1X12, + }, .cs = IPUV3_COLORSPACE_RGB, .bpp = 8, .bayer = true, From patchwork Tue Mar 10 16:06:32 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Laurent Pinchart X-Patchwork-Id: 11429747 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 7A6AA139A for ; Tue, 10 Mar 2020 16:06:49 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 501F121D56 for ; Tue, 10 Mar 2020 16:06:49 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="IRe8rIXi" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726861AbgCJQGs (ORCPT ); Tue, 10 Mar 2020 12:06:48 -0400 Received: from perceval.ideasonboard.com ([213.167.242.64]:55140 "EHLO perceval.ideasonboard.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727063AbgCJQGr (ORCPT ); Tue, 10 Mar 2020 12:06:47 -0400 Received: from pendragon.bb.dnainternet.fi (81-175-216-236.bb.dnainternet.fi [81.175.216.236]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 97811D09; Tue, 10 Mar 2020 17:06:44 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1583856404; bh=Nb6OGfEJt7hIR2HArIumUmKdxv80Zt4MuRbJSN3ndAA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=IRe8rIXijvw8msTqcMait7AqIO95BvvS9mWqjBor4YSAplHy153VH2Keyvi4oBZBN 78En0e4+wOUbm5tqYNhYT8D2p89MzO+tmoJQeQWE2H/rB0SGtIaxziVXQqNxbiTTB2 BPtdx/zK2YeAlKGZgGvhPnY83u+ootgvhWJ4mLFU= From: Laurent Pinchart To: linux-media@vger.kernel.org Cc: Steve Longerbeam , Philipp Zabel , Rui Miguel Silva Subject: [PATCH v2 09/10] media: imx: imx7-media-csi: Add Y10 and Y12 formats support Date: Tue, 10 Mar 2020 18:06:32 +0200 Message-Id: <20200310160633.950-10-laurent.pinchart@ideasonboard.com> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20200310160633.950-1-laurent.pinchart@ideasonboard.com> References: <20200310160633.950-1-laurent.pinchart@ideasonboard.com> MIME-Version: 1.0 Sender: linux-media-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org Support capturing the 10- and 12-bit greyscale formats. Signed-off-by: Laurent Pinchart Reviewed-by: Rui Miguel Silva --- drivers/staging/media/imx/imx7-media-csi.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/staging/media/imx/imx7-media-csi.c b/drivers/staging/media/imx/imx7-media-csi.c index 706c47741a3c..e85202255168 100644 --- a/drivers/staging/media/imx/imx7-media-csi.c +++ b/drivers/staging/media/imx/imx7-media-csi.c @@ -804,6 +804,14 @@ static int imx7_csi_configure(struct imx7_csi *csi) case V4L2_PIX_FMT_YUYV: cr18 |= BIT_MIPI_DATA_FORMAT_YUV422_8B; break; + case V4L2_PIX_FMT_Y10: + cr18 |= BIT_MIPI_DATA_FORMAT_RAW10; + cr1 |= BIT_PIXEL_BIT; + break; + case V4L2_PIX_FMT_Y12: + cr18 |= BIT_MIPI_DATA_FORMAT_RAW12; + cr1 |= BIT_PIXEL_BIT; + break; case V4L2_PIX_FMT_SBGGR8: cr18 |= BIT_MIPI_DATA_FORMAT_RAW8; break; From patchwork Tue Mar 10 16:06:33 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Laurent Pinchart X-Patchwork-Id: 11429751 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id A14B71874 for ; Tue, 10 Mar 2020 16:06:50 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 7738F215A4 for ; Tue, 10 Mar 2020 16:06:50 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="Bhlv7d0I" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727124AbgCJQGt (ORCPT ); Tue, 10 Mar 2020 12:06:49 -0400 Received: from perceval.ideasonboard.com ([213.167.242.64]:55128 "EHLO perceval.ideasonboard.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727111AbgCJQGr (ORCPT ); Tue, 10 Mar 2020 12:06:47 -0400 Received: from pendragon.bb.dnainternet.fi (81-175-216-236.bb.dnainternet.fi [81.175.216.236]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 1DF9012F4; Tue, 10 Mar 2020 17:06:45 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1583856405; bh=JN5WJZtRStw23IFWCWkFelfNRhbJ+OK3qqPFh63WO2Y=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Bhlv7d0Irt5x0efRqp0XkMxJrqbKHLR90LTqrv04eWVOYjiKMHpYgTzQP3bzK2Lkl KuoPhX9HFBogyDcW5NNYoqTDYs/KQSPi7jleR0w9hqt9qdytw52bIxuWxyg34EvNpF EU+sdvIYU0zjXUhA7U5oc+BC1RgQ8UyqTgqEMK7M= From: Laurent Pinchart To: linux-media@vger.kernel.org Cc: Steve Longerbeam , Philipp Zabel , Rui Miguel Silva Subject: [PATCH v2 10/10] media: imx: imx7-media-csi: Support clamping Y10 and Y12 to Y8 Date: Tue, 10 Mar 2020 18:06:33 +0200 Message-Id: <20200310160633.950-11-laurent.pinchart@ideasonboard.com> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20200310160633.950-1-laurent.pinchart@ideasonboard.com> References: <20200310160633.950-1-laurent.pinchart@ideasonboard.com> MIME-Version: 1.0 Sender: linux-media-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org 10-bit and 12-bit greyscale input data to the CSI can be written as 8-bit data to memory. Support this. Signed-off-by: Laurent Pinchart Reviewed-by: Rui Miguel Silva --- drivers/staging/media/imx/imx7-media-csi.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/staging/media/imx/imx7-media-csi.c b/drivers/staging/media/imx/imx7-media-csi.c index e85202255168..3225082ce58d 100644 --- a/drivers/staging/media/imx/imx7-media-csi.c +++ b/drivers/staging/media/imx/imx7-media-csi.c @@ -804,6 +804,14 @@ static int imx7_csi_configure(struct imx7_csi *csi) case V4L2_PIX_FMT_YUYV: cr18 |= BIT_MIPI_DATA_FORMAT_YUV422_8B; break; + case V4L2_PIX_FMT_GREY: + if (in_code == MEDIA_BUS_FMT_Y8_1X8) + cr18 |= BIT_MIPI_DATA_FORMAT_RAW8; + else if (in_code == MEDIA_BUS_FMT_Y10_1X10) + cr18 |= BIT_MIPI_DATA_FORMAT_RAW10; + else + cr18 |= BIT_MIPI_DATA_FORMAT_RAW12; + break; case V4L2_PIX_FMT_Y10: cr18 |= BIT_MIPI_DATA_FORMAT_RAW10; cr1 |= BIT_PIXEL_BIT;