Received: by 2002:ab2:3350:0:b0:1f4:6588:b3a7 with SMTP id o16csp1391244lqe; Mon, 8 Apr 2024 07:41:53 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCUVF0biMkyN9EN955I4Ng2tgjb6HrbYjmOmNrg86do7EItyLGw4RP16wSRYMgC88IttZ/Fq/uhNdZsKzLnBiBateHkqaVHeT6oZIAMWwQ== X-Google-Smtp-Source: AGHT+IHoDuZWGuSmI1gxvNdx+OPswSh2YNpHJ6e+MwmzS43Ln9AjQVx53wSUo3+i6y4OxoqSwqjA X-Received: by 2002:a17:902:e415:b0:1e2:a197:7b3f with SMTP id m21-20020a170902e41500b001e2a1977b3fmr6896220ple.31.1712587313328; Mon, 08 Apr 2024 07:41:53 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1712587313; cv=pass; d=google.com; s=arc-20160816; b=r/f0UW+equSY5Fx/uxp9vfni9nRUrSu421UrAUquEzfA3OxT7/HTN2o+rsyNnsD275 ENh5XoiwZD5UOC+IR8HGL+j3uzWKFv07QX3r6HaXso8+SIoHtgWptUMS5VZSO8kiCbvm jn6MoPX0Kn1Qu5q7rR0qVwRQPkYh9/6nPyw+n/Zuk0TF8moz3eELsEDaofud+VS0Trv+ EfolyTiaeJ8gDcHGtujwZM+D13TFevN/LtbeRbOEofX28CHOBv8iCDfDivOw7SP/15Xg flzyI4z8MYmidu6MzWsTyHMdm4yq3CGourXcrgJU9ljSgwv/xSwC9yQEvqfv8RZnQxHf l0CQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:in-reply-to:references:cc:to:from :content-language:subject:user-agent:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:date:message-id; bh=Tpbu17TSHtkySrJ5WwUYqbIS14lmYr8s4f+FoqMh3pM=; fh=KpOe9lIGTJGMUwkrFqcbp0hAPBzN1EVwfwNdEz7hLB0=; b=Cah96/FSB9Tl4zzrPO5vIB4qvwR4+PR44AzuAja7sd4oSX8FqXkzj3tB1vpa0AfqEL hT2aoA8Qrb23imAN1D/VYpR/OFieVNfGMo3Te0yphtXjPxnWiOt8SNTwfPjWH/uBB+w4 1fpFu+uCKbpmnw/oB8u4+oJZQEVT/hcO0z9CCa29/CBobe/pvZohgb12CcmpOGV/NMEq Xi2Lh7XG+5MQ/OSAY9gTB/9B6iLljrE91IYT75KJHmjhsf8s+xp+TwDZPiLgVUvvuOgM 207AYEei4ecdsl+XAxNSJRWu0ACNOFJ3tI1j2hgWXRcWlTVhwWFjxQ7c9h+P/POG9mYy UC3A==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; arc=pass (i=1); spf=pass (google.com: domain of linux-kernel+bounces-135499-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:40f1:3f00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-135499-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=xs4all.nl Return-Path: Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org. [2604:1380:40f1:3f00::1]) by mx.google.com with ESMTPS id x6-20020a170902a38600b001e3e092ac1dsi3892422pla.325.2024.04.08.07.41.52 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 08 Apr 2024 07:41:53 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-135499-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:40f1:3f00::1 as permitted sender) client-ip=2604:1380:40f1:3f00::1; Authentication-Results: mx.google.com; arc=pass (i=1); spf=pass (google.com: domain of linux-kernel+bounces-135499-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:40f1:3f00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-135499-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=xs4all.nl Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sy.mirrors.kernel.org (Postfix) with ESMTPS id C6579B280B4 for ; Mon, 8 Apr 2024 14:18:43 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id E290212AAD0; Mon, 8 Apr 2024 14:18:04 +0000 (UTC) Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 43858127B4E; Mon, 8 Apr 2024 14:18:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712585884; cv=none; b=C0KsXaBkvOX9o65nXp99/JN/IWceXuvsZi5mlu7ZtFoWzjJHWJxaBQ4lnMt4gI+Lss+X+oKxxQfaV3xb5EoDfrWHOI3Bvo7rZeU6go/S5UcLuUro5EFEc+j3L8JDtnj3qQ9PEsAmdEPSpGXOG2t244YasMmT0qo+4vNFov+tnJc= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712585884; c=relaxed/simple; bh=H92i75+oyvNWVJtkoi+cDWvL0dIIzwlAH92gqf8Shvo=; h=Message-ID:Date:MIME-Version:Subject:From:To:Cc:References: In-Reply-To:Content-Type; b=dLMFOll4dZfHGuc9lzRcD0JP95OuZ9QmablSafB/aRB4j5u/oO8sAih3Oin5n6yP/FWgSMrpBSQpgWfresLaNYTl4V4RHcN/EQrY06noIy0xWFJPmCLQKfS5iG/oJbCWLbCZ3VzZiH3alnJN4WsLw7thi99ABZPBEpjlShvgBaM= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 Received: by smtp.kernel.org (Postfix) with ESMTPSA id 03FBEC43399; Mon, 8 Apr 2024 14:18:00 +0000 (UTC) Message-ID: <5aa6d853-60f5-485b-b892-e6e81acdfc12@xs4all.nl> Date: Mon, 8 Apr 2024 16:17:59 +0200 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 00/16] Switch subdev dv timing callbacks to pad ops Content-Language: en-US, nl From: Hans Verkuil To: =?UTF-8?Q?Pawe=C5=82_Anikiel?= , kieran.bingham@ideasonboard.com, mchehab@kernel.org, tharvey@gateworks.com, niklas.soderlund@ragnatech.se, prabhakar.csengg@gmail.com, charles-antoine.couret@nexvision.fr, thierry.reding@gmail.com, jonathanh@nvidia.com, skomatineni@nvidia.com, luca.ceresoli@bootlin.com Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, chromeos-krk-upstreaming@google.com References: <20240405141411.1807189-1-panikiel@google.com> <6027dacf-549e-4855-97d9-dd02e65fd94a@xs4all.nl> In-Reply-To: <6027dacf-549e-4855-97d9-dd02e65fd94a@xs4all.nl> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit On 08/04/2024 16:15, Hans Verkuil wrote: > On 05/04/2024 16:13, Paweł Anikiel wrote: >> Currently, subdev dv timing calls (i.e. g/s/query_dv_timings) are video >> ops without a pad argument. This is a problem if the subdevice can have >> different dv timings for each pad (e.g. a DisplayPort receiver with >> multiple virtual channels). >> >> This patchset changes subdev dv timing callbacks to include a pad >> argument, and moves them from video to pad ops. All the affected >> drivers are updated to use the new pad ops version. >> >> The affected drivers were updated in a way that mathes how they deal >> with the pad argument in other callbacks (mainly enum_dv_timings, >> dv_timings_cap, get/set_edid). >> >> This was originally a part of a larger patchset: >> https://lore.kernel.org/lkml/20240221160215.484151-2-panikiel@google.com/ >> >> Paweł Anikiel (16): >> media: v4l2-subdev: Add pad versions of dv timing subdev calls >> media: i2c: adv748x: Switch dv timing callbacks to pad ops >> media: i2c: adv7511: Switch dv timing callbacks to pad ops >> media: i2c: adv7604: Switch dv timing callbacks to pad ops >> media: i2c: adv7842: Switch dv timing callbacks to pad ops >> media: i2c: tc358743: Switch dv timing callbacks to pad ops >> media: i2c: tda1997x: Switch dv timing callbacks to pad ops >> media: i2c: ths7303: Switch dv timing callbacks to pad ops >> media: i2c: ths8200: Switch dv timing callbacks to pad ops >> media: i2c: tvp7002: Switch dv timing callbacks to pad ops >> media: spi: gs1662: Switch dv timing callbacks to pad ops >> media: cobalt: Use pad variant of dv timing subdev calls >> media: rcar-vin: Use pad variant of dv timing subdev calls >> media: vpif_capture: Use pad variant of dv timing subdev calls >> media: tegra-video: Use pad variant of dv timing subdev calls >> media: v4l2-subdev: Remove non-pad dv timing callbacks > > You missed one: > > In file included from include/media/v4l2-device.h:13, > from drivers/media/platform/ti/davinci/vpif_display.h:13, > from drivers/media/platform/ti/davinci/vpif_display.c:26: > drivers/media/platform/ti/davinci/vpif_display.c: In function 'vpif_s_dv_timings': > include/media/v4l2-subdev.h:1816:56: error: 'const struct v4l2_subdev_video_ops' has no member named 's_dv_timings' > 1816 | else if (!(__sd->ops->o && __sd->ops->o->f)) \ > | ^~ > drivers/media/platform/ti/davinci/vpif_display.c:937:15: note: in expansion of macro 'v4l2_subdev_call' > 937 | ret = v4l2_subdev_call(ch->sd, video, s_dv_timings, timings); > | ^~~~~~~~~~~~~~~~ > include/media/v4l2-subdev.h:1819:53: error: 'const struct v4l2_subdev_video_ops' has no member named 's_dv_timings' > 1819 | v4l2_subdev_call_wrappers.o->f) \ > | ^~ > drivers/media/platform/ti/davinci/vpif_display.c:937:15: note: in expansion of macro 'v4l2_subdev_call' > 937 | ret = v4l2_subdev_call(ch->sd, video, s_dv_timings, timings); > | ^~~~~~~~~~~~~~~~ > include/media/v4l2-subdev.h:1820:63: error: 'const struct v4l2_subdev_video_ops' has no member named 's_dv_timings' > 1820 | __result = v4l2_subdev_call_wrappers.o->f( \ > | ^~ > drivers/media/platform/ti/davinci/vpif_display.c:937:15: note: in expansion of macro 'v4l2_subdev_call' > 937 | ret = v4l2_subdev_call(ch->sd, video, s_dv_timings, timings); > | ^~~~~~~~~~~~~~~~ > include/media/v4l2-subdev.h:1823:48: error: 'const struct v4l2_subdev_video_ops' has no member named 's_dv_timings' > 1823 | __result = __sd->ops->o->f(__sd, ##args); \ > | ^~ > drivers/media/platform/ti/davinci/vpif_display.c:937:15: note: in expansion of macro 'v4l2_subdev_call' > 937 | ret = v4l2_subdev_call(ch->sd, video, s_dv_timings, timings); > | ^~~~~~~~~~~~~~~~ > drivers/media/platform/ti/davinci/vpif_display.c:937:15: error: no member 's_dv_timings' in struct v4l2_subdev_video_ops > drivers/media/platform/ti/davinci/vpif_display.c:937:15: error: no member 's_dv_timings' in struct v4l2_subdev_video_ops > drivers/media/platform/ti/davinci/vpif_display.c:937:15: error: no member 's_dv_timings' in struct v4l2_subdev_video_ops > drivers/media/platform/ti/davinci/vpif_display.c:937:15: error: no member 's_dv_timings' in struct v4l2_subdev_video_ops No need to post a v2. Just post a single patch '14.5/16' to convert vpif_display that will be added after patch [14/16], then I'll take care of it. Regards, Hans > > Regards, > > Hans > >> >> drivers/media/i2c/adv748x/adv748x-hdmi.c | 16 ++++---- >> drivers/media/i2c/adv7511-v4l2.c | 14 +++++-- >> drivers/media/i2c/adv7604.c | 14 +++---- >> drivers/media/i2c/adv7842.c | 25 ++++++++---- >> drivers/media/i2c/tc358743.c | 23 +++++++---- >> drivers/media/i2c/tda1997x.c | 12 +++--- >> drivers/media/i2c/ths7303.c | 8 +++- >> drivers/media/i2c/ths8200.c | 14 +++++-- >> drivers/media/i2c/tvp7002.c | 26 +++++++++---- >> drivers/media/pci/cobalt/cobalt-v4l2.c | 12 +++--- >> .../platform/renesas/rcar-vin/rcar-v4l2.c | 9 +++-- >> .../media/platform/ti/davinci/vpif_capture.c | 4 +- >> drivers/media/spi/gs1662.c | 21 +++++++--- >> drivers/media/v4l2-core/v4l2-subdev.c | 39 +++++++++++++++++-- >> drivers/staging/media/tegra-video/vi.c | 12 +++--- >> include/media/v4l2-subdev.h | 28 ++++++------- >> 16 files changed, 183 insertions(+), 94 deletions(-) >> > >