You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
67 lines
2.5 KiB
67 lines
2.5 KiB
From e4d04ac18fe289f30136f43097308773e1bcabfe Mon Sep 17 00:00:00 2001
|
|
From: Igor Russkikh <irusskik@redhat.com>
|
|
Date: Fri, 6 Nov 2020 18:38:33 -0500
|
|
Subject: [PATCH 136/139] [netdrv] net: atlantic: fix PTP on AQC10X
|
|
|
|
Message-id: <1604687916-15087-137-git-send-email-irusskik@redhat.com>
|
|
Patchwork-id: 338563
|
|
Patchwork-instance: patchwork
|
|
O-Subject: [RHEL8.4 BZ 1857861 136/139] net: atlantic: fix PTP on AQC10X
|
|
Bugzilla: 1857861
|
|
RH-Acked-by: David Arcari <darcari@redhat.com>
|
|
RH-Acked-by: John Linville <linville@redhat.com>
|
|
RH-Acked-by: Tony Camuso <tcamuso@redhat.com>
|
|
|
|
Bugzilla: http://bugzilla.redhat.com/1857861
|
|
|
|
commit 901f3cc1639e5103a8997f6ab243785d292e2074
|
|
Author: Egor Pomozov <epomozov@marvell.com>
|
|
Date: Wed Jul 22 22:09:58 2020 +0300
|
|
|
|
net: atlantic: fix PTP on AQC10X
|
|
|
|
This patch fixes PTP on AQC10X.
|
|
PTP support on AQC10X requires FW involvement and FW configures the
|
|
TPS data arb mode itself.
|
|
So we must make sure driver doesn't touch TPS data arb mode on AQC10x
|
|
if PTP is enabled. Otherwise, there are no timestamps even though
|
|
packets are flowing.
|
|
|
|
Fixes: 2deac71ac492a ("net: atlantic: QoS implementation: min_rate")
|
|
Signed-off-by: Egor Pomozov <epomozov@marvell.com>
|
|
Signed-off-by: Mark Starovoytov <mstarovoitov@marvell.com>
|
|
Signed-off-by: Igor Russkikh <irusskikh@marvell.com>
|
|
Signed-off-by: David S. Miller <davem@davemloft.net>
|
|
|
|
Signed-off-by: Igor Russkikh <irusskik@redhat.com>
|
|
|
|
Cc: David Arcari <darcari@redhat.com>
|
|
Cc: Igor Russkikh <irusskik@redhat.com>
|
|
Signed-off-by: Jan Stancek <jstancek@redhat.com>
|
|
---
|
|
drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_b0.c | 7 ++++++-
|
|
1 file changed, 6 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_b0.c b/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_b0.c
|
|
index 1896c9112bdf..16a944707ba9 100644
|
|
--- a/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_b0.c
|
|
+++ b/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_b0.c
|
|
@@ -373,8 +373,13 @@ static int hw_atl_b0_hw_init_tx_tc_rate_limit(struct aq_hw_s *self)
|
|
|
|
/* WSP, if min_rate is set for at least one TC.
|
|
* RR otherwise.
|
|
+ *
|
|
+ * NB! MAC FW sets arb mode itself if PTP is enabled. We shouldn't
|
|
+ * overwrite it here in that case.
|
|
*/
|
|
- hw_atl_tps_tx_pkt_shed_data_arb_mode_set(self, min_rate_msk ? 1U : 0U);
|
|
+ if (!nic_cfg->is_ptp)
|
|
+ hw_atl_tps_tx_pkt_shed_data_arb_mode_set(self, min_rate_msk ? 1U : 0U);
|
|
+
|
|
/* Data TC Arbiter takes precedence over Descriptor TC Arbiter,
|
|
* leave Descriptor TC Arbiter as RR.
|
|
*/
|
|
--
|
|
2.13.6
|
|
|