diff options
author | Catherine Sullivan <csully@google.com> | 2019-07-02 00:57:54 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2019-07-02 04:36:35 +0200 |
commit | 9e5f7d26a4c087f34e540a5a6f853f8d93d51448 (patch) | |
tree | 778569d3aa02a5168efb26fa377a4f9e4919d300 /Documentation/networking | |
parent | gve: Add transmit and receive support (diff) | |
download | linux-9e5f7d26a4c087f34e540a5a6f853f8d93d51448.tar.xz linux-9e5f7d26a4c087f34e540a5a6f853f8d93d51448.zip |
gve: Add workqueue and reset support
Add support for the workqueue to handle management interrupts and
support for resets.
Signed-off-by: Catherine Sullivan <csully@google.com>
Signed-off-by: Sagi Shahar <sagis@google.com>
Signed-off-by: Jon Olson <jonolson@google.com>
Acked-by: Willem de Bruijn <willemb@google.com>
Reviewed-by: Luigi Rizzo <lrizzo@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'Documentation/networking')
-rw-r--r-- | Documentation/networking/device_drivers/google/gve.rst | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/Documentation/networking/device_drivers/google/gve.rst b/Documentation/networking/device_drivers/google/gve.rst index df8974fb3270..793693cef6e3 100644 --- a/Documentation/networking/device_drivers/google/gve.rst +++ b/Documentation/networking/device_drivers/google/gve.rst @@ -40,6 +40,8 @@ The driver interacts with the device in the following ways: - See gve_register.h for more detail - Admin Queue - See description below + - Reset + - At any time the device can be reset - Interrupts - See supported interrupts below - Transmit and Receive Queues @@ -69,6 +71,12 @@ the following (with proper locking): The device will update the status field in each AQ command reported as executed through the ADMIN_QUEUE_EVENT_COUNTER register. +Device Resets +------------- +A device reset is triggered by writing 0x0 to the AQ PFN register. +This causes the device to release all resources allocated by the +driver, including the AQ itself. + Interrupts ---------- The following interrupts are supported by the driver: @@ -78,6 +86,9 @@ Management Interrupt The management interrupt is used by the device to tell the driver to look at the GVE_DEVICE_STATUS register. +The handler for the management irq simply queues the service task in +the workqueue to check the register and acks the irq. + Notification Block Interrupts ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The notification block interrupts are used to tell the driver to poll |