From nobody Fri Dec 19 11:50:02 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