bnxt_en: Save ring error counters across reset
authorMichael Chan <michael.chan@broadcom.com>
Thu, 17 Aug 2023 23:19:09 +0000 (16:19 -0700)
committerJakub Kicinski <kuba@kernel.org>
Sat, 19 Aug 2023 02:13:58 +0000 (19:13 -0700)
commit4c70dbe3c0087b439b9e5015057e3e378cf5d8b1
tree4ebac918c4b3a7b00bc3aa7b6eee47c1d669bd7a
parentd38c19b13b1087890973ac24ae2798797b8a411b
bnxt_en: Save ring error counters across reset

Currently, the ring counters are stored in the per ring datastructure.
During reset, all the rings are freed together with the associated
datastructures.  As a result, all the ring error counters will be reset
to zero.

Add logic to keep track of the total error counts of all the rings
and save them before reset (including ifdown).  The next patch will
display these total ring error counters under ethtool -S.

Link: https://lore.kernel.org/netdev/CACKFLimD-bKmJ1tGZOLYRjWzEwxkri-Mw7iFme1x2Dr0twdCeg@mail.gmail.com/
Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Reviewed-by: Andy Gospodarek <andrew.gospodarek@broadcom.com>
Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com>
Signed-off-by: Michael Chan <michael.chan@broadcom.com>
Link: https://lore.kernel.org/r/20230817231911.165035-5-michael.chan@broadcom.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/broadcom/bnxt/bnxt.c
drivers/net/ethernet/broadcom/bnxt/bnxt.h