diff options
author | Tomer Tayar <Tomer.Tayar@qlogic.com> | 2015-12-07 06:25:57 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2015-12-07 14:14:03 -0500 |
commit | 76a9a3642a0b72d5687d680150580d55b6ea9804 (patch) | |
tree | 4edc743e7f21cf1d2c4a97eb9d96c66e29f41789 /include/linux | |
parent | 4639d60d2bfb7f5007b5d93788fd93c19b63f000 (diff) |
qed: fix handling of concurrent ramrods.
Concurrent non-blocking slowpath ramrods can be completed
out-of-order on the completion chain. Recycling completed elements,
while previously sent elements are still completion pending,
can lead to overriding of active elements on the chain. Furthermore,
sending pending slowpath ramrods currently lacks the update of the
chain element physical pointer.
This patch:
* Ensures that ramrods are sent to the FW with
consecutive echo values.
* Handles out-of-order completions by freeing only first
successive completed entries.
* Updates the chain element physical pointer when copying
a pending element into a free element for sending.
Signed-off-by: Tomer Tayar <Tomer.Tayar@qlogic.com>
Signed-off-by: Manish Chopra <manish.chopra@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/linux')
-rw-r--r-- | include/linux/qed/common_hsi.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/qed/common_hsi.h b/include/linux/qed/common_hsi.h index 6a4347639c03..1d1ba2c5ee7a 100644 --- a/include/linux/qed/common_hsi.h +++ b/include/linux/qed/common_hsi.h @@ -9,6 +9,8 @@ #ifndef __COMMON_HSI__ #define __COMMON_HSI__ +#define CORE_SPQE_PAGE_SIZE_BYTES 4096 + #define FW_MAJOR_VERSION 8 #define FW_MINOR_VERSION 4 #define FW_REVISION_VERSION 2 |