From patchwork Fri Jul 25 10:33:48 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jacopo Mondi X-Patchwork-Id: 23957 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 421D2C3237 for ; Fri, 25 Jul 2025 10:34:10 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 17B5C690CA; Fri, 25 Jul 2025 12:34:04 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (1024-bit key; unprotected) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="FTwOeef2"; dkim-atps=neutral Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 77F14690A6 for ; Fri, 25 Jul 2025 12:33:58 +0200 (CEST) Received: from [192.168.0.172] (mob-5-90-139-29.net.vodafone.it [5.90.139.29]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id A7F48C73; Fri, 25 Jul 2025 12:33:18 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1753439598; bh=THF0Kw9TXJ7PML3qqZjgbn6VWRx4chsRFzNQGGbndxc=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=FTwOeef2Ut4UC9+1L8kW+dT+/mlv2ANP2iT8rUpCPBrTjjLuFkEW7/Aq5MpHAjr7Q Y1D7kE40++uPWRwwa2GA/4yOU/1PmcejJgt7mco7JNwA+P+IqHENz9sHYReQls3W2D CL8bP2W+XoTDO5wOwYsRu8xKkkeSlHvN5MqD7JZo= From: Jacopo Mondi Date: Fri, 25 Jul 2025 12:33:48 +0200 Subject: [PATCH 3/9] include: linux: v4l2-subdev: Add SUBDEV_BIND_CONTEXT MIME-Version: 1.0 Message-Id: <20250725-multicontext-v1-3-ea558291e101@ideasonboard.com> References: <20250725-multicontext-v1-0-ea558291e101@ideasonboard.com> In-Reply-To: <20250725-multicontext-v1-0-ea558291e101@ideasonboard.com> To: libcamera-devel@lists.libcamera.org Cc: Jacopo Mondi X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1702; i=jacopo.mondi@ideasonboard.com; h=from:subject:message-id; bh=THF0Kw9TXJ7PML3qqZjgbn6VWRx4chsRFzNQGGbndxc=; b=owEBbQKS/ZANAwAKAXI0Bo8WoVY8AcsmYgBog12Tj+omHfCPgWR//IcQRAQW58uSQn+pFjzXA oYpgX+EKUWJAjMEAAEKAB0WIQS1xD1IgJogio9YOMByNAaPFqFWPAUCaINdkwAKCRByNAaPFqFW PLxvEAC2DpJv30fCkZMOJ/fKL1ibWGzUvVXiWij7Lb9vr6+1iRZbHTlJqGpcGVcMElgABUjvOnP moFQyjksJM5KF3mdarGqZULc0a50sBFoFCiolUxF6iw260ndJR2v7HYtWwM+zO5ObnbpMUUeN7o 8yMh5NOIDdotX3EogpDATCX5yvCPbR+cVEMuba2w1CN4O+mFauhEDS1hwu66+5dRrHIltWU5/O+ ImfLGGRLAdDdsHTAsDeQkcj23Ly91ELlbC1EI0Es4bQtcYFZMqsxrfspPUyxkmsoU3yQHfWc5so MUuEmFRyOF1uT97knAyyLdCV6ti6G8poU5zsyPCNy0i1tjBjdpiF3NDuNgmB/XsrNvSCRayF08k xkueO6QnS41pRi8z5qIPZY+KKXtOCXa21rx/nmw3xEhkC87BiIHpJOrtO/3y3Wy+a7EIQWBg4cI 7Rjg5XGTssJihn+xa7k31sStRoKGNGwP4fwIY6xEwLEQnHKUmYlVsJJSGa6B95Gp2XArXWw8m1R KkcvfL6xT3a8lp6auqaUGOy+YoH9pX2c+k2iMpE65Vitup5kvbLTRt59OGsiguMgYr+yX3Czbht Ni/okIOrBNsAQk4hniuiI5MwX3JORblwMHfinPysQ+V0ug/VJTM4lI2riDuEBywvoN34QhtZryV bW3jyBGJ5c7P7vQ== X-Developer-Key: i=jacopo.mondi@ideasonboard.com; a=openpgp; fpr=72392EDC88144A65C701EA9BA5826A2587AD026B 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" Temporary update the media.h header from Linux kernel using the flags introduced by: https://patchwork.linuxtv.org/project/linux-media/patch/20250724-multicontext-mainline-2025-v2-13-c9b316773486@ideasonboard.com/ Signed-off-by: Jacopo Mondi Reviewed-by: Isaac Scott --- include/linux/v4l2-subdev.h | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/include/linux/v4l2-subdev.h b/include/linux/v4l2-subdev.h index 839b1329afb259c96551cf76e9186bcb3229554a..9234a4cfc20a866840348224425948f3aa6d5d63 100644 --- a/include/linux/v4l2-subdev.h +++ b/include/linux/v4l2-subdev.h @@ -248,6 +248,16 @@ struct v4l2_subdev_routing { __u32 reserved[11]; }; +/** + * struct v4l2_subdev_bind_context - Subdev context information + * + * @context_fd: The file descriptor of the media_device instance the subdevice + * has to be bound to + */ +struct v4l2_subdev_bind_context { + __u32 context_fd; +}; + /* * The client is aware of streams. Setting this flag enables the use of 'stream' * fields (referring to the stream number) with various ioctls. If this is not @@ -290,6 +300,7 @@ struct v4l2_subdev_client_capability { #define VIDIOC_SUBDEV_S_SELECTION _IOWR('V', 62, struct v4l2_subdev_selection) #define VIDIOC_SUBDEV_G_ROUTING _IOWR('V', 38, struct v4l2_subdev_routing) #define VIDIOC_SUBDEV_S_ROUTING _IOWR('V', 39, struct v4l2_subdev_routing) +#define VIDIOC_SUBDEV_BIND_CONTEXT _IOWR('V', 50, struct v4l2_subdev_bind_context) #define VIDIOC_SUBDEV_G_CLIENT_CAP _IOR('V', 101, struct v4l2_subdev_client_capability) #define VIDIOC_SUBDEV_S_CLIENT_CAP _IOWR('V', 102, struct v4l2_subdev_client_capability)