All of lore.kernel.org
 help / color / mirror / Atom feed
* [Intel-wired-lan] [PATCH net v2] iavf: Fix cached head and tail value for iavf_get_tx_pending
@ 2022-09-01 14:34 Mateusz Palczewski
  2022-09-07  9:37 ` Jankowski, Konrad0
  0 siblings, 1 reply; 2+ messages in thread
From: Mateusz Palczewski @ 2022-09-01 14:34 UTC (permalink / raw)
  To: intel-wired-lan; +Cc: Brett Creeley, Norbert Zulinski

From: Brett Creeley <brett.creeley@intel.com>

The underlying hardware may or may not allow reading of the head or tail
registers and it really makes no difference if we use the software
cached values. So, always used the software cached values.

Fixes: 9c6c12595b73 ("i40e: Detection and recovery of TX queue hung logic moved to service_task from tx_timeout")
Signed-off-by: Brett Creeley <brett.creeley@intel.com>
Co-developed-by: Norbert Zulinski <norbertx.zulinski@intel.com>
Signed-off-by: Norbert Zulinski <norbertx.zulinski@intel.com>
Signed-off-by: Mateusz Palczewski <mateusz.palczewski@intel.com>
---
 v2: Added missing sign-off tag
---
 drivers/net/ethernet/intel/iavf/iavf_txrx.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/intel/iavf/iavf_txrx.c b/drivers/net/ethernet/intel/iavf/iavf_txrx.c
index 06d18797d25a..4c3f3f419110 100644
--- a/drivers/net/ethernet/intel/iavf/iavf_txrx.c
+++ b/drivers/net/ethernet/intel/iavf/iavf_txrx.c
@@ -114,8 +114,11 @@ u32 iavf_get_tx_pending(struct iavf_ring *ring, bool in_sw)
 {
 	u32 head, tail;
 
+	/* underlying hardware might not allow access and/or always return
+	 * 0 for the head/tail registers so just use the cached values
+	 */
 	head = ring->next_to_clean;
-	tail = readl(ring->tail);
+	tail = ring->next_to_use;
 
 	if (head != tail)
 		return (head < tail) ?
-- 
2.27.0

_______________________________________________
Intel-wired-lan mailing list
Intel-wired-lan@osuosl.org
https://lists.osuosl.org/mailman/listinfo/intel-wired-lan

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [Intel-wired-lan] [PATCH net v2] iavf: Fix cached head and tail value for iavf_get_tx_pending
  2022-09-01 14:34 [Intel-wired-lan] [PATCH net v2] iavf: Fix cached head and tail value for iavf_get_tx_pending Mateusz Palczewski
@ 2022-09-07  9:37 ` Jankowski, Konrad0
  0 siblings, 0 replies; 2+ messages in thread
From: Jankowski, Konrad0 @ 2022-09-07  9:37 UTC (permalink / raw)
  To: Palczewski, Mateusz, intel-wired-lan; +Cc: Brett Creeley, Zulinski, NorbertX



> -----Original Message-----
> From: Intel-wired-lan <intel-wired-lan-bounces@osuosl.org> On Behalf Of
> Mateusz Palczewski
> Sent: Thursday, September 1, 2022 4:35 PM
> To: intel-wired-lan@lists.osuosl.org
> Cc: Brett Creeley <brett.creeley@intel.com>; Zulinski, NorbertX
> <norbertx.zulinski@intel.com>
> Subject: [Intel-wired-lan] [PATCH net v2] iavf: Fix cached head and tail value
> for iavf_get_tx_pending
> 
> From: Brett Creeley <brett.creeley@intel.com>
> 
> The underlying hardware may or may not allow reading of the head or tail
> registers and it really makes no difference if we use the software cached
> values. So, always used the software cached values.
> 
> Fixes: 9c6c12595b73 ("i40e: Detection and recovery of TX queue hung logic
> moved to service_task from tx_timeout")
> Signed-off-by: Brett Creeley <brett.creeley@intel.com>
> Co-developed-by: Norbert Zulinski <norbertx.zulinski@intel.com>
> Signed-off-by: Norbert Zulinski <norbertx.zulinski@intel.com>
> Signed-off-by: Mateusz Palczewski <mateusz.palczewski@intel.com>
> ---
>  v2: Added missing sign-off tag
> ---
>  drivers/net/ethernet/intel/iavf/iavf_txrx.c | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/net/ethernet/intel/iavf/iavf_txrx.c
> b/drivers/net/ethernet/intel/iavf/iavf_txrx.c
> index 06d18797d25a..4c3f3f419110 100644
> --- a/drivers/net/ethernet/intel/iavf/iavf_txrx.c
> +++ b/drivers/net/ethernet/intel/iavf/iavf_txrx.c

Tested-by: Konrad Jankowski <konrad0.jankowski@intel.com>
_______________________________________________
Intel-wired-lan mailing list
Intel-wired-lan@osuosl.org
https://lists.osuosl.org/mailman/listinfo/intel-wired-lan

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2022-09-07  9:37 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-09-01 14:34 [Intel-wired-lan] [PATCH net v2] iavf: Fix cached head and tail value for iavf_get_tx_pending Mateusz Palczewski
2022-09-07  9:37 ` Jankowski, Konrad0

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.