Linux CAN drivers development
 help / color / mirror / Atom feed
From: Marc Kleine-Budde <mkl@pengutronix.de>
To: netdev@vger.kernel.org
Cc: davem@davemloft.net, kuba@kernel.org, linux-can@vger.kernel.org,
	kernel@pengutronix.de, Marc Kleine-Budde <mkl@pengutronix.de>,
	Alibek Omarov <a1ba.omarov@gmail.com>,
	Heiko Stuebner <heiko@sntech.de>
Subject: [PATCH net-next 08/18] can: rockchip_canfd: rkcanfd_register_done(): add warning for erratum 5
Date: Wed,  4 Sep 2024 14:55:24 +0200	[thread overview]
Message-ID: <20240904130256.1965582-9-mkl@pengutronix.de> (raw)
In-Reply-To: <20240904130256.1965582-1-mkl@pengutronix.de>

Tests on the rk3568v2 and rk3568v3 show that a reduced "baudclk" (e.g.
80MHz, compared to the standard 300MHz) significantly increases the
possibility of incorrect FIFO counters, i.e. erratum 5.

Print an info message if the clock is below the known good value of
300MHz.

Tested-by: Alibek Omarov <a1ba.omarov@gmail.com>
Acked-by: Heiko Stuebner <heiko@sntech.de>
Link: https://patch.msgid.link/20240904-rockchip-canfd-v5-10-8ae22bcb27cc@pengutronix.de
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
---
 drivers/net/can/rockchip/rockchip_canfd-core.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/drivers/net/can/rockchip/rockchip_canfd-core.c b/drivers/net/can/rockchip/rockchip_canfd-core.c
index 40911bb63623..d6c0f2fe8d2b 100644
--- a/drivers/net/can/rockchip/rockchip_canfd-core.c
+++ b/drivers/net/can/rockchip/rockchip_canfd-core.c
@@ -738,6 +738,13 @@ static void rkcanfd_register_done(const struct rkcanfd_priv *priv)
 		    FIELD_GET(RKCANFD_REG_RTL_VERSION_MAJOR, dev_id),
 		    FIELD_GET(RKCANFD_REG_RTL_VERSION_MINOR, dev_id),
 		    priv->devtype_data.quirks);
+
+	if (priv->devtype_data.quirks & RKCANFD_QUIRK_RK3568_ERRATUM_5 &&
+	    priv->can.clock.freq < RKCANFD_ERRATUM_5_SYSCLOCK_HZ_MIN)
+		netdev_info(priv->ndev,
+			    "Erratum 5: CAN clock frequency (%luMHz) lower than known good (%luMHz), expect degraded performance\n",
+			    priv->can.clock.freq / MEGA,
+			    RKCANFD_ERRATUM_5_SYSCLOCK_HZ_MIN / MEGA);
 }
 
 static int rkcanfd_register(struct rkcanfd_priv *priv)
-- 
2.45.2



  parent reply	other threads:[~2024-09-04 13:03 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-09-04 12:55 [PATCH net-next 0/18] pull-request: can-next 2024-09-04-2 Marc Kleine-Budde
2024-09-04 12:55 ` [PATCH net-next 01/18] dt-bindings: can: rockchip_canfd: add rockchip CAN-FD controller Marc Kleine-Budde
2024-09-05 13:20   ` patchwork-bot+netdevbpf
2024-09-04 12:55 ` [PATCH net-next 02/18] can: rockchip_canfd: add driver for Rockchip " Marc Kleine-Budde
2024-09-04 12:55 ` [PATCH net-next 03/18] can: rockchip_canfd: add quirks for errata workarounds Marc Kleine-Budde
2024-09-04 12:55 ` [PATCH net-next 04/18] can: rockchip_canfd: add quirk for broken CAN-FD support Marc Kleine-Budde
2024-09-04 12:55 ` [PATCH net-next 05/18] can: rockchip_canfd: add support for rk3568v3 Marc Kleine-Budde
2024-09-04 12:55 ` [PATCH net-next 06/18] can: rockchip_canfd: add notes about known issues Marc Kleine-Budde
2024-09-04 12:55 ` [PATCH net-next 07/18] can: rockchip_canfd: rkcanfd_handle_rx_int_one(): implement workaround for erratum 5: check for empty FIFO Marc Kleine-Budde
2024-09-04 12:55 ` Marc Kleine-Budde [this message]
2024-09-04 12:55 ` [PATCH net-next 09/18] can: rockchip_canfd: add TX PATH Marc Kleine-Budde
2024-09-04 12:55 ` [PATCH net-next 10/18] can: rockchip_canfd: implement workaround for erratum 6 Marc Kleine-Budde
2024-09-04 12:55 ` [PATCH net-next 11/18] can: rockchip_canfd: implement workaround for erratum 12 Marc Kleine-Budde
2024-09-04 12:55 ` [PATCH net-next 12/18] can: rockchip_canfd: rkcanfd_get_berr_counter_corrected(): work around broken {RX,TX}ERRORCNT register Marc Kleine-Budde
2024-09-04 12:55 ` [PATCH net-next 13/18] can: rockchip_canfd: add stats support for errata workarounds Marc Kleine-Budde
2024-09-04 12:55 ` [PATCH net-next 14/18] can: rockchip_canfd: prepare to use full TX-FIFO depth Marc Kleine-Budde
2024-09-04 12:55 ` [PATCH net-next 15/18] can: rockchip_canfd: enable full TX-FIFO depth of 2 Marc Kleine-Budde
2024-09-04 12:55 ` [PATCH net-next 16/18] can: rockchip_canfd: add hardware timestamping support Marc Kleine-Budde
2024-09-04 12:55 ` [PATCH net-next 17/18] can: rockchip_canfd: add support for CAN_CTRLMODE_LOOPBACK Marc Kleine-Budde
2024-09-04 12:55 ` [PATCH net-next 18/18] can: rockchip_canfd: add support for CAN_CTRLMODE_BERR_REPORTING Marc Kleine-Budde

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=20240904130256.1965582-9-mkl@pengutronix.de \
    --to=mkl@pengutronix.de \
    --cc=a1ba.omarov@gmail.com \
    --cc=davem@davemloft.net \
    --cc=heiko@sntech.de \
    --cc=kernel@pengutronix.de \
    --cc=kuba@kernel.org \
    --cc=linux-can@vger.kernel.org \
    --cc=netdev@vger.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox