From nobody Wed Apr 1 09:48:33 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 D4634333730 for ; Mon, 30 Mar 2026 15:06:57 +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=1774883219; cv=none; b=aeuh1Yx7DHkey6o8hyWzO21L9K6xR6aOAwOMuwjbe+v3nW7sd3C0+9o/0wy/qxpxUBkFZmvt/0Q7skWVVIUGHVTRNpL/2HaR/CLsBstrPONMhXxHoGemK29Y/krkJaeRX6jDjKXItQ6G2E2JXwZa9zKbwP8SjoodzGvrQJpdTOM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774883219; c=relaxed/simple; bh=p+eWhg50WegLSEXAF6Nxv3eUiQbrMEZ4FanIPXGKwZw=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=U56/uDNo2v8+m0ZJWXRnh3RIp+WiqZspCYH0EKMAZTMqGbnt4ZjsEq6tzVoApoIOUSkpAcj9gbR6HqRhQDETkWOCFv8BhR6wkrQ2nvl5A04xeeml+ILhQsEcgAtkQOzEXHH3fu46ZO8U6nbTMrWoBsVOMfzgwzY7trCAG+OqDa0= 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=IJHRFUKy; 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="IJHRFUKy" Received: by mail-wm1-f49.google.com with SMTP id 5b1f17b1804b1-486fd3a577eso41721195e9.1 for ; Mon, 30 Mar 2026 08:06:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1774883216; x=1775488016; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=t10t7d90tvq1oIUR8H7YoceRX84rV+qS4jxtEp+R5O8=; b=IJHRFUKyzshU2gUyrxRM20SSsI8UtUedE97lr6jh6az9lwvjGXBo1EhLe5bN26SJGJ tJxB7cP9Heel4JdQVbPDyzFEQ0PJOENaTOLPnj34Wh0NzMhWz0CZ2oZD/XgGueeokU2o TYDYeStYwoIai25A8L7RS42HLEwKbpNTsGlBnVJdFxm5Ne2YixXqSC55uv+K8ZdVyLcO z+2wP3RgaeL9l4jQWZuzLWOoBDSPie/OKAwsQpt11rB03MhZ5LZHNG9e6psBaZWRQLh4 wabhVa7LCph0acUurO6T0YhA/kPz1jrIAjjIn3crihUu8/5to0xSQ7cMFsKWD5qMBTxX RWug== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774883216; x=1775488016; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=t10t7d90tvq1oIUR8H7YoceRX84rV+qS4jxtEp+R5O8=; b=Cu64njLMgDDcAM6JKJ4guvuFnHhGfGt1X5sfdB6GBX4tvj79hvrdQpPhRSgHyPM40H nspfqASHrU7xhE6KA07GIXzPLJ+l8Y5JbwJbo8ex6yeL7sIagiMtevLWUm8txowdJkzm H9NbDXjomIx++oaNZERQLI3uYbx1/a9WN6xog2fQvQpSFa1tJldFlGH8Gpn+sIRv7P0N sHHnl9QW3vbNstpPPNlwGs4pEb8kuVqFcdI9qJWylfZZfAMMQJcRrzyH9w9svELuKotn t8qz62GwRq0jlAOw0TrU9oJmoA5qpKNPQHCtmjemKJk49c+NWLsLYIJomFFVEkWs4ZXI 5bog== X-Forwarded-Encrypted: i=1; AJvYcCX76SZdQdeCgQdIQBEKWD1a2DdKZoUcxIijk2Dit5kPRRhYHEI+Vl0a0tixs3K6gskNN7lAb+t74mYoKRQ=@vger.kernel.org X-Gm-Message-State: AOJu0YzarB5Wt+kCByji5wXcI9u25pcevVDS3/LZAgpLG7Fpn7R11pTr 8rRN5/xOHv8JSA+NagkKq+EnIK1aW+8mkXssrM9Fi/RoUYPyj0HUxi100DDcE4HwUlQ= X-Gm-Gg: ATEYQzwjGgb767NGiJzk3LTZPw/kblQT1FR210wuMb2k+n7CEFkm3ElxtepjQfEAgBb jGfXGkudDeQEPMC8Y4/IYGBlNmryuU8mDRgAB5x+y1LeWAFBN4oNumFPJVVLrLo3bUrq99j0pb+ Qhkb+cQUvfgOJZGoXbHq6AspACg8rrFXU5AkaezXInAqd5j5gSiu/vw8IauQ5x8LyehzPa6UYvH /3JmbOTgoSfcyP7lSTYtMTpzl1dhmu1JeZEitHdhakAzElvpNIqNGpnb0fESPaIyzX0Jm8GXrIM QDrKXe+ZkWFcEq7kj9nPxsKjHe24zEI35mMe2AYHO74uUiYoJJ9vbV5shr9CHp9mFwrVkAYFB5Y MJbf/kElQocgZF9XXhjswqYmHcpVlRq31XHT8X5wQDnLCozs1Z0jYxXlVHDWtKHpuCNuiHDaqyH owvBqlLoe2MZgdo0MAPu+QIP9cA4O2cpPR+HPq/FL1MGmYchxCMYIpB3Ug9crg+TynSlGNEswzm Az+sg20ShhNWxfx7pius8YKve1MXFw+AA8NnSirfx1FhEAz X-Received: by 2002:a05:600c:8589:b0:485:39d1:b500 with SMTP id 5b1f17b1804b1-48727eef71bmr193388595e9.16.1774883216135; Mon, 30 Mar 2026 08:06:56 -0700 (PDT) Received: from iku.Home ([2a06:5906:61b:2d00:3b85:b2a6:8671:75d4]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48722d38a5fsm284031295e9.12.2026.03.30.08.06.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 30 Mar 2026 08:06:55 -0700 (PDT) From: Prabhakar X-Google-Original-From: Prabhakar To: Mauro Carvalho Chehab , Sakari Ailus , Hans Verkuil , Jacopo Mondi , Daniel Scally Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, linux-renesas-soc@vger.kernel.org, Prabhakar , Biju Das , Fabrizio Castro , Tommaso Merciai , Lad Prabhakar Subject: [PATCH] media: rzg2l-cru: Switch to v4l2_subdev_get_frame_desc() Date: Mon, 30 Mar 2026 16:06:39 +0100 Message-ID: <20260330150639.272174-1-prabhakar.mahadev-lad.rj@bp.renesas.com> X-Mailer: git-send-email 2.53.0 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 Replace direct v4l2_subdev_call() invocations of the get_frame_desc pad operation with the new v4l2_subdev_get_frame_desc() helper in both rzg2l-csi2 and rzg2l-video. Drop the -ENOIOCTLCMD handling and frame descriptor type validation as these are redundant after switching to v4l2_subdev_get_frame_desc(). Set fd.type to V4L2_MBUS_FRAME_DESC_TYPE_CSI2 before calling the helper as required by its API contract. Signed-off-by: Lad Prabhakar --- Note, this patch depends on the patch [0] posted by Sakari which adds the v4l2_subdev_get_frame_desc() helper. [0] https://lore.kernel.org/all/20260329195625.2840728-1-sakari.ailus@linux= .intel.com/ --- .../platform/renesas/rzg2l-cru/rzg2l-csi2.c | 5 +++-- .../platform/renesas/rzg2l-cru/rzg2l-video.c | 18 +++++++----------- 2 files changed, 10 insertions(+), 13 deletions(-) diff --git a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-csi2.c b/driver= s/media/platform/renesas/rzg2l-cru/rzg2l-csi2.c index 6dc4b53607b4..1fdd423f6e6c 100644 --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-csi2.c +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-csi2.c @@ -737,8 +737,9 @@ static int rzg2l_csi2_get_frame_desc(struct v4l2_subdev= *sd, unsigned int pad, csi2->remote_source->name, remote_pad); return PTR_ERR(remote_pad); } - return v4l2_subdev_call(csi2->remote_source, pad, get_frame_desc, - remote_pad->index, fd); + fd->type =3D V4L2_MBUS_FRAME_DESC_TYPE_CSI2; + return v4l2_subdev_get_frame_desc(csi2->remote_source, + remote_pad->index, fd); } =20 static const struct v4l2_subdev_video_ops rzg2l_csi2_video_ops =3D { diff --git a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c b/drive= rs/media/platform/renesas/rzg2l-cru/rzg2l-video.c index 162e2ace6931..e701a591ce8a 100644 --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c @@ -406,24 +406,20 @@ void rzg2l_cru_stop_image_processing(struct rzg2l_cru= _dev *cru) =20 static int rzg2l_cru_get_virtual_channel(struct rzg2l_cru_dev *cru) { - struct v4l2_mbus_frame_desc fd =3D { }; + struct v4l2_mbus_frame_desc fd =3D { + .type =3D V4L2_MBUS_FRAME_DESC_TYPE_CSI2, + }; struct media_pad *remote_pad; int ret; =20 remote_pad =3D media_pad_remote_pad_unique(&cru->ip.pads[RZG2L_CRU_IP_SIN= K]); - ret =3D v4l2_subdev_call(cru->ip.remote, pad, get_frame_desc, remote_pad-= >index, &fd); - if (ret < 0 && ret !=3D -ENOIOCTLCMD) { + + ret =3D v4l2_subdev_get_frame_desc(cru->ip.remote, + remote_pad->index, &fd); + if (ret < 0) { dev_err(cru->dev, "get_frame_desc failed on IP remote subdev\n"); return ret; } - /* If remote subdev does not implement .get_frame_desc default to VC0. */ - if (ret =3D=3D -ENOIOCTLCMD) - return 0; - - if (fd.type !=3D V4L2_MBUS_FRAME_DESC_TYPE_CSI2) { - dev_err(cru->dev, "get_frame_desc returned invalid bus type %d\n", fd.ty= pe); - return -EINVAL; - } =20 if (!fd.num_entries) { dev_err(cru->dev, "get_frame_desc returned zero entries\n"); --=20 2.53.0