]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
gve: Map IRQs to NAPI instances
authorJoe Damato <jdamato@fastly.com>
Mon, 30 Sep 2024 21:07:07 +0000 (21:07 +0000)
committerJakub Kicinski <kuba@kernel.org>
Thu, 3 Oct 2024 23:58:25 +0000 (16:58 -0700)
Use netdev-genl interface to map IRQs to NAPI instances so that this
information is accessible by user apps via netlink.

$ cat /proc/interrupts | grep gve | grep -v mgmnt | cut -f1 --delimiter=':'
 34
 35
 36
 37
 38
 39
 40
[...]
 65

$ ./tools/net/ynl/cli.py --spec Documentation/netlink/specs/netdev.yaml \
                         --dump napi-get --json='{"ifindex": 2}'
[{'id': 8288, 'ifindex': 2, 'irq': 65},
  [...]
 {'id': 8263, 'ifindex': 2, 'irq': 40},
 {'id': 8262, 'ifindex': 2, 'irq': 39},
 {'id': 8261, 'ifindex': 2, 'irq': 38},
 {'id': 8260, 'ifindex': 2, 'irq': 37},
 {'id': 8259, 'ifindex': 2, 'irq': 36},
 {'id': 8258, 'ifindex': 2, 'irq': 35},
 {'id': 8257, 'ifindex': 2, 'irq': 34}]

Signed-off-by: Joe Damato <jdamato@fastly.com>
Reviewed-by: Praveen Kaligineedi <pkaligineedi@google.com>
Link: https://patch.msgid.link/20240930210731.1629-2-jdamato@fastly.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/google/gve/gve_utils.c

index 2349750075a54d07806e0d6b82a8ce945b588fd7..30fef100257e6f8c59ecebbaf4e63fe362528ec8 100644 (file)
@@ -111,6 +111,7 @@ void gve_add_napi(struct gve_priv *priv, int ntfy_idx,
        struct gve_notify_block *block = &priv->ntfy_blocks[ntfy_idx];
 
        netif_napi_add(priv->dev, &block->napi, gve_poll);
+       netif_napi_set_irq(&block->napi, block->irq);
 }
 
 void gve_remove_napi(struct gve_priv *priv, int ntfy_idx)