[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20210316121823.18659-1-weifeng.voon@intel.com>
Date: Tue, 16 Mar 2021 20:18:18 +0800
From: Voon Weifeng <weifeng.voon@...el.com>
To: "David S . Miller" <davem@...emloft.net>,
Maxime Coquelin <mcoquelin.stm32@...il.com>
Cc: netdev@...r.kernel.org, linux-kernel@...r.kernel.org,
Jose Abreu <joabreu@...opsys.com>,
Jakub Kicinski <kuba@...nel.org>,
Giuseppe Cavallaro <peppe.cavallaro@...com>,
Andrew Lunn <andrew@...n.ch>,
Alexandre Torgue <alexandre.torgue@...com>,
linux-stm32@...md-mailman.stormreply.com,
linux-arm-kernel@...ts.infradead.org,
Ong Boon Leong <boon.leong.ong@...el.com>,
Voon Weifeng <weifeng.voon@...el.com>,
Wong Vee Khee <vee.khee.wong@...el.com>
Subject: [RESEND v1 net-next 0/5] net: stmmac: enable multi-vector MSI
This patchset adds support for multi MSI interrupts in addition to
current single common interrupt implementation. Each MSI interrupt is tied
to a newly introduce interrupt service routine(ISR). Hence, each interrupt
will only go through the corresponding ISR.
In order to increase the efficiency, enabling multi MSI interrupt will
automatically select the interrupt mode configuration INTM=1. When INTM=1,
the TX/RX transfer complete signal will only asserted on corresponding
sbd_perch_tx_intr_o[] or sbd_perch_rx_intr_o[] without asserting signal
on the common sbd_intr_o. Hence, for each TX/RX interrupts, only the
corresponding ISR will be triggered.
Every vendor might have different MSI vector assignment. So, this patchset
only includes multi-vector MSI assignment for Intel platform.
Ong Boon Leong (4):
net: stmmac: introduce DMA interrupt status masking per traffic
direction
net: stmmac: make stmmac_interrupt() function more friendly to MSI
net: stmmac: introduce MSI Interrupt routines for mac, safety, RX & TX
stmmac: intel: add support for multi-vector msi and msi-x
Wong, Vee Khee (1):
net: stmmac: use interrupt mode INTM=1 for multi-MSI
drivers/net/ethernet/stmicro/stmmac/common.h | 21 +
.../net/ethernet/stmicro/stmmac/dwmac-intel.c | 112 +++-
.../net/ethernet/stmicro/stmmac/dwmac-sun8i.c | 24 +-
.../net/ethernet/stmicro/stmmac/dwmac4_dma.c | 8 +
.../net/ethernet/stmicro/stmmac/dwmac4_dma.h | 24 +-
.../net/ethernet/stmicro/stmmac/dwmac4_lib.c | 30 +-
.../net/ethernet/stmicro/stmmac/dwmac_dma.h | 22 +-
.../net/ethernet/stmicro/stmmac/dwmac_lib.c | 8 +-
.../net/ethernet/stmicro/stmmac/dwxgmac2.h | 6 +
.../ethernet/stmicro/stmmac/dwxgmac2_dma.c | 8 +-
drivers/net/ethernet/stmicro/stmmac/hwif.h | 2 +-
drivers/net/ethernet/stmicro/stmmac/stmmac.h | 16 +
.../net/ethernet/stmicro/stmmac/stmmac_main.c | 482 +++++++++++++++---
include/linux/stmmac.h | 9 +
14 files changed, 676 insertions(+), 96 deletions(-)
--
2.17.1
Powered by blists - more mailing lists