bna: PLL Init Fix and Add Stats Attributes
authorRasesh Mody <rmody@brocade.com>
Tue, 27 Sep 2011 10:39:09 +0000 (10:39 +0000)
committerDavid S. Miller <davem@davemloft.net>
Thu, 29 Sep 2011 23:36:35 +0000 (19:36 -0400)
Change details:
 - Fix to release soft reset in PLL init for HW
 - Added stats attributes and new bfi msg class
 - Removed some unused code and typo fixes

Signed-off-by: Gurunatha Karaje <gkaraje@brocade.com>
Signed-off-by: Rasesh Mody <rmody@brocade.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/brocade/bna/bfa_defs_cna.h
drivers/net/ethernet/brocade/bna/bfa_ioc.c
drivers/net/ethernet/brocade/bna/bfa_ioc.h
drivers/net/ethernet/brocade/bna/bfa_ioc_ct.c
drivers/net/ethernet/brocade/bna/bfi.h

index 7e0a9187bdd52a7a9378ccaff106f64d9f5f95ce..8ab33ee2c2bc01fc7b75c076a4bfa75ff052e326 100644 (file)
@@ -15,7 +15,6 @@
  * All rights reserved
  * www.brocade.com
  */
-
 #ifndef __BFA_DEFS_CNA_H__
 #define __BFA_DEFS_CNA_H__
 
@@ -55,6 +54,9 @@ struct bfa_port_fc_stats {
        u64     bad_os_count;   /*!< Invalid ordered sets       */
        u64     err_enc_out;    /*!< Encoding err nonframe_8b10b */
        u64     err_enc;        /*!< Encoding err frame_8b10b   */
+       u64     bbsc_frames_lost; /*!< Credit Recovery-Frames Lost  */
+       u64     bbsc_credits_lost; /*!< Credit Recovery-Credits Lost */
+       u64     bbsc_link_resets; /*!< Credit Recovery-Link Resets   */
 };
 
 /**
@@ -100,6 +102,10 @@ struct bfa_port_eth_stats {
        u64     rx_fcoe_zero_pause; /*!< Rx FCoE zero pause     */
        u64     tx_fcoe_pause;  /*!< Tx FCoE pause              */
        u64     tx_fcoe_zero_pause; /*!< Tx FCoE zero pause     */
+       u64     rx_iscsi_pause; /*!< Rx iSCSI pause             */
+       u64     rx_iscsi_zero_pause; /*!< Rx iSCSI zero pause   */
+       u64     tx_iscsi_pause; /*!< Tx iSCSI pause             */
+       u64     tx_iscsi_zero_pause; /*!< Tx iSCSI zero pause   */
 };
 
 /**
index f89ac7a6569d8a672dd35ebcff9f20fc126fe850..e02d6071a9c43280236bcb8d381a44eeaa1d126a 100644 (file)
@@ -17,8 +17,6 @@
  */
 
 #include "bfa_ioc.h"
-#include "cna.h"
-#include "bfi.h"
 #include "bfi_reg.h"
 #include "bfa_defs.h"
 
@@ -140,10 +138,6 @@ static struct bfa_sm_table ioc_sm_table[] = {
        {BFA_SM(bfa_ioc_sm_hwfail), BFA_IOC_HWFAIL},
 };
 
-/**
- * IOCPF state machine definitions/declarations
- */
-
 /*
  * Forward declareations for iocpf state machine
  */
@@ -427,7 +421,7 @@ bfa_ioc_sm_disabling_entry(struct bfa_ioc *ioc)
 }
 
 /**
- * IOC is being desabled
+ * IOC is being disabled
  */
 static void
 bfa_ioc_sm_disabling(struct bfa_ioc *ioc, enum ioc_event event)
@@ -457,7 +451,7 @@ bfa_ioc_sm_disabling(struct bfa_ioc *ioc, enum ioc_event event)
 }
 
 /**
- * IOC desable completion entry.
+ * IOC disable completion entry.
  */
 static void
 bfa_ioc_sm_disabled_entry(struct bfa_ioc *ioc)
@@ -782,7 +776,7 @@ static void
 bfa_iocpf_sm_hwinit_entry(struct bfa_iocpf *iocpf)
 {
        iocpf->poll_time = 0;
-       bfa_ioc_reset(iocpf->ioc, 0);
+       bfa_ioc_reset(iocpf->ioc, false);
 }
 
 /**
@@ -1759,6 +1753,9 @@ bfa_ioc_fail_notify(struct bfa_ioc *ioc)
        bfa_ioc_event_notify(ioc, BFA_IOC_E_FAILED);
 }
 
+/**
+ * IOCPF to IOC interface
+ */
 static void
 bfa_ioc_pf_enabled(struct bfa_ioc *ioc)
 {
@@ -2292,9 +2289,6 @@ bfa_ioc_get_adapter_model(struct bfa_ioc *ioc, char *model)
 
        ioc_attr = ioc->attr;
 
-       /**
-        * model name
-        */
        snprintf(model, BFA_ADAPTER_MODEL_NAME_LEN, "%s-%u",
                BFA_MFG_NAME, ioc_attr->card_type);
 }
