[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20250620085720.33924-1-jiawenwu@trustnetic.com>
Date: Fri, 20 Jun 2025 16:57:18 +0800
From: Jiawen Wu <jiawenwu@...stnetic.com>
To: netdev@...r.kernel.org,
andrew+netdev@...n.ch,
davem@...emloft.net,
edumazet@...gle.com,
kuba@...nel.org,
pabeni@...hat.com,
horms@...nel.org
Cc: mengyuanlou@...-swift.com,
duanqiangwen@...-swift.com,
Jiawen Wu <jiawenwu@...stnetic.com>
Subject: [PATCH net 0/2] Fix IRQ vectors
The interrupt vector order was adjusted by commit 937d46ecc5f9 ("net:
wangxun: add ethtool_ops for channel number") in Linux-6.8. Because at
that time, the MISC interrupt acts as the parent interrupt in the GPIO
IRQ chip. When the number of Rx/Tx ring changes, the last MISC
interrupt must be reallocated. Then the GPIO interrupt controller would
be corrupted. So the initial plan was to adjust the sequence of the
interrupt vectors, let MISC interrupt to be the first one and do not
free it.
Later, irq_domain was introduced in commit aefd013624a1 ("net: txgbe:
use irq_domain for interrupt controller") to avoid this problem.
However, the vector sequence adjustment was not reverted. So there is
still one problem that has been left unresolved.
Due to hardware limitations of NGBE, queue IRQs can only be requested
on vector 0 to 7. When the number of queues is set to the maximum 8,
the PCI IRQ vectors are allocated from 0 to 8. The vector 0 is used by
MISC interrupt, and althrough the vector 8 is used by queue interrupt,
it is unable to receive packets. This will cause some packets to be
dropped when RSS is enabled and they are assigned to queue 8.
This patch set fix the above problems.
Jiawen Wu (2):
net: txgbe: request MISC IRQ in ndo_open
net: wangxun: revert the adjustment of the IRQ vector sequence
drivers/net/ethernet/wangxun/libwx/wx_lib.c | 17 +++++++--------
drivers/net/ethernet/wangxun/libwx/wx_type.h | 2 +-
drivers/net/ethernet/wangxun/ngbe/ngbe_main.c | 2 +-
drivers/net/ethernet/wangxun/ngbe/ngbe_type.h | 2 +-
.../net/ethernet/wangxun/txgbe/txgbe_irq.c | 6 +++---
.../net/ethernet/wangxun/txgbe/txgbe_main.c | 21 ++++++++-----------
.../net/ethernet/wangxun/txgbe/txgbe_type.h | 4 ++--
7 files changed, 25 insertions(+), 29 deletions(-)
--
2.48.1
Powered by blists - more mailing lists