Merge branch 'enic-devcmd2'
authorDavid S. Miller <davem@davemloft.net>
Mon, 17 Aug 2015 22:25:30 +0000 (15:25 -0700)
committerDavid S. Miller <davem@davemloft.net>
Mon, 17 Aug 2015 22:25:30 +0000 (15:25 -0700)
commit863960b4c5c564819b153d53cffdf3f68283eaa2
treeb0da4fd30b4dde4e505b3e84339d24a0a85d683f
parent2ea273d76a4869c097c6b1a1070162add2f66a6e
parent373fb0873d4325a7afa04aec29ced0c122d1f8a9
Merge branch 'enic-devcmd2'

Govindarajulu Varadarajan says:

====================
enic: add devcmd2

This series adds new devcmd2 support. The first two patches are code
refactoring.

devcmd is an interface for driver to communicate with fw/adaptor. It
involves writing data to hardware registers and waiting for the result.
This mechanism does not scale well. The queuing of "no wait" devcmds is
done in firmware memory rather than on the host. Firmware memory is a
rather more scarce and valuable resource than host memory. A devcmd storm
from one vf can disrupt the service on other pf/vf. The lack of flow
control allows for possible denial of server from one VM to another.
Devcmd2 uses work queue to post the devcmds, just like tx work queue. This
allows better flow control.
====================

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