From: Krzysztof Kozlowski <krzk@kernel.org>
To: Maciej Andrzejewski <maciej.andrzejewski@m-works.net>,
linux-arm-kernel@lists.infradead.org,
Michal Simek <michal.simek@amd.com>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
maciej.andrzejewski@iceye.com
Subject: Re: [PATCH 2/2] DT bindings docs for Driver Xilinx ZynqMP AXI Timeout Block (ATB)
Date: Mon, 26 May 2025 05:56:11 +0200 [thread overview]
Message-ID: <1d25a01f-2761-41c3-85e6-b00100308ec7@kernel.org> (raw)
In-Reply-To: <20250525195955.2843076-2-maciej.andrzejewski@m-works.net>
On 25/05/2025 22:00, Maciej Andrzejewski wrote:
> Add DT bindings docs for Driver Xilinx ZynqMP AXI Timeout Block (ATB)
>
> Signed-off-by: Maciej Andrzejewski <maciej.andrzejewski@m-works.net>
> Signed-off-by: Maciej Andrzejewski <maciej.andrzejewski@iceye.com>
One SoB is enough, considering you sent it from the first one.
Please use subject prefixes matching the subsystem. You can get them for
example with `git log --oneline -- DIRECTORY_OR_FILE` on the directory
your patch is touching. For bindings, the preferred subjects are
explained here:
https://www.kernel.org/doc/html/latest/devicetree/bindings/submitting-patches.html#i-for-patch-submitters
Please organize the patch documenting compatible (DT bindings) before
their user.
See also:
https://elixir.bootlin.com/linux/v6.14-rc6/source/Documentation/devicetree/bindings/submitting-patches.rst#L46
> ---
> .../bindings/soc/xilinx/xlnx,zynqmp-atb.yaml | 90 +++++++++++++++++++
> 1 file changed, 90 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/soc/xilinx/xlnx,zynqmp-atb.yaml
>
> diff --git a/Documentation/devicetree/bindings/soc/xilinx/xlnx,zynqmp-atb.yaml b/Documentation/devicetree/bindings/soc/xilinx/xlnx,zynqmp-atb.yaml
> new file mode 100644
> index 000000000000..d92747fba947
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/soc/xilinx/xlnx,zynqmp-atb.yaml
> @@ -0,0 +1,90 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/soc/xilinx/xlnx,zynqmp-atb.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Xilinx ZynqMP AXI Timeout Block peripheral
> +
> +maintainers:
> + - Maciej Andrzejewski <maciej.andrzejewski@m-works.net>
> +
> +description: |+
> +
Drop blank line
> + This module implements a driver for the Xilinx AXI Timeout Block (ATB).
Binding is about hardware, not driver. Please rephrase everything here
to describe hardware.
> + The ATB is used to detect and handle timeouts on AXI transactions.
> + It supports configuration and handling of timeout interrupts for both
> + the Full Power Domain (FPD) and Low Power Domain (LPD) in Xilinx SoCs.
> + The driver reads configuration from the device tree, sets up the necessary
> + registers, and handles interrupts to report timeout events.
> +
> + AXI timeouts can be harmful as they stall the bus and can potentially
> + stall the entire Linux system. Due to hardware limitations, this driver
> + cannot completely prevent bus stalls; only a limited number of AXI timeouts
> + can be registered before the bus will eventually stall.
> +
> + It is important to note that this driver should produce dmesg error output
> + (grep for "atb: Timeout detected") to notify the user that the system
> + configuration is not properly handled. Once an AXI timeout is detected,
> + additional measures should be taken to address the issue.
> +
> + The bool properties enable the corresponding interrupts for the
> + FPD and LPD.
> + The driver will read these properties and configure the ATB accordingly.
> + If the bool property is not present, the functionality for this ATB will be
> + disabled.
> +
> + Enable this driver by selecting ZYNQMP_ATB in the kernel config.
> +
> +properties:
> + compatible:
> + const: xlnx,zynqmp-atb
> +
> + fpd_afifs1_enable:
Neither this nor any further properties look like we expect. Please open
any other bindings or example-schema to see how this is done - missing
vendor prefix, following DTS coding style for naming.
> + description: |
> + ATB instance 5: FPD Main Switch to M_AXI_HPM1_FPD interface.
> + This is used to detect timeouts on the M_AXI_HPM1_FPD.
> + type: boolean
> + default: false
No, there is no such option. You cannot assign there value.
> +
> + fpd_afifs0_enable:
> + description: |
> + ATB instance 4: FPD Main Switch to M_AXI_HPM0_FPD interface.
> + This is used to detect timeouts on the M_AXI_HPM0_FPD.
I don't understand need for these, but could be because of missing
hardware description.
> + type: boolean
> + default: false
> +
> + fpd_fpds_enable:
> + description: |
> + ATB instance 3: FPD Main Switch to SIOU slaves.
> + This is used to detect timeouts on the SIOU slaves.
> + type: boolean
> + default: false
> +
> + lpd_afifs2_enable:
> + description: |
> + ATB instance 2: LPD Main Switch to M_AXI_HPM2_LPD interface.
> + This is used to detect timeouts on the M_AXI_HPM2_LPD.
> + type: boolean
> + default: false
> +
> + lpd_lpdm_enable:
> + description: |
> + ATB instance 1: LPD Main Switch to M_AXI_LPD interface.
> + This is used to detect timeouts on the M_AXI_LPD.
> + type: boolean
> + default: false
> +
This wasn't ever tested... Also, missing required and additionalProperties.
> +examples:
> + - |
> +
> + atb {
> + compatible = "xlnx,zynqmp-atb";
> + status = "okay";
Drop. This binding looks very different than any other. Look at others
first - nothing uses status, format is different, you miss several
important pieces of binding.
> +
> + fpd_afifs1_enable;
> + fpd_afifs0_enable;
> + fpd_fpds_enable;
> + lpd_afifs2_enable;
> + lpd_lpdm_enable;
> + };
> \ No newline at end of file
Patch warnings.
Best regards,
Krzysztof
next prev parent reply other threads:[~2025-05-26 3:58 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-05-25 19:59 [PATCH 1/2] Driver for Xilinx ZynqMP AXI Timeout Block (ATB) Maciej Andrzejewski
2025-05-25 20:00 ` [PATCH 2/2] DT bindings docs for Driver " Maciej Andrzejewski
2025-05-26 3:56 ` Krzysztof Kozlowski [this message]
2025-05-26 3:59 ` [PATCH 1/2] Driver for " Krzysztof Kozlowski
2025-05-26 4:45 ` 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=1d25a01f-2761-41c3-85e6-b00100308ec7@kernel.org \
--to=krzk@kernel.org \
--cc=conor+dt@kernel.org \
--cc=krzk+dt@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=maciej.andrzejewski@iceye.com \
--cc=maciej.andrzejewski@m-works.net \
--cc=michal.simek@amd.com \
--cc=robh@kernel.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.