All of lore.kernel.org
 help / color / mirror / Atom feed
From: Vadim Fedorenko <vadim.fedorenko@linux.dev>
To: Wei Fang <wei.fang@nxp.com>,
	robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org,
	richardcochran@gmail.com, claudiu.manoil@nxp.com,
	vladimir.oltean@nxp.com, xiaoning.wang@nxp.com,
	andrew+netdev@lunn.ch, davem@davemloft.net, edumazet@google.com,
	kuba@kernel.org, pabeni@redhat.com, Frank.Li@nxp.com,
	shawnguo@kernel.org, s.hauer@pengutronix.de, festevam@gmail.com
Cc: fushi.peng@nxp.com, devicetree@vger.kernel.org,
	netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
	imx@lists.linux.dev, kernel@pengutronix.de
Subject: Re: [PATCH v4 net-next 04/15] ptp: netc: add NETC V4 Timer PTP driver support
Date: Tue, 19 Aug 2025 16:48:19 +0100	[thread overview]
Message-ID: <41651550-4e63-4699-b10f-ba2e8cfbc0a3@linux.dev> (raw)
In-Reply-To: <20250819123620.916637-5-wei.fang@nxp.com>

On 19/08/2025 13:36, Wei Fang wrote:
> NETC V4 Timer provides current time with nanosecond resolution, precise
> periodic pulse, pulse on timeout (alarm), and time capture on external
> pulse support. And it supports time synchronization as required for
> IEEE 1588 and IEEE 802.1AS-2020.
> 
> Inside NETC, ENETC can capture the timestamp of the sent/received packet
> through the PHC provided by the Timer and record it on the Tx/Rx BD. And
> through the relevant PHC interfaces provided by the driver, the enetc V4
> driver can support PTP time synchronization.
> 
> In addition, NETC V4 Timer is similar to the QorIQ 1588 timer, but it is
> not exactly the same. The current ptp-qoriq driver is not compatible with
> NETC V4 Timer, most of the code cannot be reused, see below reasons.
> 
> 1. The architecture of ptp-qoriq driver makes the register offset fixed,
> however, the offsets of all the high registers and low registers of V4
> are swapped, and V4 also adds some new registers. so extending ptp-qoriq
> to make it compatible with V4 Timer is tantamount to completely rewriting
> ptp-qoriq driver.
> 
> 2. The usage of some functions is somewhat different from QorIQ timer,
> such as the setting of TCLK_PERIOD and TMR_ADD, the logic of configuring
> PPS, etc., so making the driver compatible with V4 Timer will undoubtedly
> increase the complexity of the code and reduce readability.
> 
> 3. QorIQ is an expired brand. It is difficult for us to verify whether
> it works stably on the QorIQ platforms if we refactor the driver, and
> this will make maintenance difficult, so refactoring the driver obviously
> does not bring any benefits.
> 
> Therefore, add this new driver for NETC V4 Timer. Note that the missing
> features like PEROUT, PPS and EXTTS will be added in subsequent patches.
> 
> Signed-off-by: Wei Fang <wei.fang@nxp.com>
> 
[...]

>   drivers/ptp/Kconfig             |  11 +
>   drivers/ptp/Makefile            |   1 +
>   drivers/ptp/ptp_netc.c          | 416 ++++++++++++++++++++++++++++++++
>   include/linux/fsl/netc_global.h |   3 +-
>   4 files changed, 430 insertions(+), 1 deletion(-)
>   create mode 100644 drivers/ptp/ptp_netc.c

[...]

> diff --git a/include/linux/fsl/netc_global.h b/include/linux/fsl/netc_global.h
> index fdecca8c90f0..763b38e05d7d 100644
> --- a/include/linux/fsl/netc_global.h
> +++ b/include/linux/fsl/netc_global.h
> @@ -1,10 +1,11 @@
>   /* SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) */
> -/* Copyright 2024 NXP
> +/* Copyright 2024-2025 NXP
>    */
>   #ifndef __NETC_GLOBAL_H
>   #define __NETC_GLOBAL_H
>   
>   #include <linux/io.h>
> +#include <linux/pci.h>

What is the reason to include it header file? You need PCI functions
only in ptp_netc.c, but this header is also included in a couple of
other files (netc_blk_ctrl.c, ntmp.c).

>   
>   static inline u32 netc_read(void __iomem *reg)
>   {




  parent reply	other threads:[~2025-08-19 15:48 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-08-19 12:36 [PATCH v4 net-next 00/15] Add NETC Timer PTP driver and add PTP support for i.MX95 Wei Fang
2025-08-19 12:36 ` [PATCH v4 net-next 01/15] dt-bindings: ptp: add NETC Timer PTP clock Wei Fang
2025-08-19 14:38   ` Frank Li
2025-08-20  1:32     ` Wei Fang
2025-08-19 12:36 ` [PATCH v4 net-next 02/15] dt-bindings: net: move ptp-timer property to ethernet-controller.yaml Wei Fang
2025-08-19 20:43   ` Rob Herring (Arm)
2025-08-19 12:36 ` [PATCH v4 net-next 03/15] ptp: add helpers to get the phc_index by of_node or dev Wei Fang
2025-08-19 14:45   ` Frank Li
2025-08-19 14:53     ` Jakub Kicinski
2025-08-19 12:36 ` [PATCH v4 net-next 04/15] ptp: netc: add NETC V4 Timer PTP driver support Wei Fang
2025-08-19 15:14   ` Frank Li
2025-08-20  2:48     ` Wei Fang
2025-08-19 15:48   ` Vadim Fedorenko [this message]
2025-08-20  1:44     ` Wei Fang
2025-08-19 12:36 ` [PATCH v4 net-next 05/15] ptp: netc: add PTP_CLK_REQ_PPS support Wei Fang
2025-08-19 15:25   ` Frank Li
2025-08-20  2:29     ` Wei Fang
2025-08-19 12:36 ` [PATCH v4 net-next 06/15] ptp: netc: add periodic pulse output support Wei Fang
2025-08-19 15:28   ` Frank Li
2025-08-19 12:36 ` [PATCH v4 net-next 07/15] ptp: netc: add external trigger stamp support Wei Fang
2025-08-19 12:36 ` [PATCH v4 net-next 08/15] ptp: netc: add debugfs support to loop back pulse signal Wei Fang
2025-08-19 12:36 ` [PATCH v4 net-next 09/15] MAINTAINERS: add NETC Timer PTP clock driver section Wei Fang
2025-08-19 12:36 ` [PATCH v4 net-next 10/15] net: enetc: save the parsed information of PTP packet to skb->cb Wei Fang
2025-08-19 12:36 ` [PATCH v4 net-next 11/15] net: enetc: extract enetc_update_ptp_sync_msg() to handle PTP Sync packets Wei Fang
2025-08-19 15:31   ` Frank Li
2025-08-19 12:36 ` [PATCH v4 net-next 12/15] net: enetc: remove unnecessary CONFIG_FSL_ENETC_PTP_CLOCK check Wei Fang
2025-08-19 12:36 ` [PATCH v4 net-next 13/15] net: enetc: add PTP synchronization support for ENETC v4 Wei Fang
2025-08-19 15:34   ` Frank Li
2025-08-20  1:46     ` Wei Fang
2025-08-19 12:36 ` [PATCH v4 net-next 14/15] net: enetc: don't update sync packet checksum if checksum offload is used Wei Fang
2025-08-19 12:36 ` [PATCH v4 15/15] arm64: dts: imx95: add standard PCI device compatible string to NETC Timer Wei Fang

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=41651550-4e63-4699-b10f-ba2e8cfbc0a3@linux.dev \
    --to=vadim.fedorenko@linux.dev \
    --cc=Frank.Li@nxp.com \
    --cc=andrew+netdev@lunn.ch \
    --cc=claudiu.manoil@nxp.com \
    --cc=conor+dt@kernel.org \
    --cc=davem@davemloft.net \
    --cc=devicetree@vger.kernel.org \
    --cc=edumazet@google.com \
    --cc=festevam@gmail.com \
    --cc=fushi.peng@nxp.com \
    --cc=imx@lists.linux.dev \
    --cc=kernel@pengutronix.de \
    --cc=krzk+dt@kernel.org \
    --cc=kuba@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=richardcochran@gmail.com \
    --cc=robh@kernel.org \
    --cc=s.hauer@pengutronix.de \
    --cc=shawnguo@kernel.org \
    --cc=vladimir.oltean@nxp.com \
    --cc=wei.fang@nxp.com \
    --cc=xiaoning.wang@nxp.com \
    /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.