Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions | Variables
qlcnic_hw.c File Reference
#include "qlcnic.h"
#include <linux/slab.h>
#include <net/ip.h>
#include <linux/bitops.h>

Go to the source code of this file.

Macros

#define MASK(n)   ((1ULL<<(n))-1)
 
#define OCM_WIN_P3P(addr)   (addr & 0xffc0000)
 
#define GET_MEM_OFFS_2M(addr)   (addr & MASK(18))
 
#define CRB_BLK(off)   ((off >> 20) & 0x3f)
 
#define CRB_SUBBLK(off)   ((off >> 16) & 0xf)
 
#define CRB_WINDOW_2M   (0x130060)
 
#define CRB_HI(off)   ((crb_hub_agt[CRB_BLK(off)] << 20) | ((off) & 0xf0000))
 
#define CRB_INDIRECT_2M   (0x1e0000UL)
 
#define QLCNIC_PCIE_SEM_TIMEOUT   10000
 
#define RSS_HASHTYPE_IP_TCP   0x3
 
#define MAX_CTL_CHECK   1000
 

Functions

int qlcnic_pcie_sem_lock (struct qlcnic_adapter *adapter, int sem, u32 id_reg)
 
void qlcnic_pcie_sem_unlock (struct qlcnic_adapter *adapter, int sem)
 
void qlcnic_set_multi (struct net_device *netdev)
 
int qlcnic_nic_set_promisc (struct qlcnic_adapter *adapter, u32 mode)
 
void qlcnic_free_mac_list (struct qlcnic_adapter *adapter)
 
void qlcnic_prune_lb_filters (struct qlcnic_adapter *adapter)
 
void qlcnic_delete_lb_filters (struct qlcnic_adapter *adapter)
 
int qlcnic_set_fw_loopback (struct qlcnic_adapter *adapter, u8 flag)
 
int qlcnic_set_lb_mode (struct qlcnic_adapter *adapter, u8 mode)
 
void qlcnic_clear_lb_mode (struct qlcnic_adapter *adapter)
 
int qlcnic_config_intr_coalesce (struct qlcnic_adapter *adapter)
 
int qlcnic_config_hw_lro (struct qlcnic_adapter *adapter, int enable)
 
int qlcnic_config_bridged_mode (struct qlcnic_adapter *adapter, u32 enable)
 
int qlcnic_config_rss (struct qlcnic_adapter *adapter, int enable)
 
int qlcnic_config_ipaddr (struct qlcnic_adapter *adapter, __be32 ip, int cmd)
 
int qlcnic_linkevent_request (struct qlcnic_adapter *adapter, int enable)
 
int qlcnic_send_lro_cleanup (struct qlcnic_adapter *adapter)
 
int qlcnic_change_mtu (struct net_device *netdev, int mtu)
 
netdev_features_t qlcnic_fix_features (struct net_device *netdev, netdev_features_t features)
 
int qlcnic_set_features (struct net_device *netdev, netdev_features_t features)
 
int qlcnic_hw_write_wx_2M (struct qlcnic_adapter *adapter, ulong off, u32 data)
 
u32 qlcnic_hw_read_wx_2M (struct qlcnic_adapter *adapter, ulong off)
 
void __iomemqlcnic_get_ioaddr (struct qlcnic_adapter *adapter, u32 offset)
 
void qlcnic_pci_camqm_read_2M (struct qlcnic_adapter *adapter, u64 off, u64 *data)
 
void qlcnic_pci_camqm_write_2M (struct qlcnic_adapter *adapter, u64 off, u64 data)
 
int qlcnic_pci_mem_write_2M (struct qlcnic_adapter *adapter, u64 off, u64 data)
 
int qlcnic_pci_mem_read_2M (struct qlcnic_adapter *adapter, u64 off, u64 *data)
 
int qlcnic_get_board_info (struct qlcnic_adapter *adapter)
 
int qlcnic_wol_supported (struct qlcnic_adapter *adapter)
 
int qlcnic_config_led (struct qlcnic_adapter *adapter, u32 state, u32 rate)
 
int qlcnic_dump_fw (struct qlcnic_adapter *adapter)
 

