Message ID | 20200722190958.12645-1-mstarovoitov@marvell.com |
---|---|
State | Accepted |
Delegated to: | David Miller |
Headers | show |
Series | [net] net: atlantic: fix PTP on AQC10X | expand |
From: Mark Starovoytov <mstarovoitov@marvell.com> Date: Wed, 22 Jul 2020 22:09:58 +0300 > From: Egor Pomozov <epomozov@marvell.com> > > 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> Applied, thank you.
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 14d79f70cad7..135c27ec7c6a 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 @@ -354,8 +354,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. */