[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v4 34/48] igb: Implement MSI-X single vector mode
From: |
Akihiko Odaki |
Subject: |
[PATCH v4 34/48] igb: Implement MSI-X single vector mode |
Date: |
Wed, 26 Apr 2023 19:37:02 +0900 |
Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Reviewed-by: Sriram Yagnaraman <sriram.yagnaraman@est.tech>
---
hw/net/igb_core.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/hw/net/igb_core.c b/hw/net/igb_core.c
index c954369964..6d55b43fb4 100644
--- a/hw/net/igb_core.c
+++ b/hw/net/igb_core.c
@@ -1873,7 +1873,7 @@ igb_update_interrupt_state(IGBCore *core)
icr = core->mac[ICR] & core->mac[IMS];
- if (msix_enabled(core->owner)) {
+ if (core->mac[GPIE] & E1000_GPIE_MSIX_MODE) {
if (icr) {
causes = 0;
if (icr & E1000_ICR_DRSTA) {
@@ -1908,7 +1908,12 @@ igb_update_interrupt_state(IGBCore *core)
trace_e1000e_irq_pending_interrupts(core->mac[ICR] & core->mac[IMS],
core->mac[ICR], core->mac[IMS]);
- if (msi_enabled(core->owner)) {
+ if (msix_enabled(core->owner)) {
+ if (icr) {
+ trace_e1000e_irq_msix_notify_vec(0);
+ msix_notify(core->owner, 0);
+ }
+ } else if (msi_enabled(core->owner)) {
if (icr) {
msi_notify(core->owner, 0);
}
--
2.40.0
- [PATCH v4 25/48] igb: Share common VF constants, (continued)
- [PATCH v4 25/48] igb: Share common VF constants, Akihiko Odaki, 2023/04/26
- [PATCH v4 24/48] igb: Add more definitions for Tx descriptor, Akihiko Odaki, 2023/04/26
- [PATCH v4 26/48] igb: Fix igb_mac_reg_init coding style alignment, Akihiko Odaki, 2023/04/26
- [PATCH v4 27/48] igb: Clear EICR bits for delayed MSI-X interrupts, Akihiko Odaki, 2023/04/26
- [PATCH v4 28/48] e1000e: Rename a variable in e1000e_receive_internal(), Akihiko Odaki, 2023/04/26
- [PATCH v4 29/48] igb: Rename a variable in igb_receive_internal(), Akihiko Odaki, 2023/04/26
- [PATCH v4 30/48] net/eth: Use void pointers, Akihiko Odaki, 2023/04/26
- [PATCH v4 31/48] net/eth: Always add VLAN tag, Akihiko Odaki, 2023/04/26
- [PATCH v4 32/48] hw/net/net_rx_pkt: Enforce alignment for eth_header, Akihiko Odaki, 2023/04/26
- [PATCH v4 33/48] tests/qtest/libqos/igb: Set GPIE.Multiple_MSIX, Akihiko Odaki, 2023/04/26
- [PATCH v4 34/48] igb: Implement MSI-X single vector mode,
Akihiko Odaki <=
- [PATCH v4 35/48] igb: Use UDP for RSS hash, Akihiko Odaki, 2023/04/26
- [PATCH v4 36/48] igb: Implement Rx SCTP CSO, Akihiko Odaki, 2023/04/26
- [PATCH v4 37/48] igb: Implement Tx SCTP CSO, Akihiko Odaki, 2023/04/26
- [PATCH v4 38/48] igb: Strip the second VLAN tag for extended VLAN, Akihiko Odaki, 2023/04/26
- [PATCH v4 39/48] igb: Filter with the second VLAN tag for extended VLAN, Akihiko Odaki, 2023/04/26
- [PATCH v4 40/48] igb: Implement igb-specific oversize check, Akihiko Odaki, 2023/04/26
- [PATCH v4 41/48] igb: Implement Rx PTP2 timestamp, Akihiko Odaki, 2023/04/26
- [PATCH v4 42/48] igb: Implement Tx timestamp, Akihiko Odaki, 2023/04/26
- [PATCH v4 43/48] e1000e: Notify only new interrupts, Akihiko Odaki, 2023/04/26
- [PATCH v4 44/48] igb: Notify only new interrupts, Akihiko Odaki, 2023/04/26