fc78c14ae583873bad2d418a0ac7e011e9a17b97
[pandora-kernel.git] / drivers / staging / winbond / wbhal_f.h
1 /*
2  * =====================================================================
3  * Device related include
4  * =====================================================================
5 */
6 #include "wb35reg_f.h"
7 #include "wb35tx_f.h"
8 #include "wb35rx_f.h"
9
10 #include "core.h"
11
12 /* =====================================================================
13  * Function declaration
14  * =====================================================================
15  */
16 void hal_remove_mapping_key(struct hw_data *hw_data, u8 *mac_addr);
17 void hal_remove_default_key(struct hw_data *hw_data, u32 index);
18 unsigned char hal_set_mapping_key(struct hw_data *adapter, u8 *mac_addr,
19                                   u8 null_key, u8 wep_on, u8 *tx_tsc,
20                                   u8 *rx_tsc, u8 key_type, u8 key_len,
21                                   u8 *key_data);
22 unsigned char hal_set_default_key(struct hw_data *adapter, u8 index,
23                                   u8 null_key, u8 wep_on, u8 *tx_tsc,
24                                   u8 *rx_tsc, u8 key_type, u8 key_len,
25                                   u8 *key_data);
26 void hal_clear_all_default_key(struct hw_data *hw_data);
27 void hal_clear_all_group_key(struct hw_data *hw_data);
28 void hal_clear_all_mapping_key(struct hw_data *hw_data);
29 void hal_clear_all_key(struct hw_data *hw_data);
30 void hal_set_power_save_mode(struct hw_data *hw_data, unsigned char power_save,
31                              unsigned char wakeup, unsigned char dtim);
32 void hal_get_power_save_mode(struct hw_data *hw_data, u8 *in_pwr_save);
33 void hal_set_slot_time(struct hw_data *hw_data, u8 type);
34
35 #define hal_set_atim_window(_A, _ATM)
36
37 void hal_start_bss(struct hw_data *hw_data, u8 mac_op_mode);
38
39 /* 0:BSS STA 1:IBSS STA */
40 void hal_join_request(struct hw_data *hw_data, u8 bss_type);
41
42 void hal_stop_sync_bss(struct hw_data *hw_data);
43 void hal_resume_sync_bss(struct hw_data *hw_data);
44 void hal_set_aid(struct hw_data *hw_data, u16 aid);
45 void hal_set_bssid(struct hw_data *hw_data, u8 *bssid);
46 void hal_get_bssid(struct hw_data *hw_data, u8 *bssid);
47 void hal_set_listen_interval(struct hw_data *hw_data, u16 listen_interval);
48 void hal_set_cap_info(struct hw_data *hw_data, u16 capability_info);
49 void hal_set_ssid(struct hw_data *hw_data, u8 *ssid, u8 ssid_len);
50 void hal_start_tx0(struct hw_data *hw_data);
51
52 #define hal_get_cwmin(_A)       ((_A)->cwmin)
53
54 void hal_set_cwmax(struct hw_data *hw_data, u16 cwin_max);
55
56 #define hal_get_cwmax(_A)       ((_A)->cwmax)
57
58 void hal_set_rsn_wpa(struct hw_data *hw_data, u32 *rsn_ie_bitmap,
59                      u32 *rsn_oui_type , unsigned char desired_auth_mode);
60 void hal_set_connect_info(struct hw_data *hw_data, unsigned char bo_connect);
61 u8 hal_get_est_sq3(struct hw_data *hw_data, u8 count);
62 void hal_descriptor_indicate(struct hw_data *hw_data,
63                              struct wb35_descriptor *des);
64 u8 hal_get_antenna_number(struct hw_data *hw_data);
65 u32 hal_get_bss_pk_cnt(struct hw_data *hw_data);
66
67 #define hal_get_region_from_EEPROM(_A)  ((_A)->reg.EEPROMRegion)
68 #define hal_get_tx_buffer(_A, _B)       Wb35Tx_get_tx_buffer(_A, _B)
69 #define hal_software_set(_A)            (_A->SoftwareSet)
70 #define hal_driver_init_OK(_A)          (_A->IsInitOK)
71 #define hal_rssi_boundary_high(_A)      (_A->RSSI_high)
72 #define hal_rssi_boundary_low(_A)       (_A->RSSI_low)
73 #define hal_scan_interval(_A)           (_A->Scan_Interval)
74
75 #define PHY_DEBUG(msg, args...)
76
77 /* return 100ms count */
78 #define hal_get_time_count(_P)          (_P->time_count / 10)
79 #define hal_detect_error(_P)            (_P->WbUsb.DetectCount)
80
81 #define hal_ibss_disconnect(_A)         (hal_stop_sync_bss(_A))