]> www.infradead.org Git - users/jedix/linux-maple.git/commit
qed: Major changes to MB locking
authorTomer Tayar <Tomer.Tayar@qlogic.com>
Wed, 9 Mar 2016 07:16:24 +0000 (09:16 +0200)
committerChuck Anderson <chuck.anderson@oracle.com>
Fri, 8 Jul 2016 19:29:20 +0000 (12:29 -0700)
commitba057e749d75dc1e455375c1e9fb5de29968791d
tree3929ec62f5c6063fc2ebb3cb0a43d3cdacf4604c
parentc6d8ae600c660c5b338285e56ecc30a431e646ce
qed: Major changes to MB locking

Driver interaction with the managemnt firmware is done via mailbox
commands which the management firmware periodically sample, as well
as placing of additional data in set places in the shared memory.
Each PF has a single designated mailbox address, and all flows that
require messaging to the management should use it.

This patch does 2 things:
 1. It re-defines the critical section surrounding the mailbox sending -
that section should include the setting of the shared memory as well as
the sending of the command [otherwise a race might send a command with
the data of a different command].
 2. It moves the locking scheme from using mutices into using spinlocks.
This lays the groundwork for sending MFW commands from non-sleepable
contexts.

Signed-off-by: Tomer Tayar <Tomer.Tayar@qlogic.com>
Signed-off-by: Yuval Mintz <Yuval.Mintz@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Orabug: 23732603
Signed-off-by: Manjunath Govindashetty <manjunath.govindashetty@oracle.com>
drivers/net/ethernet/qlogic/qed/qed_mcp.c
drivers/net/ethernet/qlogic/qed/qed_mcp.h