linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Hans Verkuil <hverkuil-cisco@xs4all.nl>
To: "Paweł Anikiel" <panikiel@google.com>
Cc: airlied@gmail.com, akpm@linux-foundation.org,
	conor+dt@kernel.org, daniel@ffwll.ch, dinguyen@kernel.org,
	krzysztof.kozlowski+dt@linaro.org,
	maarten.lankhorst@linux.intel.com, mchehab@kernel.org,
	mripard@kernel.org, robh+dt@kernel.org, tzimmermann@suse.de,
	devicetree@vger.kernel.org, dri-devel@lists.freedesktop.org,
	linux-kernel@vger.kernel.org, linux-media@vger.kernel.org,
	chromeos-krk-upstreaming@google.com, ribalda@chromium.org
Subject: Re: [PATCH v2 1/9] media: v4l2-subdev: Add a pad variant of .query_dv_timings()
Date: Thu, 29 Feb 2024 09:02:49 +0100	[thread overview]
Message-ID: <03f65fbc-9cf8-4347-8277-e53cb01b00a5@xs4all.nl> (raw)
In-Reply-To: <CAM5zL5qrMNfyiXMOJHUzLySm_U2U8kbD=D_Cyn0WjkvpikiYpQ@mail.gmail.com>

On 28/02/2024 16:34, Paweł Anikiel wrote:
> On Wed, Feb 28, 2024 at 12:25 PM Hans Verkuil <hverkuil-cisco@xs4all.nl> wrote:
>>
>> Hi Paweł,
>>
>> On 21/02/2024 17:02, Paweł Anikiel wrote:
>>> Currently, .query_dv_timings() is defined as a video callback 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).
>>>
>>> To solve this, add a pad variant of this callback which includes
>>> the pad number as an argument.
>>
>> So now we have two query_dv_timings ops: one for video ops, and one
>> for pad ops. That's not very maintainable. I would suggest switching
>> all current users of the video op over to the pad op.
> 
> I agree it would be better if there was only one. However, I have some concerns:
> 1. Isn't there a problem with backwards compatibility? For example, an
> out-of-tree driver is likely to use this callback, which would break.
> I'm asking because I'm not familiar with how such API changes are
> handled.

It's out of tree, so they will just have to adapt. That's how life is if
you are not part of the mainline kernel.

> 2. If I do switch all current users to the pad op, I can't test those
> changes. Isn't that a problem?

I can test one or two drivers, but in general I don't expect this to be
a problem.

> 3. Would I need to get ACK from all the driver maintainers?

CC the patches to the maintainers. Generally you will get back Acks from
some but not all maintainers, but that's OK. For changes affecting multiple
drivers you never reach 100% on that. I can review the remainder. The DV
Timings API is my expert area, so that shouldn't be a problem.

A quick grep gives me these subdev drivers that implement it:

adv748x, adv7604, adv7842, tc358743, tda1997x, tvp7002, gs1662.

And these bridge drivers that call the subdevs:

cobalt, rcar-vin, vpif_capture.

The bridge drivers can use the following pad when calling query_dv_timings:

cobalt: ADV76XX_PAD_HDMI_PORT_A
rcar_vin: vin->parallel.sink_pad
vpif_capture: 0

The converted subdev drivers should check if the pad is an input pad.
Ideally it should check if the pad is equal to the current input pad
since most devices can only query the timings for the currently selected
input pad. But some older drivers predate the pad concept and they
ignore the pad value.

Regards,

	Hans

  reply	other threads:[~2024-02-29  8:02 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-02-21 16:02 [PATCH v2 0/9] Add Chameleon v3 video support Paweł Anikiel
2024-02-21 16:02 ` [PATCH v2 1/9] media: v4l2-subdev: Add a pad variant of .query_dv_timings() Paweł Anikiel
2024-02-28 11:25   ` Hans Verkuil
2024-02-28 15:34     ` Paweł Anikiel
2024-02-29  8:02       ` Hans Verkuil [this message]
2024-02-29 11:33         ` Paweł Anikiel
2024-02-29 12:05           ` Hans Verkuil
2024-02-21 16:02 ` [PATCH v2 2/9] media: Add Chameleon v3 framebuffer driver Paweł Anikiel
2024-02-28 11:24   ` Hans Verkuil
2024-02-28 15:08     ` Paweł Anikiel
2024-02-28 15:14       ` Hans Verkuil
2024-02-21 16:02 ` [PATCH v2 3/9] drm/dp_mst: Move DRM-independent structures to separate header Paweł Anikiel
2024-02-21 16:02 ` [PATCH v2 4/9] lib: Move DisplayPort CRC functions to common lib Paweł Anikiel
2024-02-21 16:02 ` [PATCH v2 5/9] drm/display: Add mask definitions for DP_PAYLOAD_ALLOCATE_* registers Paweł Anikiel
2024-02-21 16:02 ` [PATCH v2 6/9] media: intel: Add Displayport RX IP driver Paweł Anikiel
2024-02-28 12:11   ` Hans Verkuil
2024-02-21 16:02 ` [PATCH v2 7/9] media: dt-bindings: Add Chameleon v3 framebuffer Paweł Anikiel
2024-02-26  9:10   ` Krzysztof Kozlowski
2024-04-23 17:00     ` Paweł Anikiel
2024-02-21 16:02 ` [PATCH v2 8/9] media: dt-bindings: Add Intel Displayport RX IP Paweł Anikiel
2024-02-26  9:12   ` Krzysztof Kozlowski
2024-02-26 10:59     ` Paweł Anikiel
2024-02-26 12:06       ` Krzysztof Kozlowski
2024-02-26 12:43         ` Paweł Anikiel
2024-02-26 17:29           ` Krzysztof Kozlowski
2024-02-27 13:11             ` Paweł Anikiel
2024-02-27 14:24               ` Rob Herring
2024-02-27 14:29       ` Rob Herring
2024-02-28 11:05         ` Paweł Anikiel
2024-02-28 12:18           ` Krzysztof Kozlowski
2024-02-28 13:09             ` Paweł Anikiel
2024-02-28 18:09               ` Rob Herring
2024-02-29 10:25                 ` Paweł Anikiel
2024-03-01 16:26                   ` Rob Herring
2024-02-21 16:02 ` [PATCH v2 9/9] ARM: dts: chameleonv3: Add video device nodes Paweł Anikiel
2024-02-26  9:15   ` Krzysztof Kozlowski
2024-02-26 11:09     ` Paweł Anikiel
2024-02-26 12:07       ` Krzysztof Kozlowski
2024-02-26 12:27         ` Paweł Anikiel
2024-02-26 17:30           ` Krzysztof Kozlowski
2024-02-27 11:26             ` Paweł Anikiel
2024-02-23 19:04 ` [PATCH v2 0/9] Add Chameleon v3 video support Conor Dooley

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=03f65fbc-9cf8-4347-8277-e53cb01b00a5@xs4all.nl \
    --to=hverkuil-cisco@xs4all.nl \
    --cc=airlied@gmail.com \
    --cc=akpm@linux-foundation.org \
    --cc=chromeos-krk-upstreaming@google.com \
    --cc=conor+dt@kernel.org \
    --cc=daniel@ffwll.ch \
    --cc=devicetree@vger.kernel.org \
    --cc=dinguyen@kernel.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=maarten.lankhorst@linux.intel.com \
    --cc=mchehab@kernel.org \
    --cc=mripard@kernel.org \
    --cc=panikiel@google.com \
    --cc=ribalda@chromium.org \
    --cc=robh+dt@kernel.org \
    --cc=tzimmermann@suse.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).