Devicetree
 help / color / mirror / Atom feed
From: sashiko-bot@kernel.org
To: "Pramod Maurya" <pramod.nexgen@gmail.com>
Cc: devicetree@vger.kernel.org, krzk+dt@kernel.org,
	conor+dt@kernel.org, robh@kernel.org
Subject: Re: [PATCH v4 3/3] dt-bindings: misc: Add binding for Xilinx AXI-Stream FIFO
Date: Fri, 15 May 2026 08:32:42 +0000	[thread overview]
Message-ID: <20260515083242.A8728C2BCB0@smtp.kernel.org> (raw)
In-Reply-To: <20260515075736.172172-4-pramod.nexgen@gmail.com>

Thank you for your contribution! Sashiko AI review found 3 potential issue(s) to consider:
- [High] The YAML schema incorrectly rejects valid hardware device trees by defining software driver limits instead of hardware IP properties and using `additionalProperties: false`.
- [High] The axis-fifo driver incorrectly uses register I/O accessors for stream FIFOs, causing data corruption on big-endian architectures.
- [Medium] Stale text binding documentation is not removed.
--

commit 26ea5f81e17b89c4409b6dcc57391cb51c42f3f2
Author: Pramod Maurya <pramod.nexgen@gmail.com>

dt-bindings: misc: Add binding for Xilinx AXI-Stream FIFO

This patch adds a YAML schema for the Xilinx AXI-Stream FIFO IP core to
resolve checkpatch warnings about undocumented compatible strings.

>     The binding documents the three supported compatible strings and the
>     vendor-specific properties that the axis-fifo staging driver reads from
>     the device tree.

Device tree bindings are generally meant to describe the hardware IP rather
than only what a specific software driver currently uses. By only including
properties the driver reads, are we missing fundamental hardware properties?

Also, since this introduces a formal YAML binding for these compatible
strings, should this patch also remove the obsolete text binding at
drivers/staging/axis-fifo/axis-fifo.txt to prevent conflicting documentation?

>     This resolves the following checkpatch.pl warnings in
>     drivers/staging/axis-fifo/axis-fifo.c:

While not introduced by this patch, the axis-fifo driver mentioned here
appears to use ioread32() and iowrite32() in loops for bulk data transfers
to the FIFO data registers.

Since register accessors perform implicit CPU-to-device byteswapping on
big-endian architectures, does this cause silent data corruption of the byte
stream? Would it be safer to use stream accessors like ioread32_rep() or
readsl() for the FIFO data transfers?

> diff --git a/Documentation/devicetree/bindings/misc/xlnx,axi-fifo-mm-s.yaml b/Documentation/devicetree/bindings/misc/xlnx,axi-fifo-mm-s.yaml
> new file mode 100644
> index 0000000000000..f4ef7c277cd7a
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/misc/xlnx,axi-fifo-mm-s.yaml

[ ... ]

> +  xlnx,axi-str-rxd-tdata-width:
> +    $ref: /schemas/types.yaml#/definitions/uint32
> +    description:
> +      Width of the receive AXI-Stream data bus in bits. Currently only 32
> +      is supported.
> +    const: 32

Is it appropriate to encode a temporary software driver limitation into the
permanent schema? By strictly constraining this to 32, does this artificially
reject valid hardware device trees that correctly model an IP configured with
a different data width?

> +
> +  xlnx,axi-str-txd-tdata-width:
> +    $ref: /schemas/types.yaml#/definitions/uint32
> +    description:
> +      Width of the transmit AXI-Stream data bus in bits. Currently only 32
> +      is supported.
> +    const: 32

Similar to the above, does this const constraint improperly embed a driver
limitation into the hardware binding?

[ ... ]

> +required:
> +  - compatible
> +  - reg
> +  - interrupts
> +  - xlnx,axi-str-rxd-tdata-width
> +  - xlnx,axi-str-txd-tdata-width
> +  - xlnx,rx-fifo-depth
> +  - xlnx,tx-fifo-depth
> +  - xlnx,use-rx-data
> +  - xlnx,use-tx-data
> +
> +additionalProperties: false

Since this sets additionalProperties to false but omits properties like
clocks (required for any synchronous AXI block), interrupt-names, and other
properties that were documented in the previous text binding, will valid
hardware device trees falsely fail dt_binding_check validation?

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260515075736.172172-1-pramod.nexgen@gmail.com?part=3

  reply	other threads:[~2026-05-15  8:32 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-05-10  8:32 [PATCH v3] dt-bindings: iio: adc: Convert xilinx-xadc bindings to YAML schema Pramod Maurya
2026-05-10  9:43 ` Rob Herring (Arm)
2026-05-10 12:01 ` Pramod Maurya
2026-05-11 16:15   ` Jonathan Cameron
2026-05-11 16:24     ` David Lechner
2026-05-12 12:14       ` Rob Herring
2026-05-12 13:58         ` David Lechner
2026-05-12 14:10           ` Michal Simek
2026-05-12 14:16             ` David Lechner
2026-05-12 14:21               ` Michal Simek
2026-05-12 14:13           ` David Lechner
2026-05-12 19:42           ` Rob Herring
2026-05-12 20:03             ` David Lechner
2026-05-12 20:48               ` Rob Herring
2026-05-11 16:17   ` Jonathan Cameron
2026-05-11 20:55   ` sashiko-bot
2026-05-11 20:32 ` sashiko-bot
2026-05-15  7:57 ` [PATCH v4 0/3] Convert Xilinx XADC binding to YAML and related cleanups Pramod Maurya
2026-05-15  7:57   ` [PATCH v4 1/3] dt-bindings: iio: adc: Convert xilinx-xadc bindings to YAML schema Pramod Maurya
2026-05-15  8:07     ` sashiko-bot
2026-05-15  7:57   ` [PATCH v4 2/3] staging: axis-fifo: Fix alignment of wait_event_interruptible arguments Pramod Maurya
2026-05-15  8:17     ` sashiko-bot
2026-05-15  7:57   ` [PATCH v4 3/3] dt-bindings: misc: Add binding for Xilinx AXI-Stream FIFO Pramod Maurya
2026-05-15  8:32     ` sashiko-bot [this message]
2026-05-15 11:03     ` Krzysztof Kozlowski

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=20260515083242.A8728C2BCB0@smtp.kernel.org \
    --to=sashiko-bot@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=krzk+dt@kernel.org \
    --cc=pramod.nexgen@gmail.com \
    --cc=robh@kernel.org \
    --cc=sashiko-reviews@lists.linux.dev \
    /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