diff options
author | Rasesh Mody <rmody@brocade.com> | 2010-12-23 16:45:09 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-12-25 22:16:03 -0500 |
commit | 1d32f7696286eef9e5644eb57e79a36756274357 (patch) | |
tree | b31e78cc2c72ae9893ac8dea1401cff2b94e104e /drivers/net/bna/bfi_ctreg.h | |
parent | aad75b66f1d3784514351f06bc589c55d5325bc8 (diff) |
bna: IOC failure auto recovery fix
Change Details:
- Made IOC auto_recovery synchronized and not timer based.
- Only one PCI function will attempt to recover and reinitialize
the ASIC on a failure, that too after all the active PCI
functions acknowledge the IOC failure.
Signed-off-by: Debashis Dutt <ddutt@brocade.com>
Signed-off-by: Rasesh Mody <rmody@brocade.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/bna/bfi_ctreg.h')
-rw-r--r-- | drivers/net/bna/bfi_ctreg.h | 41 |
1 files changed, 25 insertions, 16 deletions
diff --git a/drivers/net/bna/bfi_ctreg.h b/drivers/net/bna/bfi_ctreg.h index 404ea351d4a1..5130d7918660 100644 --- a/drivers/net/bna/bfi_ctreg.h +++ b/drivers/net/bna/bfi_ctreg.h | |||
@@ -535,6 +535,7 @@ enum { | |||
535 | #define BFA_IOC1_HBEAT_REG HOST_SEM2_INFO_REG | 535 | #define BFA_IOC1_HBEAT_REG HOST_SEM2_INFO_REG |
536 | #define BFA_IOC1_STATE_REG HOST_SEM3_INFO_REG | 536 | #define BFA_IOC1_STATE_REG HOST_SEM3_INFO_REG |
537 | #define BFA_FW_USE_COUNT HOST_SEM4_INFO_REG | 537 | #define BFA_FW_USE_COUNT HOST_SEM4_INFO_REG |
538 | #define BFA_IOC_FAIL_SYNC HOST_SEM5_INFO_REG | ||
538 | 539 | ||
539 | #define CPE_DEPTH_Q(__n) \ | 540 | #define CPE_DEPTH_Q(__n) \ |
540 | (CPE_DEPTH_Q0 + (__n) * (CPE_DEPTH_Q1 - CPE_DEPTH_Q0)) | 541 | (CPE_DEPTH_Q0 + (__n) * (CPE_DEPTH_Q1 - CPE_DEPTH_Q0)) |
@@ -552,22 +553,30 @@ enum { | |||
552 | (RME_PI_PTR_Q0 + (__n) * (RME_PI_PTR_Q1 - RME_PI_PTR_Q0)) | 553 | (RME_PI_PTR_Q0 + (__n) * (RME_PI_PTR_Q1 - RME_PI_PTR_Q0)) |
553 | #define RME_CI_PTR_Q(__n) \ | 554 | #define RME_CI_PTR_Q(__n) \ |
554 | (RME_CI_PTR_Q0 + (__n) * (RME_CI_PTR_Q1 - RME_CI_PTR_Q0)) | 555 | (RME_CI_PTR_Q0 + (__n) * (RME_CI_PTR_Q1 - RME_CI_PTR_Q0)) |
555 | #define HQM_QSET_RXQ_DRBL_P0(__n) (HQM_QSET0_RXQ_DRBL_P0 + (__n) \ | 556 | #define HQM_QSET_RXQ_DRBL_P0(__n) \ |
556 | * (HQM_QSET1_RXQ_DRBL_P0 - HQM_QSET0_RXQ_DRBL_P0)) | 557 | (HQM_QSET0_RXQ_DRBL_P0 + (__n) * \ |
557 | #define HQM_QSET_TXQ_DRBL_P0(__n) (HQM_QSET0_TXQ_DRBL_P0 + (__n) \ | 558 | (HQM_QSET1_RXQ_DRBL_P0 - HQM_QSET0_RXQ_DRBL_P0)) |
558 | * (HQM_QSET1_TXQ_DRBL_P0 - HQM_QSET0_TXQ_DRBL_P0)) | 559 | #define HQM_QSET_TXQ_DRBL_P0(__n) \ |
559 | #define HQM_QSET_IB_DRBL_1_P0(__n) (HQM_QSET0_IB_DRBL_1_P0 + (__n) \ | 560 | (HQM_QSET0_TXQ_DRBL_P0 + (__n) * \ |
560 | * (HQM_QSET1_IB_DRBL_1_P0 - HQM_QSET0_IB_DRBL_1_P0)) | 561 | (HQM_QSET1_TXQ_DRBL_P0 - HQM_QSET0_TXQ_DRBL_P0)) |
561 | #define HQM_QSET_IB_DRBL_2_P0(__n) (HQM_QSET0_IB_DRBL_2_P0 + (__n) \ | 562 | #define HQM_QSET_IB_DRBL_1_P0(__n) \ |
562 | * (HQM_QSET1_IB_DRBL_2_P0 - HQM_QSET0_IB_DRBL_2_P0)) | 563 | (HQM_QSET0_IB_DRBL_1_P0 + (__n) * \ |
563 | #define HQM_QSET_RXQ_DRBL_P1(__n) (HQM_QSET0_RXQ_DRBL_P1 + (__n) \ | 564 | (HQM_QSET1_IB_DRBL_1_P0 - HQM_QSET0_IB_DRBL_1_P0)) |
564 | * (HQM_QSET1_RXQ_DRBL_P1 - HQM_QSET0_RXQ_DRBL_P1)) | 565 | #define HQM_QSET_IB_DRBL_2_P0(__n) \ |
565 | #define HQM_QSET_TXQ_DRBL_P1(__n) (HQM_QSET0_TXQ_DRBL_P1 + (__n) \ | 566 | (HQM_QSET0_IB_DRBL_2_P0 + (__n) * \ |
566 | * (HQM_QSET1_TXQ_DRBL_P1 - HQM_QSET0_TXQ_DRBL_P1)) | 567 | (HQM_QSET1_IB_DRBL_2_P0 - HQM_QSET0_IB_DRBL_2_P0)) |
567 | #define HQM_QSET_IB_DRBL_1_P1(__n) (HQM_QSET0_IB_DRBL_1_P1 + (__n) \ | 568 | #define HQM_QSET_RXQ_DRBL_P1(__n) \ |
568 | * (HQM_QSET1_IB_DRBL_1_P1 - HQM_QSET0_IB_DRBL_1_P1)) | 569 | (HQM_QSET0_RXQ_DRBL_P1 + (__n) * \ |
569 | #define HQM_QSET_IB_DRBL_2_P1(__n) (HQM_QSET0_IB_DRBL_2_P1 + (__n) \ | 570 | (HQM_QSET1_RXQ_DRBL_P1 - HQM_QSET0_RXQ_DRBL_P1)) |
570 | * (HQM_QSET1_IB_DRBL_2_P1 - HQM_QSET0_IB_DRBL_2_P1)) | 571 | #define HQM_QSET_TXQ_DRBL_P1(__n) \ |
572 | (HQM_QSET0_TXQ_DRBL_P1 + (__n) * \ | ||
573 | (HQM_QSET1_TXQ_DRBL_P1 - HQM_QSET0_TXQ_DRBL_P1)) | ||
574 | #define HQM_QSET_IB_DRBL_1_P1(__n) \ | ||
575 | (HQM_QSET0_IB_DRBL_1_P1 + (__n) * \ | ||
576 | (HQM_QSET1_IB_DRBL_1_P1 - HQM_QSET0_IB_DRBL_1_P1)) | ||
577 | #define HQM_QSET_IB_DRBL_2_P1(__n) \ | ||
578 | (HQM_QSET0_IB_DRBL_2_P1 + (__n) * \ | ||
579 | (HQM_QSET1_IB_DRBL_2_P1 - HQM_QSET0_IB_DRBL_2_P1)) | ||
571 | 580 | ||
572 | #define CPE_Q_NUM(__fn, __q) (((__fn) << 2) + (__q)) | 581 | #define CPE_Q_NUM(__fn, __q) (((__fn) << 2) + (__q)) |
573 | #define RME_Q_NUM(__fn, __q) (((__fn) << 2) + (__q)) | 582 | #define RME_Q_NUM(__fn, __q) (((__fn) << 2) + (__q)) |