Merge branch 'hns3-reset-refactor'
authorDavid S. Miller <davem@davemloft.net>
Tue, 5 Dec 2017 16:45:18 +0000 (11:45 -0500)
committerDavid S. Miller <davem@davemloft.net>
Tue, 5 Dec 2017 16:45:18 +0000 (11:45 -0500)
commitf520957dc26bfd9ddc6e488d2ddaac3e4ac22576
tree951b640ba7f385b5d7b963a87c6278ae011d5b20
parent81da3bf6e3f886267e450c422e6b7254ad6f93a5
parentf2f432f2c37942504f491d9375ecd4fee977dfac
Merge branch 'hns3-reset-refactor'

Salil Mehta says:

====================
net: hns3: Refactors "reset" handling code in HCLGE layer of HNS3 driver

This patch refactors the code of the reset feature in HCLGE layer
of HNS3 PF driver. Prime motivation to do this change is:
1. To reduce the time for which common miscellaneous Vector 0
   interrupt is disabled because of the reset. Simplification
   of the common miscellaneous interrupt handler routine(for
   Vector 0) used to handle reset and other sources of Vector
   0 interrupt.
2. Separate the task for handling the reset
3. Simplification of reset request submission and pending reset
   logic.

To achieve above below few things have been done:
1. Interrupt is disabled while common miscellaneous interrupt
   handler is entered and re-enabled before it is exit. This
   reduces the interrupt handling latency as compared to older
   interrupt handling scheme where interrupt was being disabled
   in interrupt handler context and re-enabled in task context
   some time later. Made Miscellaneous interrupt handler more
   generic to handle all sources including reset interrupt source.
2. New reset service task has been introduced to service the
   reset handling.
3. Introduces new reset service task for honoring software reset
   requests like from network stack related to timeout and serving
   the pending reset request(to reset the driver and associated
   clients).

Change Log:
Patch V2: Addressed comment by Andrew Lunn
Link: https://lkml.org/lkml/2017/12/1/366
Patch V1: Initial Submit
====================

Signed-off-by: David S. Miller <davem@davemloft.net>