From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.7]) (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 D42422E06E4 for ; Tue, 5 May 2026 06:47:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.7 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777963642; cv=none; b=UVhVjhtFecl+kBLEyfIqMnIMUAlxqnfeHZOZqqltaMXFR6MPhRdE//QM3dOhTZt1sGmU3NsS7VisTiyMAy8WB1iZuuvkXI+QEIj/UuXGtfHMJE3T7pdaV9EO5nZvIQgxfhrxtFxINjcyIX2ywZBvDF3Dysnyz+6osJwSVRMCwtU= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777963642; c=relaxed/simple; bh=CZluX2EIYFB8hbLRQlwSNAYJ4/j8kMTZONjBj4PV74Y=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=ESqy1TnU3tUa0h5Ybea1A2uMeDeQ0D3fWhAjPb36UEb3vNJ2CmNCmjhnNBSx+HiFDOTW1ORpnWmULLm5UyPCpvkxH5m+golq/F7FwHWf/bn6AVaE/XTu1kwioImBxCi1+BIxSzPrVUDaPSpKk+Q8I9pbucF4lNwxdD2+Lr95xHs= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com; spf=pass smtp.mailfrom=linux.intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=k9Rz1AkW; arc=none smtp.client-ip=192.198.163.7 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="k9Rz1AkW" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1777963641; x=1809499641; h=date:from:to:cc:subject:message-id:references: mime-version:in-reply-to; bh=CZluX2EIYFB8hbLRQlwSNAYJ4/j8kMTZONjBj4PV74Y=; b=k9Rz1AkWGyFTFeRCS6OkriA2k1jGIhKWypL1EXkToQ96oJgz+tYyX3h/ 6wuThgDU7VVn5s2o+oduAwsmhm4IEN/R6F0X1bFYmYw6oZV0I46LEhemK /nosDjUdfbidyOkdwbN9zjeVVw+vxgSyQjJpv2yWpER/gypC4L+L0GXE6 0f4Nx9S13JfJ/7n9ZXvsZpIWaoQXE4uZ/p+k/Di+WVTh2331EWjvoPxj5 2Aow8N5hrWcQLl4ToaUzn66jLbp/9vm77MTY1z56+0LBPAoqw89PgWOIA UGIbd7px6Vv5b2EgwhumwePwmJjbHaBNfxn35xTDr5WSbfck/i869Gkfd A==; X-CSE-ConnectionGUID: upGoNCpiRh+OjEcV3V+CkA== X-CSE-MsgGUID: XDyxnFW0Qo2EB/z6RsCKFg== X-IronPort-AV: E=McAfee;i="6800,10657,11776"; a="104276178" X-IronPort-AV: E=Sophos;i="6.23,217,1770624000"; d="scan'208";a="104276178" Received: from fmviesa001.fm.intel.com ([10.60.135.141]) by fmvoesa101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 May 2026 23:47:20 -0700 X-CSE-ConnectionGUID: lRa4Ip+MQ5+G+QDbwcA61g== X-CSE-MsgGUID: r/2RrsmTTzSBgolyN6g94w== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.23,217,1770624000"; d="scan'208";a="259398043" Received: from smoticic-mobl1.ger.corp.intel.com (HELO kekkonen.fi.intel.com) ([10.245.244.23]) by smtpauth.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 May 2026 23:47:14 -0700 Received: from kekkonen.localdomain (localhost [IPv6:::1]) by kekkonen.fi.intel.com (Postfix) with SMTP id 7E198121CB0; Tue, 05 May 2026 09:47:14 +0300 (EEST) Date: Tue, 5 May 2026 09:47:14 +0300 Organization: Intel Finland Oy - BIC 0357606-4 - c/o Alberga Business Park, 6 krs, Bertel Jungin Aukio 5, 02600 Espoo From: Sakari Ailus To: Hans Verkuil Cc: linux-media@vger.kernel.org, laurent.pinchart@ideasonboard.com, Prabhakar , Kate Hsuan , Dave Stevenson , Tommaso Merciai , Benjamin Mugnier , Sylvain Petinot , Christophe JAILLET , Julien Massot , Naushir Patuck , "Yan, Dongcheng" , "Cao, Bingbu" , "Qiu, Tian Shu" , Stefan Klug , Mirela Rabulea , =?iso-8859-1?Q?Andr=E9?= Apitzsch , Heimir Thor Sverrisson , Kieran Bingham , Mehdi Djait , Ricardo Ribalda Delgado , Hans de Goede , Jacopo Mondi , Tomi Valkeinen , David Plowman , "Yu, Ong Hock" , "Ng, Khai Wen" , Jai Luthra , Rishikesh Donadkar Subject: Re: [PATCH v4 20/29] media: uapi: Bump the STREAMS bit a little Message-ID: References: <20260408153939.969381-1-sakari.ailus@linux.intel.com> <20260408153939.969381-21-sakari.ailus@linux.intel.com> Precedence: bulk X-Mailing-List: linux-media@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Hi Hans, Thanks for the review. On Tue, May 05, 2026 at 08:33:43AM +0200, Hans Verkuil wrote: > On 08/04/2026 17:39, Sakari Ailus wrote: > > Bump the V4L2_SUBDEV_CAP_STREAMS by one bit up, order to avoid confusing > > libcamera with streams that has moved forward from the original libcamera > > implementation. The bit can presumably be taken into use but only after > > the other free bits. > > The commit log must explain why this is safe to do. In this case because > v4l2_subdev_enable_streams_api is currently always false, which means > that this capability is always removed. > > It's also not clear to me why this is important for libcamera. Since > the streams API is still disabled, any libcamera code depending on it > should be purely for testing, right? Libcamera uses streams if supported by the kernel, but the streams support in this set doesn't match with what libcamera expects. In other words, without this patch libcamera breaks if you enable streams support on all drivers that support streams. I'll elaborate this in the commit message in v5. > > Regardless, this uAPI change needs to be documented a lot better. > > Regards, > > Hans > > > > > Signed-off-by: Sakari Ailus > > --- > > include/uapi/linux/v4l2-subdev.h | 5 ++++- > > 1 file changed, 4 insertions(+), 1 deletion(-) > > > > diff --git a/include/uapi/linux/v4l2-subdev.h b/include/uapi/linux/v4l2-subdev.h > > index 2347e266cf75..6160c3e21436 100644 > > --- a/include/uapi/linux/v4l2-subdev.h > > +++ b/include/uapi/linux/v4l2-subdev.h > > @@ -196,8 +196,11 @@ struct v4l2_subdev_capability { > > /* The v4l2 sub-device video device node is registered in read-only mode. */ > > #define V4L2_SUBDEV_CAP_RO_SUBDEV 0x00000001 > > > > +/* Reserved, old STREAMS bit libcamera used before API stabilisation. */ > > +/* #define V4L2_SUBDEV_CAP_STREAMS_PRELIMINARY 0x00000002 */ > > + > > /* The v4l2 sub-device supports routing and multiplexed streams. */ > > -#define V4L2_SUBDEV_CAP_STREAMS 0x00000002 > > +#define V4L2_SUBDEV_CAP_STREAMS 0x00000004 > > > > /* > > * Is the route active? An active route will start when streaming is enabled > -- Regards, Sakari Ailus