bna: Remove get_regs Ethtool Support
Change details: - This patch contains removal of get_regs support in bnad_ethtool.c. Thus BNA will have minimal register definitions necessary for MBOX and interrupt operations Signed-off-by: Rasesh Mody <rmody@brocade.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
12004ae99c
commit
80a3809db1
1 changed files with 0 additions and 319 deletions
|
|
@ -288,323 +288,6 @@ bnad_get_drvinfo(struct net_device *netdev, struct ethtool_drvinfo *drvinfo)
|
|||
strncpy(drvinfo->bus_info, pci_name(bnad->pcidev), ETHTOOL_BUSINFO_LEN);
|
||||
}
|
||||
|
||||
static int
|
||||
get_regs(struct bnad *bnad, u32 * regs)
|
||||
{
|
||||
int num = 0, i;
|
||||
u32 reg_addr;
|
||||
unsigned long flags;
|
||||
|
||||
#define BNAD_GET_REG(addr) \
|
||||
do { \
|
||||
if (regs) \
|
||||
regs[num++] = readl(bnad->bar0 + (addr)); \
|
||||
else \
|
||||
num++; \
|
||||
} while (0)
|
||||
|
||||
spin_lock_irqsave(&bnad->bna_lock, flags);
|
||||
|
||||
/* DMA Block Internal Registers */
|
||||
BNAD_GET_REG(DMA_CTRL_REG0);
|
||||
BNAD_GET_REG(DMA_CTRL_REG1);
|
||||
BNAD_GET_REG(DMA_ERR_INT_STATUS);
|
||||
BNAD_GET_REG(DMA_ERR_INT_ENABLE);
|
||||
BNAD_GET_REG(DMA_ERR_INT_STATUS_SET);
|
||||
|
||||
/* APP Block Register Address Offset from BAR0 */
|
||||
BNAD_GET_REG(HOSTFN0_INT_STATUS);
|
||||
BNAD_GET_REG(HOSTFN0_INT_MASK);
|
||||
BNAD_GET_REG(HOST_PAGE_NUM_FN0);
|
||||
BNAD_GET_REG(HOST_MSIX_ERR_INDEX_FN0);
|
||||
BNAD_GET_REG(FN0_PCIE_ERR_REG);
|
||||
BNAD_GET_REG(FN0_ERR_TYPE_STATUS_REG);
|
||||
BNAD_GET_REG(FN0_ERR_TYPE_MSK_STATUS_REG);
|
||||
|
||||
BNAD_GET_REG(HOSTFN1_INT_STATUS);
|
||||
BNAD_GET_REG(HOSTFN1_INT_MASK);
|
||||
BNAD_GET_REG(HOST_PAGE_NUM_FN1);
|
||||
BNAD_GET_REG(HOST_MSIX_ERR_INDEX_FN1);
|
||||
BNAD_GET_REG(FN1_PCIE_ERR_REG);
|
||||
BNAD_GET_REG(FN1_ERR_TYPE_STATUS_REG);
|
||||
BNAD_GET_REG(FN1_ERR_TYPE_MSK_STATUS_REG);
|
||||
|
||||
BNAD_GET_REG(PCIE_MISC_REG);
|
||||
|
||||
BNAD_GET_REG(HOST_SEM0_INFO_REG);
|
||||
BNAD_GET_REG(HOST_SEM1_INFO_REG);
|
||||
BNAD_GET_REG(HOST_SEM2_INFO_REG);
|
||||
BNAD_GET_REG(HOST_SEM3_INFO_REG);
|
||||
|
||||
BNAD_GET_REG(TEMPSENSE_CNTL_REG);
|
||||
BNAD_GET_REG(TEMPSENSE_STAT_REG);
|
||||
|
||||
BNAD_GET_REG(APP_LOCAL_ERR_STAT);
|
||||
BNAD_GET_REG(APP_LOCAL_ERR_MSK);
|
||||
|
||||
BNAD_GET_REG(PCIE_LNK_ERR_STAT);
|
||||
BNAD_GET_REG(PCIE_LNK_ERR_MSK);
|
||||
|
||||
BNAD_GET_REG(FCOE_FIP_ETH_TYPE);
|
||||
BNAD_GET_REG(RESV_ETH_TYPE);
|
||||
|
||||
BNAD_GET_REG(HOSTFN2_INT_STATUS);
|
||||
BNAD_GET_REG(HOSTFN2_INT_MASK);
|
||||
BNAD_GET_REG(HOST_PAGE_NUM_FN2);
|
||||
BNAD_GET_REG(HOST_MSIX_ERR_INDEX_FN2);
|
||||
BNAD_GET_REG(FN2_PCIE_ERR_REG);
|
||||
BNAD_GET_REG(FN2_ERR_TYPE_STATUS_REG);
|
||||
BNAD_GET_REG(FN2_ERR_TYPE_MSK_STATUS_REG);
|
||||
|
||||
BNAD_GET_REG(HOSTFN3_INT_STATUS);
|
||||
BNAD_GET_REG(HOSTFN3_INT_MASK);
|
||||
BNAD_GET_REG(HOST_PAGE_NUM_FN3);
|
||||
BNAD_GET_REG(HOST_MSIX_ERR_INDEX_FN3);
|
||||
BNAD_GET_REG(FN3_PCIE_ERR_REG);
|
||||
BNAD_GET_REG(FN3_ERR_TYPE_STATUS_REG);
|
||||
BNAD_GET_REG(FN3_ERR_TYPE_MSK_STATUS_REG);
|
||||
|
||||
/* Host Command Status Registers */
|
||||
reg_addr = HOST_CMDSTS0_CLR_REG;
|
||||
for (i = 0; i < 16; i++) {
|
||||
BNAD_GET_REG(reg_addr);
|
||||
BNAD_GET_REG(reg_addr + 4);
|
||||
BNAD_GET_REG(reg_addr + 8);
|
||||
reg_addr += 0x10;
|
||||
}
|
||||
|
||||
/* Function ID register */
|
||||
BNAD_GET_REG(FNC_ID_REG);
|
||||
|
||||
/* Function personality register */
|
||||
BNAD_GET_REG(FNC_PERS_REG);
|
||||
|
||||
/* Operation mode register */
|
||||
BNAD_GET_REG(OP_MODE);
|
||||
|
||||
/* LPU0 Registers */
|
||||
BNAD_GET_REG(LPU0_MBOX_CTL_REG);
|
||||
BNAD_GET_REG(LPU0_MBOX_CMD_REG);
|
||||
BNAD_GET_REG(LPU0_MBOX_LINK_0REG);
|
||||
BNAD_GET_REG(LPU1_MBOX_LINK_0REG);
|
||||
BNAD_GET_REG(LPU0_MBOX_STATUS_0REG);
|
||||
BNAD_GET_REG(LPU1_MBOX_STATUS_0REG);
|
||||
BNAD_GET_REG(LPU0_ERR_STATUS_REG);
|
||||
BNAD_GET_REG(LPU0_ERR_SET_REG);
|
||||
|
||||
/* LPU1 Registers */
|
||||
BNAD_GET_REG(LPU1_MBOX_CTL_REG);
|
||||
BNAD_GET_REG(LPU1_MBOX_CMD_REG);
|
||||
BNAD_GET_REG(LPU0_MBOX_LINK_1REG);
|
||||
BNAD_GET_REG(LPU1_MBOX_LINK_1REG);
|
||||
BNAD_GET_REG(LPU0_MBOX_STATUS_1REG);
|
||||
BNAD_GET_REG(LPU1_MBOX_STATUS_1REG);
|
||||
BNAD_GET_REG(LPU1_ERR_STATUS_REG);
|
||||
BNAD_GET_REG(LPU1_ERR_SET_REG);
|
||||
|
||||
/* PSS Registers */
|
||||
BNAD_GET_REG(PSS_CTL_REG);
|
||||
BNAD_GET_REG(PSS_ERR_STATUS_REG);
|
||||
BNAD_GET_REG(ERR_STATUS_SET);
|
||||
BNAD_GET_REG(PSS_RAM_ERR_STATUS_REG);
|
||||
|
||||
/* Catapult CPQ Registers */
|
||||
BNAD_GET_REG(HOSTFN0_LPU0_MBOX0_CMD_STAT);
|
||||
BNAD_GET_REG(HOSTFN0_LPU1_MBOX0_CMD_STAT);
|
||||
BNAD_GET_REG(LPU0_HOSTFN0_MBOX0_CMD_STAT);
|
||||
BNAD_GET_REG(LPU1_HOSTFN0_MBOX0_CMD_STAT);
|
||||
|
||||
BNAD_GET_REG(HOSTFN0_LPU0_MBOX1_CMD_STAT);
|
||||
BNAD_GET_REG(HOSTFN0_LPU1_MBOX1_CMD_STAT);
|
||||
BNAD_GET_REG(LPU0_HOSTFN0_MBOX1_CMD_STAT);
|
||||
BNAD_GET_REG(LPU1_HOSTFN0_MBOX1_CMD_STAT);
|
||||
|
||||
BNAD_GET_REG(HOSTFN1_LPU0_MBOX0_CMD_STAT);
|
||||
BNAD_GET_REG(HOSTFN1_LPU1_MBOX0_CMD_STAT);
|
||||
BNAD_GET_REG(LPU0_HOSTFN1_MBOX0_CMD_STAT);
|
||||
BNAD_GET_REG(LPU1_HOSTFN1_MBOX0_CMD_STAT);
|
||||
|
||||
BNAD_GET_REG(HOSTFN1_LPU0_MBOX1_CMD_STAT);
|
||||
BNAD_GET_REG(HOSTFN1_LPU1_MBOX1_CMD_STAT);
|
||||
BNAD_GET_REG(LPU0_HOSTFN1_MBOX1_CMD_STAT);
|
||||
BNAD_GET_REG(LPU1_HOSTFN1_MBOX1_CMD_STAT);
|
||||
|
||||
BNAD_GET_REG(HOSTFN2_LPU0_MBOX0_CMD_STAT);
|
||||
BNAD_GET_REG(HOSTFN2_LPU1_MBOX0_CMD_STAT);
|
||||
BNAD_GET_REG(LPU0_HOSTFN2_MBOX0_CMD_STAT);
|
||||
BNAD_GET_REG(LPU1_HOSTFN2_MBOX0_CMD_STAT);
|
||||
|
||||
BNAD_GET_REG(HOSTFN2_LPU0_MBOX1_CMD_STAT);
|
||||
BNAD_GET_REG(HOSTFN2_LPU1_MBOX1_CMD_STAT);
|
||||
BNAD_GET_REG(LPU0_HOSTFN2_MBOX1_CMD_STAT);
|
||||
BNAD_GET_REG(LPU1_HOSTFN2_MBOX1_CMD_STAT);
|
||||
|
||||
BNAD_GET_REG(HOSTFN3_LPU0_MBOX0_CMD_STAT);
|
||||
BNAD_GET_REG(HOSTFN3_LPU1_MBOX0_CMD_STAT);
|
||||
BNAD_GET_REG(LPU0_HOSTFN3_MBOX0_CMD_STAT);
|
||||
BNAD_GET_REG(LPU1_HOSTFN3_MBOX0_CMD_STAT);
|
||||
|
||||
BNAD_GET_REG(HOSTFN3_LPU0_MBOX1_CMD_STAT);
|
||||
BNAD_GET_REG(HOSTFN3_LPU1_MBOX1_CMD_STAT);
|
||||
BNAD_GET_REG(LPU0_HOSTFN3_MBOX1_CMD_STAT);
|
||||
BNAD_GET_REG(LPU1_HOSTFN3_MBOX1_CMD_STAT);
|
||||
|
||||
/* Host Function Force Parity Error Registers */
|
||||
BNAD_GET_REG(HOSTFN0_LPU_FORCE_PERR);
|
||||
BNAD_GET_REG(HOSTFN1_LPU_FORCE_PERR);
|
||||
BNAD_GET_REG(HOSTFN2_LPU_FORCE_PERR);
|
||||
BNAD_GET_REG(HOSTFN3_LPU_FORCE_PERR);
|
||||
|
||||
/* LL Port[0|1] Halt Mask Registers */
|
||||
BNAD_GET_REG(LL_HALT_MSK_P0);
|
||||
BNAD_GET_REG(LL_HALT_MSK_P1);
|
||||
|
||||
/* LL Port[0|1] Error Mask Registers */
|
||||
BNAD_GET_REG(LL_ERR_MSK_P0);
|
||||
BNAD_GET_REG(LL_ERR_MSK_P1);
|
||||
|
||||
/* EMC FLI Registers */
|
||||
BNAD_GET_REG(FLI_CMD_REG);
|
||||
BNAD_GET_REG(FLI_ADDR_REG);
|
||||
BNAD_GET_REG(FLI_CTL_REG);
|
||||
BNAD_GET_REG(FLI_WRDATA_REG);
|
||||
BNAD_GET_REG(FLI_RDDATA_REG);
|
||||
BNAD_GET_REG(FLI_DEV_STATUS_REG);
|
||||
BNAD_GET_REG(FLI_SIG_WD_REG);
|
||||
|
||||
BNAD_GET_REG(FLI_DEV_VENDOR_REG);
|
||||
BNAD_GET_REG(FLI_ERR_STATUS_REG);
|
||||
|
||||
/* RxAdm 0 Registers */
|
||||
BNAD_GET_REG(RAD0_CTL_REG);
|
||||
BNAD_GET_REG(RAD0_PE_PARM_REG);
|
||||
BNAD_GET_REG(RAD0_BCN_REG);
|
||||
BNAD_GET_REG(RAD0_DEFAULT_REG);
|
||||
BNAD_GET_REG(RAD0_PROMISC_REG);
|
||||
BNAD_GET_REG(RAD0_BCNQ_REG);
|
||||
BNAD_GET_REG(RAD0_DEFAULTQ_REG);
|
||||
|
||||
BNAD_GET_REG(RAD0_ERR_STS);
|
||||
BNAD_GET_REG(RAD0_SET_ERR_STS);
|
||||
BNAD_GET_REG(RAD0_ERR_INT_EN);
|
||||
BNAD_GET_REG(RAD0_FIRST_ERR);
|
||||
BNAD_GET_REG(RAD0_FORCE_ERR);
|
||||
|
||||
BNAD_GET_REG(RAD0_MAC_MAN_1H);
|
||||
BNAD_GET_REG(RAD0_MAC_MAN_1L);
|
||||
BNAD_GET_REG(RAD0_MAC_MAN_2H);
|
||||
BNAD_GET_REG(RAD0_MAC_MAN_2L);
|
||||
BNAD_GET_REG(RAD0_MAC_MAN_3H);
|
||||
BNAD_GET_REG(RAD0_MAC_MAN_3L);
|
||||
BNAD_GET_REG(RAD0_MAC_MAN_4H);
|
||||
BNAD_GET_REG(RAD0_MAC_MAN_4L);
|
||||
|
||||
BNAD_GET_REG(RAD0_LAST4_IP);
|
||||
|
||||
/* RxAdm 1 Registers */
|
||||
BNAD_GET_REG(RAD1_CTL_REG);
|
||||
BNAD_GET_REG(RAD1_PE_PARM_REG);
|
||||
BNAD_GET_REG(RAD1_BCN_REG);
|
||||
BNAD_GET_REG(RAD1_DEFAULT_REG);
|
||||
BNAD_GET_REG(RAD1_PROMISC_REG);
|
||||
BNAD_GET_REG(RAD1_BCNQ_REG);
|
||||
BNAD_GET_REG(RAD1_DEFAULTQ_REG);
|
||||
|
||||
BNAD_GET_REG(RAD1_ERR_STS);
|
||||
BNAD_GET_REG(RAD1_SET_ERR_STS);
|
||||
BNAD_GET_REG(RAD1_ERR_INT_EN);
|
||||
|
||||
/* TxA0 Registers */
|
||||
BNAD_GET_REG(TXA0_CTRL_REG);
|
||||
/* TxA0 TSO Sequence # Registers (RO) */
|
||||
for (i = 0; i < 8; i++) {
|
||||
BNAD_GET_REG(TXA0_TSO_TCP_SEQ_REG(i));
|
||||
BNAD_GET_REG(TXA0_TSO_IP_INFO_REG(i));
|
||||
}
|
||||
|
||||
/* TxA1 Registers */
|
||||
BNAD_GET_REG(TXA1_CTRL_REG);
|
||||
/* TxA1 TSO Sequence # Registers (RO) */
|
||||
for (i = 0; i < 8; i++) {
|
||||
BNAD_GET_REG(TXA1_TSO_TCP_SEQ_REG(i));
|
||||
BNAD_GET_REG(TXA1_TSO_IP_INFO_REG(i));
|
||||
}
|
||||
|
||||
/* RxA Registers */
|
||||
BNAD_GET_REG(RXA0_CTL_REG);
|
||||
BNAD_GET_REG(RXA1_CTL_REG);
|
||||
|
||||
/* PLB0 Registers */
|
||||
BNAD_GET_REG(PLB0_ECM_TIMER_REG);
|
||||
BNAD_GET_REG(PLB0_RL_CTL);
|
||||
for (i = 0; i < 8; i++)
|
||||
BNAD_GET_REG(PLB0_RL_MAX_BC(i));
|
||||
BNAD_GET_REG(PLB0_RL_TU_PRIO);
|
||||
for (i = 0; i < 8; i++)
|
||||
BNAD_GET_REG(PLB0_RL_BYTE_CNT(i));
|
||||
BNAD_GET_REG(PLB0_RL_MIN_REG);
|
||||
BNAD_GET_REG(PLB0_RL_MAX_REG);
|
||||
BNAD_GET_REG(PLB0_EMS_ADD_REG);
|
||||
|
||||
/* PLB1 Registers */
|
||||
BNAD_GET_REG(PLB1_ECM_TIMER_REG);
|
||||
BNAD_GET_REG(PLB1_RL_CTL);
|
||||
for (i = 0; i < 8; i++)
|
||||
BNAD_GET_REG(PLB1_RL_MAX_BC(i));
|
||||
BNAD_GET_REG(PLB1_RL_TU_PRIO);
|
||||
for (i = 0; i < 8; i++)
|
||||
BNAD_GET_REG(PLB1_RL_BYTE_CNT(i));
|
||||
BNAD_GET_REG(PLB1_RL_MIN_REG);
|
||||
BNAD_GET_REG(PLB1_RL_MAX_REG);
|
||||
BNAD_GET_REG(PLB1_EMS_ADD_REG);
|
||||
|
||||
/* HQM Control Register */
|
||||
BNAD_GET_REG(HQM0_CTL_REG);
|
||||
BNAD_GET_REG(HQM0_RXQ_STOP_SEM);
|
||||
BNAD_GET_REG(HQM0_TXQ_STOP_SEM);
|
||||
BNAD_GET_REG(HQM1_CTL_REG);
|
||||
BNAD_GET_REG(HQM1_RXQ_STOP_SEM);
|
||||
BNAD_GET_REG(HQM1_TXQ_STOP_SEM);
|
||||
|
||||
/* LUT Registers */
|
||||
BNAD_GET_REG(LUT0_ERR_STS);
|
||||
BNAD_GET_REG(LUT0_SET_ERR_STS);
|
||||
BNAD_GET_REG(LUT1_ERR_STS);
|
||||
BNAD_GET_REG(LUT1_SET_ERR_STS);
|
||||
|
||||
/* TRC Registers */
|
||||
BNAD_GET_REG(TRC_CTL_REG);
|
||||
BNAD_GET_REG(TRC_MODS_REG);
|
||||
BNAD_GET_REG(TRC_TRGC_REG);
|
||||
BNAD_GET_REG(TRC_CNT1_REG);
|
||||
BNAD_GET_REG(TRC_CNT2_REG);
|
||||
BNAD_GET_REG(TRC_NXTS_REG);
|
||||
BNAD_GET_REG(TRC_DIRR_REG);
|
||||
for (i = 0; i < 10; i++)
|
||||
BNAD_GET_REG(TRC_TRGM_REG(i));
|
||||
for (i = 0; i < 10; i++)
|
||||
BNAD_GET_REG(TRC_NXTM_REG(i));
|
||||
for (i = 0; i < 10; i++)
|
||||
BNAD_GET_REG(TRC_STRM_REG(i));
|
||||
|
||||
spin_unlock_irqrestore(&bnad->bna_lock, flags);
|
||||
#undef BNAD_GET_REG
|
||||
return num;
|
||||
}
|
||||
static int
|
||||
bnad_get_regs_len(struct net_device *netdev)
|
||||
{
|
||||
int ret = get_regs(netdev_priv(netdev), NULL) * sizeof(u32);
|
||||
return ret;
|
||||
}
|
||||
|
||||
static void
|
||||
bnad_get_regs(struct net_device *netdev, struct ethtool_regs *regs, void *buf)
|
||||
{
|
||||
memset(buf, 0, bnad_get_regs_len(netdev));
|
||||
get_regs(netdev_priv(netdev), buf);
|
||||
}
|
||||
|
||||
static void
|
||||
bnad_get_wol(struct net_device *netdev, struct ethtool_wolinfo *wolinfo)
|
||||
{
|
||||
|
|
@ -1192,8 +875,6 @@ static struct ethtool_ops bnad_ethtool_ops = {
|
|||
.get_settings = bnad_get_settings,
|
||||
.set_settings = bnad_set_settings,
|
||||
.get_drvinfo = bnad_get_drvinfo,
|
||||
.get_regs_len = bnad_get_regs_len,
|
||||
.get_regs = bnad_get_regs,
|
||||
.get_wol = bnad_get_wol,
|
||||
.get_link = ethtool_op_get_link,
|
||||
.get_coalesce = bnad_get_coalesce,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue