From nobody Thu Apr 2 15:43:37 2026 Received: from mail-wm1-f49.google.com (mail-wm1-f49.google.com [209.85.128.49]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D6C8D40DFDE for ; Sat, 28 Mar 2026 13:29:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.49 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774704571; cv=none; b=V0FXbs7SDilbp8LvVjTGsOGIUkDu965zRkjpMBbbbQfsyVQNcNKTPNbrYE9ry97Ohb6pMDwIrssP5JnHvwpec5Ylm3xt/V9ZG13AVILZFeefrpgDVjeQybHs1KDpDKYM18/2V4afoz/I64Qwl2gw+vpA9BcANl3EOuRj2CY+LNg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774704571; c=relaxed/simple; bh=RJe9GzRsVnP9RgGUrpNPFKt+FZ5gT6tjolAsDsfcPn8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=m0pFdfX42Wfnyvpgx2xkUDBOrDMhmV1d8xMaxct9u8pOEuG7t+CIlBat42DyBZQbzAXgLfWL5EhXitwbyvsXR0D6GBW1zt886jJ/Da+z8wv/sbiCWLdJNbyTxgDXB9dSSiep22R4GjI2kLXb3kdrHQoWNG1n/FwuyKxre8gqYn8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=fh1hnHS2; arc=none smtp.client-ip=209.85.128.49 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="fh1hnHS2" Received: by mail-wm1-f49.google.com with SMTP id 5b1f17b1804b1-486fd3a577eso26042465e9.1 for ; Sat, 28 Mar 2026 06:29:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1774704568; x=1775309368; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=7X4Hw21VVlfFhBGvSzfDwQVT4JNcMNCdD8bUyasxiZU=; b=fh1hnHS22FxDy8AgkpM3b8+r/9faUwVkRka0w0umFPn9lznGBtCbzJJ4ocVt+/QbSF bpE+/mlrTcNHs6UbuYHH7neC4pFlajHaVfRVdG1WWBy1loj2o547BuF7l9ymYobGcNif sOLVnHrCOnIp5fprJ6cpy31hs8W7uO4Vpf5tyOITMcWJL/wtj91AHex++vph8ZPwL2nv b/Xuktc/I/QlVPl6aDyIHwMJirRtCPoxfjVI682fDPGkPee2WrZzhjvBc66sukbOD8L7 R3ehCxvUSzC2AOApex1Y0lLQDKv2VGdFM3PRyC26uXY2LTKCVz9VCWLJc7j93Br6GWDq vU2g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774704568; x=1775309368; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=7X4Hw21VVlfFhBGvSzfDwQVT4JNcMNCdD8bUyasxiZU=; b=h1VRXrPQ13ComzsnSK7AeE3C+KfnkZJEHkW6QBtsGTr4875WbkRi5y2Ixpsh/ZrM3r E4LNNfu0uys4/OC3rV3RmECduUMlwFp/+pmRbr2TlTIiDLQ6YQ/v9rzmJY+fnmQoFbKZ R+PpniJAIQn8jKv5iOc9UROUWwMr/nlsqSbo+IESDx4ooTSDh8aeFNftF54nMdsGp26b TcQ5fh4aFvaDY4bjJKOH3stF4NncKE8RjBi1NnP1t8tNO/N9SoT6QUDVuHdcAKBAIfBa m13i4i/WX2E/8Li8UKbMJfusYocw2k97mTwx/38Dst3n2n4KDwWhtEB4Zjy6HWtLdt1s TU5w== X-Forwarded-Encrypted: i=1; AJvYcCXNDevGOZQNOHvg6nmSfk/xeBr8EQoLXt0kQMclbcCELHhSaW0GGMzfRXb4XyzHdQQ627hdH4z/yHrivgE=@vger.kernel.org X-Gm-Message-State: AOJu0YxuH42UDbVpT4sVwEVyqvRzUDkvwp5KalLR0bTdbCoOzhmlN+y+ ow/oJI1RREFddrwZgaDtyG9uLGJ6ku+T0m3pviheb2v5J4acXjjCT846 X-Gm-Gg: ATEYQzyye24ZEXIX+FtyxUeTiQ1h0w8xYsMYk55xylUMXndrdKP1FSr8YgF//JMCNU+ 1DqgVs06VSLWanXtOxi/kFxpr8VrI8wHFrpS8prFP68fs88q/CVl4CKwZpWt8djf4y+65/LLkE4 ykmekkgiIBMQEiFK/QlzwvM1/3qC9U6uqk0EhJX9EarUN24OJvqbx/cLgc5u8G9s+9PdwfG3Zdv XYZkbwOIYRsCIMdCgzvs2KvToZad85N0PRtro+5IvDXfAs8YY9e9iWxuOfRA9Gf9ozZ6CIp5kh9 2EnvdhKzITa6Huq8Y04aqjVJ5X2cS8b8tvqBxTV3LBPLtC/oyVvFVvwl5mT6mjYQkHM0fvb1aLc r+eAFl3a06gKlQSYF5DyJ1X4mpYcmXGMZikdIr+72Z6pZ94uqXUNd3s+x+LL/iwxAbLDCHQwBOl wU7/QQ2gUKTqnSvLMF5mPr+yzzSgDA9OpEAxSoyDQI7+P0QKFnHm0xIOjk0F+C/BO7Fv5qlh92B tgjJOPzggVS3NaStMJqNoWxND/uDFNgKuogPd6Qt3dQ/wg= X-Received: by 2002:a05:600c:4e15:b0:477:7ae0:cd6e with SMTP id 5b1f17b1804b1-48727d5a16fmr96169455e9.5.1774704568187; Sat, 28 Mar 2026 06:29:28 -0700 (PDT) Received: from iku.example.org ([2a06:5906:61b:2d00:e1de:7c03:e16f:8136]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43cf21e265fsm5369110f8f.1.2026.03.28.06.29.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 28 Mar 2026 06:29:27 -0700 (PDT) From: Prabhakar X-Google-Original-From: Prabhakar To: Mauro Carvalho Chehab , Sakari Ailus , Hans Verkuil , Hans de Goede , Laurent Pinchart , Vladimir Zapolskiy , Mehdi Djait , Xiaolei Wang , Benjamin Mugnier , Sylvain Petinot , Jacopo Mondi , Hardevsinh Palaniya Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, linux-renesas-soc@vger.kernel.org, Prabhakar , Biju Das , Fabrizio Castro , Lad Prabhakar , Laurent Pinchart Subject: [PATCH v2 1/2] media: i2c: ov5645: Report streams using frame descriptors Date: Sat, 28 Mar 2026 13:29:01 +0000 Message-ID: <20260328132902.776757-2-prabhakar.mahadev-lad.rj@bp.renesas.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260328132902.776757-1-prabhakar.mahadev-lad.rj@bp.renesas.com> References: <20260328132902.776757-1-prabhakar.mahadev-lad.rj@bp.renesas.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" From: Lad Prabhakar Implement the .get_frame_desc() subdev operation to report information about streams to the connected CSI-2 receiver. This is required to let the CSI-2 receiver driver know about virtual channels and data types for each stream. Signed-off-by: Lad Prabhakar Reviewed-by: Laurent Pinchart --- Changes since v3 [0], - Added a macro for the source pad index. - Updated ov5645_init_state() to use the new macro. [0] https://lore.kernel.org/all/20241018153230.235647-9-prabhakar.mahadev-l= ad.rj@bp.renesas.com/ Hi Laurent, Ive restored your RB tag with the above changes. Please let me know if you have any further comments. Cheers, Prabhakar --- drivers/media/i2c/ov5645.c | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/drivers/media/i2c/ov5645.c b/drivers/media/i2c/ov5645.c index b10d408034a1..df9001fce44d 100644 --- a/drivers/media/i2c/ov5645.c +++ b/drivers/media/i2c/ov5645.c @@ -28,6 +28,7 @@ #include #include #include +#include #include #include #include @@ -68,6 +69,8 @@ static const char * const ov5645_supply_name[] =3D { =20 #define OV5645_NUM_SUPPLIES ARRAY_SIZE(ov5645_supply_name) =20 +#define OV5645_PAD_SOURCE 0 + struct reg_value { u16 reg; u8 val; @@ -817,6 +820,29 @@ static const struct v4l2_ctrl_ops ov5645_ctrl_ops =3D { .s_ctrl =3D ov5645_s_ctrl, }; =20 +static int ov5645_get_frame_desc(struct v4l2_subdev *sd, unsigned int pad, + struct v4l2_mbus_frame_desc *fd) +{ + struct v4l2_subdev_state *state; + u32 code; + + state =3D v4l2_subdev_lock_and_get_active_state(sd); + code =3D v4l2_subdev_state_get_format(state, OV5645_PAD_SOURCE, 0)->code; + v4l2_subdev_unlock_state(state); + + fd->type =3D V4L2_MBUS_FRAME_DESC_TYPE_CSI2; + fd->num_entries =3D 1; + + memset(fd->entry, 0, sizeof(fd->entry)); + + fd->entry[0].pixelcode =3D code; + fd->entry[0].stream =3D 0; + fd->entry[0].bus.csi2.vc =3D 0; + fd->entry[0].bus.csi2.dt =3D MIPI_CSI2_DT_YUV422_8B; + + return 0; +} + static int ov5645_enum_mbus_code(struct v4l2_subdev *sd, struct v4l2_subdev_state *sd_state, struct v4l2_subdev_mbus_code_enum *code) @@ -897,7 +923,7 @@ static int ov5645_init_state(struct v4l2_subdev *subdev, { struct v4l2_subdev_format fmt =3D { .which =3D V4L2_SUBDEV_FORMAT_TRY, - .pad =3D 0, + .pad =3D OV5645_PAD_SOURCE, .format =3D { .code =3D MEDIA_BUS_FMT_UYVY8_1X16, .width =3D ov5645_mode_info_data[1].width, @@ -988,6 +1014,7 @@ static const struct v4l2_subdev_video_ops ov5645_video= _ops =3D { }; =20 static const struct v4l2_subdev_pad_ops ov5645_subdev_pad_ops =3D { + .get_frame_desc =3D ov5645_get_frame_desc, .enum_mbus_code =3D ov5645_enum_mbus_code, .enum_frame_size =3D ov5645_enum_frame_size, .get_fmt =3D v4l2_subdev_get_fmt, --=20 2.53.0