linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Paweł Anikiel" <panikiel@google.com>
To: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Cc: Rob Herring <robh@kernel.org>,
	airlied@gmail.com, akpm@linux-foundation.org,
	 conor+dt@kernel.org, daniel@ffwll.ch, dinguyen@kernel.org,
	 hverkuil-cisco@xs4all.nl, krzysztof.kozlowski+dt@linaro.org,
	 maarten.lankhorst@linux.intel.com, mchehab@kernel.org,
	mripard@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 8/9] media: dt-bindings: Add Intel Displayport RX IP
Date: Wed, 28 Feb 2024 14:09:33 +0100	[thread overview]
Message-ID: <CAM5zL5oJSHxJK4QWsr2X23g-cN6G54VhGfuwHhMJ9rNu6+gZ=w@mail.gmail.com> (raw)
In-Reply-To: <324f7b6e-c72c-40aa-afe6-779345c2eade@linaro.org>

On Wed, Feb 28, 2024 at 1:18 PM Krzysztof Kozlowski
<krzysztof.kozlowski@linaro.org> wrote:
>
> On 28/02/2024 12:05, Paweł Anikiel wrote:
> > On Tue, Feb 27, 2024 at 3:29 PM Rob Herring <robh@kernel.org> wrote:
> >>
> >> On Mon, Feb 26, 2024 at 11:59:42AM +0100, Paweł Anikiel wrote:
> >>> On Mon, Feb 26, 2024 at 10:13 AM Krzysztof Kozlowski
> >>> <krzysztof.kozlowski@linaro.org> wrote:
> >>>>
> >>>> On 21/02/2024 17:02, Paweł Anikiel wrote:
> >>>>> The Intel Displayport RX IP is a part of the DisplayPort Intel FPGA IP
> >>>>> Core. It implements a DisplayPort 1.4 receiver capable of HBR3 video
> >>>>> capture and Multi-Stream Transport. The user guide can be found here:
> >>>>>
> >>>>> https://www.intel.com/programmable/technical-pdfs/683273.pdf
> >>>>>
> >>>>> Signed-off-by: Paweł Anikiel <panikiel@google.com>
> >>>>> ---
> >>>>>  .../devicetree/bindings/media/intel,dprx.yaml | 160 ++++++++++++++++++
> >>>>>  1 file changed, 160 insertions(+)
> >>>>>  create mode 100644 Documentation/devicetree/bindings/media/intel,dprx.yaml
> >>>>>
> >>>>> diff --git a/Documentation/devicetree/bindings/media/intel,dprx.yaml b/Documentation/devicetree/bindings/media/intel,dprx.yaml
> >>>>> new file mode 100644
> >>>>> index 000000000000..31025f2d5dcd
> >>>>> --- /dev/null
> >>>>> +++ b/Documentation/devicetree/bindings/media/intel,dprx.yaml
> >>>>> @@ -0,0 +1,160 @@
> >>>>> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
> >>>>> +%YAML 1.2
> >>>>> +---
> >>>>> +$id: http://devicetree.org/schemas/media/intel,dprx.yaml#
> >>>>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> >>>>> +
> >>>>> +title: Intel DisplayPort RX IP
> >>>>> +
> >>>>> +maintainers:
> >>>>> +  - Paweł Anikiel <panikiel@google.com>
> >>>>> +
> >>>>> +description: |
> >>>>> +  The Intel Displayport RX IP is a part of the DisplayPort Intel FPGA IP
> >>>>> +  Core. It implements a DisplayPort 1.4 receiver capable of HBR3 video
> >>>>> +  capture and Multi-Stream Transport.
> >>>>> +
> >>>>> +  The IP features a large number of configuration parameters, found at:
> >>>>> +  https://www.intel.com/content/www/us/en/docs/programmable/683273/23-3-20-0-1/sink-parameters.html
> >>>>> +
> >>>>> +  The following parameters have to be enabled:
> >>>>> +    - Support DisplayPort sink
> >>>>> +    - Enable GPU control
> >>>>> +  The following parameters' values have to be set in the devicetree:
> >>>>> +    - RX maximum link rate
> >>>>> +    - Maximum lane count
> >>>>> +    - Support MST
> >>>>> +    - Max stream count (only if Support MST is enabled)
> >>>>> +
> >>>>> +properties:
> >>>>> +  compatible:
> >>>>> +    const: intel,dprx-20.0.1
> >>>>> +
> >>>>> +  reg:
> >>>>> +    maxItems: 1
> >>>>> +
> >>>>> +  interrupts:
> >>>>> +    maxItems: 1
> >>>>> +
> >>>>> +  intel,max-link-rate:
> >>>>> +    $ref: /schemas/types.yaml#/definitions/uint32
> >>>>> +    description: Max link rate configuration parameter
> >>>>
> >>>> Please do not duplicate property name in description. It's useless.
> >>>> Instead explain what is this responsible for.
> >>>>
> >>>> Why max-link-rate would differ for the same dprx-20.0.1? And why
> >>>> standard properties cannot be used?
> >>>>
> >>>> Same for all questions below.
> >>>
> >>> These four properties are the IP configuration parameters mentioned in
> >>> the device description. When generating the IP core you can set these
> >>> parameters, which could make them differ for the same dprx-20.0.1.
> >>> They are documented in the user guide, for which I also put a link in
> >>> the description. Is that enough? Or should I also document these
> >>> parameters here?
> >>
> >> Use the standard properties: link-frequencies and data-lanes. Those go
> >> under the port(s) because they are inheritly per logical link.
> >
> > The DP receiver has one input interface (a deserialized DP stream),
> > and up to four output interfaces (the decoded video streams). The "max
> > link rate" and "max lane count" parameters only describe the input
> > interface to the receiver. However, the port(s) I am using here are
> > for the output streams. They are not affected by those parameters, so
> > I don't think these properties should go under the output port(s).
> >
> > The receiver doesn't have an input port in the DT, because there isn't
> > any controllable entity on the other side - the deserializer doesn't
> > have any software interface. Since these standard properties
> > (link-frequencies and data-lanes) are only defined in
> > video-interfaces.yaml (which IIUC describes a graph endpoint), I can't
> > use them directly in the device node.
>
> DT describes the hardware, so where does the input come? From something,
> right? Regardless if you have a driver or not. There is dp-connector
> binding, if this is physical port.

Yes, it is a physical port. I agree adding a DT node for the physical
DP input connector would let us add link-frequencies to the input port
of the receiver.

However, dp-connector seems to be a binding for an output port - it's
under schemas/display/connector, and DP_PWR can be a power supply only
for an output port (looking at the dp-pwr-supply property). Also, the
driver for this binding is a DRM bridge driver (display-connector.c)
which would not be compatible with a v4l2 (sub)device.

  reply	other threads:[~2024-02-28 13:09 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
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 [this message]
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='CAM5zL5oJSHxJK4QWsr2X23g-cN6G54VhGfuwHhMJ9rNu6+gZ=w@mail.gmail.com' \
    --to=panikiel@google.com \
    --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=hverkuil-cisco@xs4all.nl \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=krzysztof.kozlowski@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=ribalda@chromium.org \
    --cc=robh@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).