index c3981700488ae716bf6f0ee967064208af633aca..d5a21f4ee1bb85cf5802c3cbe9794c6eec743f9b 100644 (file)
@@ -152,16 +152,7 @@ struct bfa_ioc_notify {
 };
 
 /**
- * Heartbeat failure notification queue element.
- */
-struct bfa_ioc_hbfail_notify {
-       struct list_head        qe;
-       bfa_ioc_hbfail_cbfn_t   cbfn;
-       void                    *cbarg;
-};
-
-/**
- * Initialize a heartbeat failure notification structure
+ * Initialize a IOC event notification structure
  */
 #define bfa_ioc_notify_init(__notify, __cbfn, __cbarg) do {    \
        (__notify)->cbfn = (__cbfn);                            \
@@ -290,6 +281,7 @@ void bfa_nw_ioc_mbox_regisr(struct bfa_ioc *ioc, enum bfi_mclass mc,
 
 void bfa_nw_ioc_set_ct_hwif(struct bfa_ioc *ioc);
 void bfa_nw_ioc_set_ct2_hwif(struct bfa_ioc *ioc);
+void bfa_ioc_ct2_poweron(struct bfa_ioc *ioc);
 
 void bfa_nw_ioc_attach(struct bfa_ioc *ioc, void *bfa,
                struct bfa_ioc_cbfn *cbfn);
index bc9e5988cd2fe5b9c169b8dfafc4f523f0290f7f..c2d3b1adbca4dd1d78d3ba627d146267ab0063c7 100644 (file)
@@ -850,9 +850,16 @@ bfa_ioc_ct2_pll_init(void __iomem *rb, enum bfi_asic_mode asic_mode)
         * release soft reset on s_clk & l_clk
         */
        r32 = readl((rb + CT2_APP_PLL_SCLK_CTL_REG));
-       writel((r32 & ~__APP_PLL_LCLK_LOGIC_SOFT_RESET),
+       writel((r32 & ~__APP_PLL_SCLK_LOGIC_SOFT_RESET),
                        (rb + CT2_APP_PLL_SCLK_CTL_REG));
 
+       /*
+        * release soft reset on s_clk & l_clk
+        */
+       r32 = readl((rb + CT2_APP_PLL_LCLK_CTL_REG));
+       writel(r32 & ~__APP_PLL_LCLK_LOGIC_SOFT_RESET,
+                     (rb + CT2_APP_PLL_LCLK_CTL_REG));
+
        /*
         * Announce flash device presence, if flash was corrupted.
         */
index 54bcafe4d5577941190d522f4305b5375fe15fca..7a1393aabd43c73ed667c6652e4531656e4062a4 100644 (file)
@@ -135,18 +135,22 @@ enum bfi_mclass {
        BFI_MC_SFP              = 22,   /*!< SFP module                     */
        BFI_MC_MSGQ             = 23,   /*!< MSGQ                           */
        BFI_MC_ENET             = 24,   /*!< ENET commands/responses        */
-       BFI_MC_MAX              = 32
+       BFI_MC_PHY              = 25,   /*!< External PHY message class     */
+       BFI_MC_NBOOT            = 26,   /*!< Network Boot                   */
+       BFI_MC_TIO_READ         = 27,   /*!< read IO (Target mode)          */
+       BFI_MC_TIO_WRITE        = 28,   /*!< write IO (Target mode)         */
+       BFI_MC_TIO_DATA_XFERED  = 29,   /*!< ds transferred (target mode)   */
+       BFI_MC_TIO_IO           = 30,   /*!< IO (Target mode)               */
+       BFI_MC_TIO              = 31,   /*!< IO (target mode)               */
+       BFI_MC_MFG              = 32,   /*!< MFG/ASIC block commands        */
+       BFI_MC_EDMA             = 33,   /*!< EDMA copy commands             */
+       BFI_MC_MAX              = 34
 };
 
-#define BFI_IOC_MAX_CQS                4
-#define BFI_IOC_MAX_CQS_ASIC   8
 #define BFI_IOC_MSGLEN_MAX     32      /* 32 bytes */
 
 #define BFI_FWBOOT_ENV_OS              0
 
-#define BFI_BOOT_MEMTEST_RES_ADDR   0x900
-#define BFI_BOOT_MEMTEST_RES_SIG    0xA0A1A2A3
-
 /**
  *----------------------------------------------------------------------
  *                             IOC
@@ -280,9 +284,6 @@ enum bfi_port_mode {
        BFI_PORT_MODE_ETH       = 2,
 };
 
-/**
- *  BFI_IOC_I2H_READY_EVENT message
- */
 struct bfi_ioc_hbeat {
        struct bfi_mhdr mh;             /*!< common msg header          */
        u32        hb_count;    /*!< current heart beat count   */