diff options
author | Dhananjay Phadke <dhananjay@netxen.com> | 2009-08-24 15:23:26 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-08-26 18:29:17 -0400 |
commit | c9517e5893db03ca8bd32b8783b39af58176947c (patch) | |
tree | 5ae4d26af6f38e70a868e634d0576056c326027e /drivers/net/netxen/netxen_nic.h | |
parent | cb7e4b6e37144f5d131ee09296be3c21c41f28d8 (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.h | 24 |
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 | ||
1210 | int netxen_pcie_sem_lock(struct netxen_adapter *, int, u32); | ||
1211 | void 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 | |||
1210 | int netxen_nic_get_board_info(struct netxen_adapter *adapter); | 1234 | int netxen_nic_get_board_info(struct netxen_adapter *adapter); |
1211 | void netxen_nic_get_firmware_info(struct netxen_adapter *adapter); | 1235 | void netxen_nic_get_firmware_info(struct netxen_adapter *adapter); |
1212 | int netxen_nic_wol_supported(struct netxen_adapter *adapter); | 1236 | int netxen_nic_wol_supported(struct netxen_adapter *adapter); |