From nobody Fri Dec 19 10:10:10 2025 Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9F4E5326D76; Tue, 9 Dec 2025 12:31:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=213.167.242.64 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765283522; cv=none; b=pUCc7zTT2SX7SDalCXbTev6gY2hQ06vGs2O6BqDRMMPOaLCmadtcaYdSI2UpXajJmN1G50HdUVOGkKklf6CETOJCJ3gYHtf8lHPe1cNExUTThTp0ZGrn7WTbePcY/3VcEtNaBLNpHE3MFSAuqeAa2i8Ai8UXqu4oRMyb7JCTHR0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765283522; c=relaxed/simple; bh=j28mLh9q2tWJK/jNy6SAvZiExT86p8zYwA+dXzqMg/A=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=gJpuo9orRkgbG4w2nMFyWHS6VrQDkgak0E+y9Ik9wZPxr8Wl52cJkNUgXSGCE2ZFap+Hxw8VIF1m/hfy8xQLZdPEZZejCFtB/+rNKPq+Q5ihpiLY2w/fCZ/PIWRh9emwQ4LeY3lmL6UgSInnAVIVNPCRlQfcVELWx1x1/3lgUzg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ideasonboard.com; spf=pass smtp.mailfrom=ideasonboard.com; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b=UC6XkpBc; arc=none smtp.client-ip=213.167.242.64 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ideasonboard.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ideasonboard.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="UC6XkpBc" Received: from isaac-ThinkPad-T16-Gen-2.infra.iob (cpc89244-aztw30-2-0-cust6594.18-1.cable.virginm.net [86.31.185.195]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 4A876110; Tue, 9 Dec 2025 13:31:50 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1765283510; bh=j28mLh9q2tWJK/jNy6SAvZiExT86p8zYwA+dXzqMg/A=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=UC6XkpBcUdYSatNLI0/s6EEbyUbijDZ1iqX7vSVaYspUU952VshKv+MTI1TI6JvRf GcbhAmRjH94ytPFuvJfgTe3CPK5RycuF2pVkzvZ4FFuWQcf+8qFi4eulGvDsUrhFJn YruMcU09mcVe/mDRR7bCtVGXzCRykW/PFGXs0Qtk= From: Isaac Scott To: dafna@fastmail.com Cc: laurent.pinchart@ideasonboard.com, mchehab@kernel.org, heiko@sntech.de, linux-media@vger.kernel.org, linux-rockchip@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Isaac Scott Subject: [RFC PATCH 1/6] media: rkisp1-resizer: Add YUV source formats to resizer Date: Tue, 9 Dec 2025 12:31:31 +0000 Message-ID: <20251209123136.273938-2-isaac.scott@ideasonboard.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251209123136.273938-1-isaac.scott@ideasonboard.com> References: <20251209123136.273938-1-isaac.scott@ideasonboard.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" To be able to use YUV bypass, YUV formats need to be available on the source pad of the rkisp1 resizer. Add them. Signed-off-by: Isaac Scott --- .../platform/rockchip/rkisp1/rkisp1-resizer.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-resizer.c b/driv= ers/media/platform/rockchip/rkisp1/rkisp1-resizer.c index 8e6b753d3081..447adec8589b 100644 --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-resizer.c +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-resizer.c @@ -33,6 +33,22 @@ static const struct rkisp1_rsz_yuv_mbus_info rkisp1_rsz_= yuv_src_formats[] =3D { .hdiv =3D 2, .vdiv =3D 2, }, + { + .mbus_code =3D MEDIA_BUS_FMT_YUYV8_2X8, /* YUV420 */ + .hdiv =3D 1, + .vdiv =3D 1, + }, + { + .mbus_code =3D MEDIA_BUS_FMT_VYUY8_2X8, /* YUV420 */ + .hdiv =3D 1, + .vdiv =3D 1, + }, + { + .mbus_code =3D MEDIA_BUS_FMT_UYVY8_2X8, /* YUV420 */ + .hdiv =3D 1, + .vdiv =3D 1, + }, + }; =20 static const struct rkisp1_rsz_yuv_mbus_info *rkisp1_rsz_get_yuv_mbus_info= (u32 mbus_code) --=20 2.43.0 From nobody Fri Dec 19 10:10:10 2025 Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2B10E326D74; Tue, 9 Dec 2025 12:32:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=213.167.242.64 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765283532; cv=none; b=OmMmijx/Rh+iXKXNJ/2SQVYEqQk528xI8mEKquxOkw3F4YQ6HwSZLoPiyD5VhEiYY4qdOkIbJKLLxWhiDWZbtX3NHqlw/HSitUjg6XgXB8rCTMfY7zyfW70XT7114ABkcT2muKmzFddkisq/nvVBuYkam7RoXp8X57OcynF7C9I= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765283532; c=relaxed/simple; bh=ug/J00ml0noX1QaBJY7xGdOLjc/+Nt6LtyzhtftDOg4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Spkx0HqOn+ikeInCN8eAfnZHRPGum2/bK9B+/OnLIbK+uicNnmJLvytt8yEgmBd1/vswRfzyqpAR7Z0r6L7mkNWyxc92ONr3v6J/RT/pLWlMB3EUEO//Lgks2m4xFethHSoL0k/aECRbjMptxCx1PwMFe7elxaRKRrotR0e5zU8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ideasonboard.com; spf=pass smtp.mailfrom=ideasonboard.com; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b=f0Vs0DS6; arc=none smtp.client-ip=213.167.242.64 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ideasonboard.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ideasonboard.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="f0Vs0DS6" Received: from isaac-ThinkPad-T16-Gen-2.infra.iob (cpc89244-aztw30-2-0-cust6594.18-1.cable.virginm.net [86.31.185.195]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 65D4D7E6; Tue, 9 Dec 2025 13:31:52 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1765283512; bh=ug/J00ml0noX1QaBJY7xGdOLjc/+Nt6LtyzhtftDOg4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=f0Vs0DS6nae9owtOW6VdF8WiVnVEs02qu663ORQS8Xgcf1Myj/zs8vHshUjISmkMw 12TlLsuHy659AwoR23hrV3ay7W8QGWEMbhSXPE0IWsSgQEm3lFuUsHhf4aMRFfWXb2 4Ir4WNgu0J+SpINBGa6QnC0twBCexnTws0ZGm+OE= From: Isaac Scott To: dafna@fastmail.com Cc: laurent.pinchart@ideasonboard.com, mchehab@kernel.org, heiko@sntech.de, linux-media@vger.kernel.org, linux-rockchip@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Isaac Scott Subject: [RFC PATCH 2/6] media: rkisp1-isp: Add in_bypass flag for YUV bypass Date: Tue, 9 Dec 2025 12:31:32 +0000 Message-ID: <20251209123136.273938-3-isaac.scott@ideasonboard.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251209123136.273938-1-isaac.scott@ideasonboard.com> References: <20251209123136.273938-1-isaac.scott@ideasonboard.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The rkisp1 features a 'bypass' mode for RAW and YUV formats. This disables all ISP blocks, and makes the rkisp1 display input data from the mipi csi receiver at the output, unmodified. To determine whether we can activate bypass, we can detect whether both the source and sink formats are YUV. If they are, we can set a new in_bypass flag. Signed-off-by: Isaac Scott --- drivers/media/platform/rockchip/rkisp1/rkisp1-common.h | 1 + drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c | 6 +++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-common.h b/drive= rs/media/platform/rockchip/rkisp1/rkisp1-common.h index 5e6a4d5f6fd1..d90233e31ad3 100644 --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-common.h +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-common.h @@ -532,6 +532,7 @@ struct rkisp1_device { struct rkisp1_debug debug; const struct rkisp1_info *info; int irqs[RKISP1_NUM_IRQS]; + bool in_bypass; bool irqs_enabled; }; =20 diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c b/drivers/= media/platform/rockchip/rkisp1/rkisp1-isp.c index 2311672cedb1..7f0802ae3dcc 100644 --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c @@ -212,6 +212,8 @@ static int rkisp1_config_isp(struct rkisp1_isp *isp, const struct v4l2_mbus_framefmt *sink_frm; const struct v4l2_rect *sink_crop; =20 + rkisp1->in_bypass =3D false; + sink_frm =3D v4l2_subdev_state_get_format(sd_state, RKISP1_ISP_PAD_SINK_VIDEO); sink_crop =3D v4l2_subdev_state_get_crop(sd_state, @@ -240,7 +242,9 @@ static int rkisp1_config_isp(struct rkisp1_isp *isp, } } else if (sink_fmt->pixel_enc =3D=3D V4L2_PIXEL_ENC_YUV) { acq_mult =3D 2; - if (mbus_type =3D=3D V4L2_MBUS_CSI2_DPHY) { + if (src_fmt->pixel_enc =3D=3D V4L2_PIXEL_ENC_YUV) { + rkisp1->in_bypass =3D true; + } else if (mbus_type =3D=3D V4L2_MBUS_CSI2_DPHY) { isp_ctrl =3D RKISP1_CIF_ISP_CTRL_ISP_MODE_ITU601; } else { if (mbus_type =3D=3D V4L2_MBUS_BT656) --=20 2.43.0 From nobody Fri Dec 19 10:10:10 2025 Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9C458326922; Tue, 9 Dec 2025 12:32:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=213.167.242.64 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765283536; cv=none; b=E+jneMQ06Qx11aXKTX2FoYVbwK93tdD+QF2+B8jsuqj6Dpykkuh3Z+05P47Y28vdfrBsQgFIgFsz7DoVHnm14tZU9HE0CBTIYRlbQBDgylgUC33AKfE70GFejaplPrLnbwfo9MLz4qYeGJrfDTDTOMtMeb5pftuEPI0g6P8WQpM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765283536; c=relaxed/simple; bh=NyyRdDX2WZbA0znUhmAwrClOIgKwPmzzc+lI7uMT9ME=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=JPe6jfDaJcRwSdxLo4/5kEShwuzPQW1xTt17PfqJmA3g1gYIVezmhRBNHK5sZlQCheAIf1jb3SHjuGw0j8M/mCF95wKwGfiFQAKtPU4k9qQ1gEUdiObKwNXX+aEeVIn501kTDAEISbEMFcLkdRocV94GINgJ6sYLmHesduV8sDw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ideasonboard.com; spf=pass smtp.mailfrom=ideasonboard.com; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b=LbGvufnG; arc=none smtp.client-ip=213.167.242.64 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ideasonboard.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ideasonboard.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="LbGvufnG" Received: from isaac-ThinkPad-T16-Gen-2.infra.iob (cpc89244-aztw30-2-0-cust6594.18-1.cable.virginm.net [86.31.185.195]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 25841833; Tue, 9 Dec 2025 13:31:54 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1765283514; bh=NyyRdDX2WZbA0znUhmAwrClOIgKwPmzzc+lI7uMT9ME=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=LbGvufnGVH2wQu9qgZByAVecRcIA5mdtZAPfjoOssxgDH+TdY+/N1Le8aNXN5TUoW bcOO4u0kBROqsaO+C9mHd5MU+m/zy+B/FCDLUTv6uV9HwA5P+yaxhmHeVf5UnGuszA F+9UQlZvYiWKPXZuoT+OeKML/OD1VjJCP4CUUcyM= From: Isaac Scott To: dafna@fastmail.com Cc: laurent.pinchart@ideasonboard.com, mchehab@kernel.org, heiko@sntech.de, linux-media@vger.kernel.org, linux-rockchip@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Isaac Scott Subject: [RFC PATCH 3/6] media: rkisp1-isp: Add target_format Date: Tue, 9 Dec 2025 12:31:33 +0000 Message-ID: <20251209123136.273938-4-isaac.scott@ideasonboard.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251209123136.273938-1-isaac.scott@ideasonboard.com> References: <20251209123136.273938-1-isaac.scott@ideasonboard.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" In passthough mode, we want to make sure the output format of the ISP is identical to the input format. Add logic to ensure the format we configure the output of the ISP with is the sink format when we are in bypass, and the source format if we are not. Signed-off-by: Isaac Scott --- drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c b/drivers/= media/platform/rockchip/rkisp1/rkisp1-isp.c index 7f0802ae3dcc..7c844e00808a 100644 --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c @@ -175,9 +175,10 @@ static void rkisp1_gasket_disable(struct rkisp1_device= *rkisp1) static void rkisp1_config_ism(struct rkisp1_isp *isp, const struct v4l2_subdev_state *sd_state) { - const struct v4l2_rect *src_crop =3D + const struct v4l2_rect *target_crop =3D v4l2_subdev_state_get_crop(sd_state, - RKISP1_ISP_PAD_SOURCE_VIDEO); + (isp->rkisp1->in_bypass ? + RKISP1_ISP_PAD_SINK_VIDEO : RKISP1_ISP_PAD_SOURCE_VIDEO)); struct rkisp1_device *rkisp1 =3D isp->rkisp1; u32 val; =20 @@ -185,10 +186,10 @@ static void rkisp1_config_ism(struct rkisp1_isp *isp, rkisp1_write(rkisp1, RKISP1_CIF_ISP_IS_MAX_DX, 0); rkisp1_write(rkisp1, RKISP1_CIF_ISP_IS_MAX_DY, 0); rkisp1_write(rkisp1, RKISP1_CIF_ISP_IS_DISPLACE, 0); - rkisp1_write(rkisp1, RKISP1_CIF_ISP_IS_H_OFFS, src_crop->left); - rkisp1_write(rkisp1, RKISP1_CIF_ISP_IS_V_OFFS, src_crop->top); - rkisp1_write(rkisp1, RKISP1_CIF_ISP_IS_H_SIZE, src_crop->width); - rkisp1_write(rkisp1, RKISP1_CIF_ISP_IS_V_SIZE, src_crop->height); + rkisp1_write(rkisp1, RKISP1_CIF_ISP_IS_H_OFFS, target_crop->left); + rkisp1_write(rkisp1, RKISP1_CIF_ISP_IS_V_OFFS, target_crop->top); + rkisp1_write(rkisp1, RKISP1_CIF_ISP_IS_H_SIZE, target_crop->width); + rkisp1_write(rkisp1, RKISP1_CIF_ISP_IS_V_SIZE, target_crop->height); =20 /* IS(Image Stabilization) is always on, working as output crop */ rkisp1_write(rkisp1, RKISP1_CIF_ISP_IS_CTRL, 1); --=20 2.43.0 From nobody Fri Dec 19 10:10:10 2025 Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E82503271F9; Tue, 9 Dec 2025 12:32:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=213.167.242.64 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765283544; cv=none; b=G+uZnf5HD5QX2afbxALgPZdjlNnLZytKx7HjRVaZ2kMs0AexGRl0c09bSb67YIR/RoC6tjgFEbAZfsyqzAzLsvJGogCcfYo9PtNTeWZ50uNP3eD9B7aE9NyiGxu9qoTe6ViwzGiKgHBGJNm3wll2fHDRwH1p+YYSa8zJ2j+fGtM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765283544; c=relaxed/simple; bh=JrLzcV4fJeWZQJDh36e6v9O37lwUmXTAldwPVMcCne8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=arcnvTMYWZ2XIOyIDY+46Ss5dhvHuWY83fkTqydikbc0RPK1oTNPUhm3dkhGCp5rzc0k5wVE8SNz0xVjOj30AQktGI0MgW3fFmrfAMdUnJP2ir1lcR3+Y2xPjCLqjTXErEJdMa11i/drUyw41KhUDGhDjVERlEbY5twmj/Q+F7g= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ideasonboard.com; spf=pass smtp.mailfrom=ideasonboard.com; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b=voxqRvEO; arc=none smtp.client-ip=213.167.242.64 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ideasonboard.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ideasonboard.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="voxqRvEO" Received: from isaac-ThinkPad-T16-Gen-2.infra.iob (cpc89244-aztw30-2-0-cust6594.18-1.cable.virginm.net [86.31.185.195]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id ABD5B89A; Tue, 9 Dec 2025 13:31:55 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1765283516; bh=JrLzcV4fJeWZQJDh36e6v9O37lwUmXTAldwPVMcCne8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=voxqRvEOPLyxl/KvsDCbOG8uoQUOODnWQGsOjOUs0rInZP0AfNOkYWXNHw3Isii/M NSboeL9cqaWny7iBDXM4vA90UrScx5QvTS+xO28HLk6BA3CRGz6UQ0EFmM4i7nyshs PhANWt8wB905Hs+CPY8D4SheuoUhfnM2C8/x5tPU= From: Isaac Scott To: dafna@fastmail.com Cc: laurent.pinchart@ideasonboard.com, mchehab@kernel.org, heiko@sntech.de, linux-media@vger.kernel.org, linux-rockchip@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Isaac Scott Subject: [RFC PATCH 4/6] media: rkisp1: Set input configuration to data mode in bypass Date: Tue, 9 Dec 2025 12:31:34 +0000 Message-ID: <20251209123136.273938-5-isaac.scott@ideasonboard.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251209123136.273938-1-isaac.scott@ideasonboard.com> References: <20251209123136.273938-1-isaac.scott@ideasonboard.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" For YUV bypass, we should configure the ISP input to interpret incoming H/VSYNC signals as data enable / disable. Add this. Signed-off-by: Isaac Scott --- drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c b/drivers/= media/platform/rockchip/rkisp1/rkisp1-isp.c index 7c844e00808a..716bd7f3c66d 100644 --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c @@ -244,6 +244,7 @@ static int rkisp1_config_isp(struct rkisp1_isp *isp, } else if (sink_fmt->pixel_enc =3D=3D V4L2_PIXEL_ENC_YUV) { acq_mult =3D 2; if (src_fmt->pixel_enc =3D=3D V4L2_PIXEL_ENC_YUV) { + isp_ctrl =3D RKISP1_CIF_ISP_CTRL_ISP_MODE_DATA_MODE; rkisp1->in_bypass =3D true; } else if (mbus_type =3D=3D V4L2_MBUS_CSI2_DPHY) { isp_ctrl =3D RKISP1_CIF_ISP_CTRL_ISP_MODE_ITU601; --=20 2.43.0 From nobody Fri Dec 19 10:10:10 2025 Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 685E73271ED; Tue, 9 Dec 2025 12:32:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=213.167.242.64 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765283547; cv=none; b=rEI2FhD//aS83kVQJkY1m47qx6PQYb5jKvE2hXOSZyNnufTepvYVYblcWKwmTKLoKdFEdzeCiEiEbGE3B5cosNOh598wjxrbh83Vz+Ws4frUkswgp4lRQ3fmhh1ld5fRma2IfjjiwFTpYqOL39k0iX6P7k7gkHGJjz9vEfpYXKg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765283547; c=relaxed/simple; bh=uT+0UkAjXO177URXDBOJe4n6IOs5odTKgpgqrzkTy60=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=hjCQt84EJfTTKE9W3Z+xCHREeTByyA8kRhnjC0sH6mIpu1S/re7EsnEi3eyT3vUwt3GCYeBJ0O4N5OM9sPOiZLb7tYbNGeu/M0xyNJi7+p8vkCWS/sGy3YdTSPlHw3dLTujsQSBPWvL11/WyU3fvifhx1q9i2BYkSYdD1qFLRtE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ideasonboard.com; spf=pass smtp.mailfrom=ideasonboard.com; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b=VWaHCQ/b; arc=none smtp.client-ip=213.167.242.64 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ideasonboard.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ideasonboard.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="VWaHCQ/b" Received: from isaac-ThinkPad-T16-Gen-2.infra.iob (cpc89244-aztw30-2-0-cust6594.18-1.cable.virginm.net [86.31.185.195]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 53F63A30; Tue, 9 Dec 2025 13:31:57 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1765283517; bh=uT+0UkAjXO177URXDBOJe4n6IOs5odTKgpgqrzkTy60=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=VWaHCQ/b99ZxsDrWxwWtGnomlXayB3t/iT+Dt9D14rTCdjVx0A6r+Eb0+jAYejmM3 37vg3Bl697mI9qdQzqz7r7z0Z1MRxpn0eoxp7kfMbWzy3EE+/bijEdloqTlGGE6sXW BKwZ3DIkXSoKsMIfhuuJna++gfqFyqQ8adFXze30= From: Isaac Scott To: dafna@fastmail.com Cc: laurent.pinchart@ideasonboard.com, mchehab@kernel.org, heiko@sntech.de, linux-media@vger.kernel.org, linux-rockchip@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Isaac Scott Subject: [RFC PATCH 5/6] media: Propagate sink -> source format in YUV passthough Date: Tue, 9 Dec 2025 12:31:35 +0000 Message-ID: <20251209123136.273938-6-isaac.scott@ideasonboard.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251209123136.273938-1-isaac.scott@ideasonboard.com> References: <20251209123136.273938-1-isaac.scott@ideasonboard.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" If we are in bypass mode, we should propagate the sink format of the ISP to the source format to ensure the pipeline is valid. Signed-off-by: Isaac Scott --- drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c b/drivers/= media/platform/rockchip/rkisp1/rkisp1-isp.c index 716bd7f3c66d..c457593526c5 100644 --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c @@ -630,6 +630,11 @@ static void rkisp1_isp_set_src_fmt(struct rkisp1_isp *= isp, */ sink_info =3D rkisp1_mbus_info_get_by_code(sink_fmt->code); =20 + if (sink_info->pixel_enc =3D=3D V4L2_PIXEL_ENC_YUV) { + format->code =3D sink_fmt->code; + dev_dbg(isp->rkisp1->dev, "ISP sink pad is YUV"); + } + src_fmt->code =3D format->code; src_info =3D rkisp1_mbus_info_get_by_code(src_fmt->code); if (!src_info || !(src_info->direction & RKISP1_ISP_SD_SRC)) { --=20 2.43.0 From nobody Fri Dec 19 10:10:10 2025 Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 65457326D55; Tue, 9 Dec 2025 12:32:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=213.167.242.64 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765283558; cv=none; b=lgVp4vygqYjOCZ0AdrOryvz/wwQTJ6br83ReGrAFaAnJs4rsOMNTjsP9ZSHTanbWdFdB/CukAavtH93K6WyNh1xkG0WRjPEVBflTP/ZQHNxTOIpGeK97k9u0MEhEE1FhCW5dXxyVex9DeRb+/h19KgfIgwATV7puTR8ibzP1nDI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765283558; c=relaxed/simple; bh=HZQyMjT87Z1PejUxmVw81uhUIpqcMrEpz5q4yzf0/Yc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=NJsA2EoIimTIytZzYMqZVq4x3Qh+d0Q6DYS04QEX3JEgOBpAZwdEbmABEVPEH16ZENO8SN0Kc5v04SoDPv6m4pR9HRv17cR7W4g/11AvXpfZqPpxwFupKYudbISCuc4wQpe4zQbllVyydDXRLyxWsxwNDkXXvqtejNI6AVeso3w= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ideasonboard.com; spf=pass smtp.mailfrom=ideasonboard.com; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b=ExoYpECA; arc=none smtp.client-ip=213.167.242.64 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ideasonboard.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ideasonboard.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="ExoYpECA" Received: from isaac-ThinkPad-T16-Gen-2.infra.iob (cpc89244-aztw30-2-0-cust6594.18-1.cable.virginm.net [86.31.185.195]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 66E84BE1; Tue, 9 Dec 2025 13:31:59 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1765283519; bh=HZQyMjT87Z1PejUxmVw81uhUIpqcMrEpz5q4yzf0/Yc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ExoYpECA4ZPC8E5wHdP7Fp7YT3Eox6+ZgfAUZbjEZCzaREBQIAugY4O33p21RUnmP wzxinv3+L3Xu0W4kdSNnAmjzAzgwFvjNyAmXxiGorXjwi546ZXi2GJuLD4IJx78HwO Fv5joDDbfDTk9VBi+Gl5YEykwDK//JRQiNsa6qpM= From: Isaac Scott To: dafna@fastmail.com Cc: laurent.pinchart@ideasonboard.com, mchehab@kernel.org, heiko@sntech.de, linux-media@vger.kernel.org, linux-rockchip@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Isaac Scott Subject: [RFC PATCH 6/6] media: rkisp1: Give buffers back instead of dropping in bypass mode Date: Tue, 9 Dec 2025 12:31:36 +0000 Message-ID: <20251209123136.273938-7-isaac.scott@ideasonboard.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251209123136.273938-1-isaac.scott@ideasonboard.com> References: <20251209123136.273938-1-isaac.scott@ideasonboard.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" In the data mode used for YUV passthrough, falling VSYNC events are used to determine when a buffer is complete. This means there is no 'Frame End' signal. Previously, all buffers would be dropped when bypass mode was active. Instead of dropping every frame, we should return the buffer to user space if it is marked as complete by a falling VSYNC signal. Signed-off-by: Isaac Scott --- drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c b/driv= ers/media/platform/rockchip/rkisp1/rkisp1-capture.c index 6dcefd144d5a..ffce08e45200 100644 --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c @@ -832,6 +832,11 @@ irqreturn_t rkisp1_capture_isr(int irq, void *ctx) for (i =3D 0; i < dev_count; ++i) { struct rkisp1_capture *cap =3D &rkisp1->capture_devs[i]; =20 + if (rkisp1->in_bypass) { + rkisp1_handle_buffer(cap); + continue; + } + if (!(status & RKISP1_CIF_MI_FRAME(cap))) continue; if (!cap->is_stopping) { --=20 2.43.0