From patchwork Tue Feb 20 16:43:10 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dan Scally X-Patchwork-Id: 19511 Return-Path: X-Original-To: parsemail@patchwork.libcamera.org Delivered-To: parsemail@patchwork.libcamera.org Received: from lancelot.ideasonboard.com (lancelot.ideasonboard.com [92.243.16.209]) by patchwork.libcamera.org (Postfix) with ESMTPS id A199DC3257 for ; Tue, 20 Feb 2024 16:43:26 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 8887562817; Tue, 20 Feb 2024 17:43:25 +0100 (CET) Authentication-Results: lancelot.ideasonboard.com; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="mXF+L5eU"; dkim-atps=neutral Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 9EBFE61CA3 for ; Tue, 20 Feb 2024 17:43:23 +0100 (CET) Received: from mail.ideasonboard.com (cpc141996-chfd3-2-0-cust928.12-3.cable.virginm.net [86.13.91.161]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 1800D13AC; Tue, 20 Feb 2024 17:43:16 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1708447396; bh=4+0Tp2M5vej4BRki+Nu3M6MBR32SMG1j5eW3VnnX0q0=; h=From:To:Cc:Subject:Date:From; b=mXF+L5eUfdwd0TjwlncrI/l5QFX8R+Jd9zTamsh3kSubC2ve11LZFRd79MMdsBrjV GqkIgWKj7ecF3voKI3HH+fHkdUM3WFZ4v/5RrVRr0s6GtB2m9R/M4U/5eaoST08fTQ uGvilROYhrZQJpboLZF/Pyz9oe03L5hgZEwLuELQ= From: Daniel Scally To: libcamera-devel@lists.libcamera.org Subject: [PATCH v2 0/7] Remove RkISP1FrameInfo and IPU3Frames classes Date: Tue, 20 Feb 2024 16:43:10 +0000 Message-Id: <20240220164317.998477-1-dan.scally@ideasonboard.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 X-BeenThere: libcamera-devel@lists.libcamera.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libcamera-devel-bounces@lists.libcamera.org Sender: "libcamera-devel" Hello all This series represents further work on removing the RkISP1FrameInfo and IPU3Frames classes. These exist to track the "state" of a Request so that the pipeline handlers can decide whether or not it can be completed already, but it seems like we should be able to remove it and just re-factor the functionality out into the rest of the pipeline handler whilst relying on a new concept of "internal" buffers in Request::Private to track completion status of a Request. Quick reviews would be deeply appreciated so we can unblock other work that relies on this. I'm particularly interested in whether the concept of internal buffers for Requests is acceptable, or if the consensus is that tracking of whether a pipeline is ready to complete a request should live there instead. Thanks Dan Daniel Scally (7): libcamera: request: Introduce internal buffers libcamera: camera: Turn queuedRequests_ to a map libcamera: rkisp1: Track request->sequence() instead of frame_ libcamera: rkisp1: Switch tryCompleteRequest() to use Request * libcamera: rkisp1: Remove RkISP1FrameInfo libcamera: rkisp1: Remove tryCompleteRequest function libcamera: ipu3: Remove IPU3Frames include/libcamera/internal/camera.h | 4 +- include/libcamera/internal/request.h | 12 + src/libcamera/camera.cpp | 4 +- src/libcamera/pipeline/ipu3/cio2.cpp | 3 +- src/libcamera/pipeline/ipu3/cio2.h | 2 +- src/libcamera/pipeline/ipu3/frames.cpp | 143 ----------- src/libcamera/pipeline/ipu3/frames.h | 67 ----- src/libcamera/pipeline/ipu3/ipu3.cpp | 203 +++++++++------ src/libcamera/pipeline/ipu3/meson.build | 1 - src/libcamera/pipeline/rkisp1/rkisp1.cpp | 313 ++++++----------------- src/libcamera/pipeline_handler.cpp | 21 +- src/libcamera/request.cpp | 93 ++++++- 12 files changed, 322 insertions(+), 544 deletions(-) delete mode 100644 src/libcamera/pipeline/ipu3/frames.cpp delete mode 100644 src/libcamera/pipeline/ipu3/frames.h