Variables

struct qlcnic_dump_operations fw_dump_ops []
 

Macro Definition Documentation

#define CRB_BLK (   off)    ((off >> 20) & 0x3f)

Definition at line 19 of file qlcnic_hw.c.

#define CRB_HI (   off)    ((crb_hub_agt[CRB_BLK(off)] << 20) | ((off) & 0xf0000))

Definition at line 22 of file qlcnic_hw.c.

#define CRB_INDIRECT_2M   (0x1e0000UL)

Definition at line 23 of file qlcnic_hw.c.

#define CRB_SUBBLK (   off)    ((off >> 16) & 0xf)

Definition at line 20 of file qlcnic_hw.c.

#define CRB_WINDOW_2M   (0x130060)

Definition at line 21 of file qlcnic_hw.c.

#define GET_MEM_OFFS_2M (   addr)    (addr & MASK(18))

Definition at line 17 of file qlcnic_hw.c.

#define MASK (   n)    ((1ULL<<(n))-1)

Definition at line 14 of file qlcnic_hw.c.

#define MAX_CTL_CHECK   1000

Definition at line 1064 of file qlcnic_hw.c.

#define OCM_WIN_P3P (   addr)    (addr & 0xffc0000)

Definition at line 15 of file qlcnic_hw.c.

#define QLCNIC_PCIE_SEM_TIMEOUT   10000

Definition at line 271 of file qlcnic_hw.c.

#define RSS_HASHTYPE_IP_TCP   0x3

Definition at line 677 of file qlcnic_hw.c.

Function Documentation

int qlcnic_change_mtu ( struct net_device netdev,
int  mtu 
)

Definition at line 800 of file qlcnic_hw.c.

void qlcnic_clear_lb_mode ( struct qlcnic_adapter adapter)

Definition at line 577 of file qlcnic_hw.c.

int qlcnic_config_bridged_mode ( struct qlcnic_adapter adapter,
u32  enable 
)

Definition at line 647 of file qlcnic_hw.c.

int qlcnic_config_hw_lro ( struct qlcnic_adapter adapter,
int  enable 
)

Definition at line 621 of file qlcnic_hw.c.

int qlcnic_config_intr_coalesce ( struct qlcnic_adapter adapter)

Definition at line 596 of file qlcnic_hw.c.

int qlcnic_config_ipaddr ( struct qlcnic_adapter adapter,
__be32  ip,
int  cmd 
)

Definition at line 722 of file qlcnic_hw.c.

int qlcnic_config_led ( struct qlcnic_adapter adapter,
u32  state,
u32  rate 
)

Definition at line 1302 of file qlcnic_hw.c.

int qlcnic_config_rss ( struct qlcnic_adapter adapter,
int  enable 
)

Definition at line 679 of file qlcnic_hw.c.

void qlcnic_delete_lb_filters ( struct qlcnic_adapter adapter)

Definition at line 520 of file qlcnic_hw.c.

int qlcnic_dump_fw ( struct qlcnic_adapter adapter)

Definition at line 1703 of file qlcnic_hw.c.

netdev_features_t qlcnic_fix_features ( struct net_device netdev,
netdev_features_t  features 
)

Definition at line 820 of file qlcnic_hw.c.

void qlcnic_free_mac_list ( struct qlcnic_adapter adapter)

Definition at line 478 of file qlcnic_hw.c.

int qlcnic_get_board_info ( struct qlcnic_adapter adapter)

Definition at line 1229 of file qlcnic_hw.c.

void __iomem* qlcnic_get_ioaddr ( struct qlcnic_adapter adapter,
u32  offset 
)

Definition at line 989 of file qlcnic_hw.c.

u32 qlcnic_hw_read_wx_2M ( struct qlcnic_adapter adapter,
ulong  off 
)

Definition at line 958 of file qlcnic_hw.c.

int qlcnic_hw_write_wx_2M ( struct qlcnic_adapter adapter,
ulong  off,
u32  data 
)

Definition at line 926 of file qlcnic_hw.c.

int qlcnic_linkevent_request ( struct qlcnic_adapter adapter,
int  enable 
)

Definition at line 748 of file qlcnic_hw.c.

int qlcnic_nic_set_promisc ( struct qlcnic_adapter adapter,
u32  mode 
)

Definition at line 459 of file qlcnic_hw.c.

void qlcnic_pci_camqm_read_2M ( struct qlcnic_adapter adapter,
u64  off,
u64 data 
)

Definition at line 1043 of file qlcnic_hw.c.

void qlcnic_pci_camqm_write_2M ( struct qlcnic_adapter adapter,
u64  off,
u64  data 
)

Definition at line 1054 of file qlcnic_hw.c.

int qlcnic_pci_mem_read_2M ( struct qlcnic_adapter adapter,
u64  off,
u64 data 
)

Definition at line 1158 of file qlcnic_hw.c.

int qlcnic_pci_mem_write_2M ( struct qlcnic_adapter adapter,
u64  off,
u64  data 
)

Definition at line 1067 of file qlcnic_hw.c.

int qlcnic_pcie_sem_lock ( struct qlcnic_adapter adapter,
int  sem,
u32  id_reg 
)

Definition at line 274 of file qlcnic_hw.c.

void qlcnic_pcie_sem_unlock ( struct qlcnic_adapter adapter,
int  sem 
)

Definition at line 298 of file qlcnic_hw.c.

void qlcnic_prune_lb_filters ( struct qlcnic_adapter adapter)

Definition at line 492 of file qlcnic_hw.c.

int qlcnic_send_lro_cleanup ( struct qlcnic_adapter adapter)

Definition at line 769 of file qlcnic_hw.c.

int qlcnic_set_features ( struct net_device netdev,
netdev_features_t  features 
)

Definition at line 837 of file qlcnic_hw.c.

int qlcnic_set_fw_loopback ( struct qlcnic_adapter adapter,
u8  flag 
)

Definition at line 543 of file qlcnic_hw.c.

int qlcnic_set_lb_mode ( struct qlcnic_adapter adapter,
u8  mode 
)

Definition at line 563 of file qlcnic_hw.c.

void qlcnic_set_multi ( struct net_device netdev)

Definition at line 415 of file qlcnic_hw.c.

int qlcnic_wol_supported ( struct qlcnic_adapter adapter)

Definition at line 1288 of file qlcnic_hw.c.

Variable Documentation

Initial value:
= {
{ QLCNIC_DUMP_NOP, qlcnic_dump_nop },
{ QLCNIC_DUMP_READ_CRB, qlcnic_dump_crb },
{ QLCNIC_DUMP_READ_MUX, qlcnic_dump_mux },
{ QLCNIC_DUMP_QUEUE, qlcnic_dump_que },
{ QLCNIC_DUMP_BRD_CONFIG, qlcnic_read_rom },
{ QLCNIC_DUMP_READ_OCM, qlcnic_dump_ocm },
{ QLCNIC_DUMP_PEG_REG, qlcnic_dump_ctrl },
{ QLCNIC_DUMP_L1_DTAG, qlcnic_dump_l1_cache },
{ QLCNIC_DUMP_L1_ITAG, qlcnic_dump_l1_cache },
{ QLCNIC_DUMP_L1_DATA, qlcnic_dump_l1_cache },
{ QLCNIC_DUMP_L1_INST, qlcnic_dump_l1_cache },
{ QLCNIC_DUMP_L2_DTAG, qlcnic_dump_l2_cache },
{ QLCNIC_DUMP_L2_ITAG, qlcnic_dump_l2_cache },
{ QLCNIC_DUMP_L2_DATA, qlcnic_dump_l2_cache },
{ QLCNIC_DUMP_L2_INST, qlcnic_dump_l2_cache },
{ QLCNIC_DUMP_READ_ROM, qlcnic_read_rom },
{ QLCNIC_DUMP_READ_MEM, qlcnic_read_memory },
{ QLCNIC_DUMP_READ_CTRL, qlcnic_dump_ctrl },
{ QLCNIC_DUMP_TLHDR, qlcnic_dump_nop },
{ QLCNIC_DUMP_RDEND, qlcnic_dump_nop },
}

Definition at line 1664 of file qlcnic_hw.c.