Commit aafd5c2c authored by Rasesh Mody's avatar Rasesh Mody Committed by David S. Miller

bna: PLL Init Fix and Add Stats Attributes

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: default avatarGurunatha Karaje <gkaraje@brocade.com>
Signed-off-by: default avatarRasesh Mody <rmody@brocade.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 586b2816
...@@ -15,7 +15,6 @@ ...@@ -15,7 +15,6 @@
* All rights reserved * All rights reserved
* www.brocade.com * www.brocade.com
*/ */
#ifndef __BFA_DEFS_CNA_H__ #ifndef __BFA_DEFS_CNA_H__
#define __BFA_DEFS_CNA_H__ #define __BFA_DEFS_CNA_H__
...@@ -55,6 +54,9 @@ struct bfa_port_fc_stats { ...@@ -55,6 +54,9 @@ struct bfa_port_fc_stats {
u64 bad_os_count; /*!< Invalid ordered sets */ u64 bad_os_count; /*!< Invalid ordered sets */
u64 err_enc_out; /*!< Encoding err nonframe_8b10b */ u64 err_enc_out; /*!< Encoding err nonframe_8b10b */
u64 err_enc; /*!< Encoding err frame_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 { ...@@ -100,6 +102,10 @@ struct bfa_port_eth_stats {
u64 rx_fcoe_zero_pause; /*!< Rx FCoE zero pause */ u64 rx_fcoe_zero_pause; /*!< Rx FCoE zero pause */
u64 tx_fcoe_pause; /*!< Tx FCoE pause */ u64 tx_fcoe_pause; /*!< Tx FCoE pause */
u64 tx_fcoe_zero_pause; /*!< Tx FCoE zero 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 */
}; };
/** /**
......
...@@ -17,8 +17,6 @@ ...@@ -17,8 +17,6 @@
*/ */
#include "bfa_ioc.h" #include "bfa_ioc.h"
#include "cna.h"
#include "bfi.h"
#include "bfi_reg.h" #include "bfi_reg.h"
#include "bfa_defs.h" #include "bfa_defs.h"
...@@ -140,10 +138,6 @@ static struct bfa_sm_table ioc_sm_table[] = { ...@@ -140,10 +138,6 @@ static struct bfa_sm_table ioc_sm_table[] = {
{BFA_SM(bfa_ioc_sm_hwfail), BFA_IOC_HWFAIL}, {BFA_SM(bfa_ioc_sm_hwfail), BFA_IOC_HWFAIL},
}; };
/**
* IOCPF state machine definitions/declarations
*/
/* /*
* Forward declareations for iocpf state machine * Forward declareations for iocpf state machine
*/ */
...@@ -427,7 +421,7 @@ bfa_ioc_sm_disabling_entry(struct bfa_ioc *ioc) ...@@ -427,7 +421,7 @@ bfa_ioc_sm_disabling_entry(struct bfa_ioc *ioc)
} }
/** /**
* IOC is being desabled * IOC is being disabled
*/ */
static void static void
bfa_ioc_sm_disabling(struct bfa_ioc *ioc, enum ioc_event event) 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) ...@@ -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 static void
bfa_ioc_sm_disabled_entry(struct bfa_ioc *ioc) bfa_ioc_sm_disabled_entry(struct bfa_ioc *ioc)
...@@ -782,7 +776,7 @@ static void ...@@ -782,7 +776,7 @@ static void
bfa_iocpf_sm_hwinit_entry(struct bfa_iocpf *iocpf) bfa_iocpf_sm_hwinit_entry(struct bfa_iocpf *iocpf)
{ {
iocpf->poll_time = 0; 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) ...@@ -1759,6 +1753,9 @@ bfa_ioc_fail_notify(struct bfa_ioc *ioc)
bfa_ioc_event_notify(ioc, BFA_IOC_E_FAILED); bfa_ioc_event_notify(ioc, BFA_IOC_E_FAILED);
} }
/**
* IOCPF to IOC interface
*/
static void static void
bfa_ioc_pf_enabled(struct bfa_ioc *ioc) bfa_ioc_pf_enabled(struct bfa_ioc *ioc)
{ {
...@@ -2292,9 +2289,6 @@ bfa_ioc_get_adapter_model(struct bfa_ioc *ioc, char *model) ...@@ -2292,9 +2289,6 @@ bfa_ioc_get_adapter_model(struct bfa_ioc *ioc, char *model)
ioc_attr = ioc->attr; ioc_attr = ioc->attr;
/**
* model name
*/
snprintf(model, BFA_ADAPTER_MODEL_NAME_LEN, "%s-%u", snprintf(model, BFA_ADAPTER_MODEL_NAME_LEN, "%s-%u",
BFA_MFG_NAME, ioc_attr->card_type); BFA_MFG_NAME, ioc_attr->card_type);
} }
......
...@@ -152,16 +152,7 @@ struct bfa_ioc_notify { ...@@ -152,16 +152,7 @@ struct bfa_ioc_notify {
}; };
/** /**
* Heartbeat failure notification queue element. * Initialize a IOC event notification structure
*/
struct bfa_ioc_hbfail_notify {
struct list_head qe;
bfa_ioc_hbfail_cbfn_t cbfn;
void *cbarg;
};
/**
* Initialize a heartbeat failure notification structure
*/ */
#define bfa_ioc_notify_init(__notify, __cbfn, __cbarg) do { \ #define bfa_ioc_notify_init(__notify, __cbfn, __cbarg) do { \
(__notify)->cbfn = (__cbfn); \ (__notify)->cbfn = (__cbfn); \
...@@ -290,6 +281,7 @@ void bfa_nw_ioc_mbox_regisr(struct bfa_ioc *ioc, enum bfi_mclass mc, ...@@ -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_ct_hwif(struct bfa_ioc *ioc);
void bfa_nw_ioc_set_ct2_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, void bfa_nw_ioc_attach(struct bfa_ioc *ioc, void *bfa,
struct bfa_ioc_cbfn *cbfn); struct bfa_ioc_cbfn *cbfn);
......
...@@ -850,9 +850,16 @@ bfa_ioc_ct2_pll_init(void __iomem *rb, enum bfi_asic_mode asic_mode) ...@@ -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 * release soft reset on s_clk & l_clk
*/ */
r32 = readl((rb + CT2_APP_PLL_SCLK_CTL_REG)); 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)); (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. * Announce flash device presence, if flash was corrupted.
*/ */
......
...@@ -135,18 +135,22 @@ enum bfi_mclass { ...@@ -135,18 +135,22 @@ enum bfi_mclass {
BFI_MC_SFP = 22, /*!< SFP module */ BFI_MC_SFP = 22, /*!< SFP module */
BFI_MC_MSGQ = 23, /*!< MSGQ */ BFI_MC_MSGQ = 23, /*!< MSGQ */
BFI_MC_ENET = 24, /*!< ENET commands/responses */ 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_IOC_MSGLEN_MAX 32 /* 32 bytes */
#define BFI_FWBOOT_ENV_OS 0 #define BFI_FWBOOT_ENV_OS 0
#define BFI_BOOT_MEMTEST_RES_ADDR 0x900
#define BFI_BOOT_MEMTEST_RES_SIG 0xA0A1A2A3
/** /**
*---------------------------------------------------------------------- *----------------------------------------------------------------------
* IOC * IOC
...@@ -280,9 +284,6 @@ enum bfi_port_mode { ...@@ -280,9 +284,6 @@ enum bfi_port_mode {
BFI_PORT_MODE_ETH = 2, BFI_PORT_MODE_ETH = 2,
}; };
/**
* BFI_IOC_I2H_READY_EVENT message
*/
struct bfi_ioc_hbeat { struct bfi_ioc_hbeat {
struct bfi_mhdr mh; /*!< common msg header */ struct bfi_mhdr mh; /*!< common msg header */
u32 hb_count; /*!< current heart beat count */ u32 hb_count; /*!< current heart beat count */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment