aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/netxen/netxen_nic.h
diff options
context:
space:
mode:
authorDhananjay Phadke <dhananjay@netxen.com>2009-08-24 15:23:26 -0400
committerDavid S. Miller <davem@davemloft.net>2009-08-26 18:29:17 -0400
commitc9517e5893db03ca8bd32b8783b39af58176947c (patch)
tree5ae4d26af6f38e70a868e634d0576056c326027e /drivers/net/netxen/netxen_nic.h
parentcb7e4b6e37144f5d131ee09296be3c21c41f28d8 (diff)
netxen: implement generic pcie semaphore functions
Implement common function for locking/unlocking 8 hardware semaphores used for serializing access to shared resouces on a NIC board by different PCI functions. As by definition, callers of these semaphore API can be put to sleep till the semaphore is locked. Signed-off-by: Dhananjay Phadke <dhananjay@netxen.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/netxen/netxen_nic.h')
-rw-r--r--drivers/net/netxen/netxen_nic.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/drivers/net/netxen/netxen_nic.h b/drivers/net/netxen/netxen_nic.h
index 74ccef5a5c97..061e8aa419b0 100644
--- a/drivers/net/netxen/netxen_nic.h
+++ b/drivers/net/netxen/netxen_nic.h
@@ -1207,6 +1207,30 @@ int netxen_p3_nic_set_mac_addr(struct netxen_adapter *adapter, u8 *addr);
1207#define NXWR32(adapter, off, val) \ 1207#define NXWR32(adapter, off, val) \
1208 (adapter->hw_write_wx(adapter, off, val)) 1208 (adapter->hw_write_wx(adapter, off, val))
1209 1209
1210int netxen_pcie_sem_lock(struct netxen_adapter *, int, u32);
1211void netxen_pcie_sem_unlock(struct netxen_adapter *, int);
1212
1213#define netxen_rom_lock(a) \
1214 netxen_pcie_sem_lock((a), 2, NETXEN_ROM_LOCK_ID)
1215#define netxen_rom_unlock(a) \
1216 netxen_pcie_sem_unlock((a), 2)
1217#define netxen_phy_lock(a) \
1218 netxen_pcie_sem_lock((a), 3, NETXEN_PHY_LOCK_ID)
1219#define netxen_phy_unlock(a) \
1220 netxen_pcie_sem_unlock((a), 3)
1221#define netxen_api_lock(a) \
1222 netxen_pcie_sem_lock((a), 5, 0)
1223#define netxen_api_unlock(a) \
1224 netxen_pcie_sem_unlock((a), 5)
1225#define netxen_sw_lock(a) \
1226 netxen_pcie_sem_lock((a), 6, 0)
1227#define netxen_sw_unlock(a) \
1228 netxen_pcie_sem_unlock((a), 6)
1229#define crb_win_lock(a) \
1230 netxen_pcie_sem_lock((a), 7, NETXEN_CRB_WIN_LOCK_ID)
1231#define crb_win_unlock(a) \
1232 netxen_pcie_sem_unlock((a), 7)
1233
1210int netxen_nic_get_board_info(struct netxen_adapter *adapter); 1234int netxen_nic_get_board_info(struct netxen_adapter *adapter);
1211void netxen_nic_get_firmware_info(struct netxen_adapter *adapter); 1235void netxen_nic_get_firmware_info(struct netxen_adapter *adapter);
1212int netxen_nic_wol_supported(struct netxen_adapter *adapter); 1236int netxen_nic_wol_supported(struct netxen_adapter *adapter);