diff options
Diffstat (limited to 'drivers/staging/brcm80211/brcmsmac/phy/phy_hal.h')
-rw-r--r-- | drivers/staging/brcm80211/brcmsmac/phy/phy_hal.h | 155 |
1 files changed, 83 insertions, 72 deletions
diff --git a/drivers/staging/brcm80211/brcmsmac/phy/phy_hal.h b/drivers/staging/brcm80211/brcmsmac/phy/phy_hal.h index d1d03a624ef..a2df6b42afe 100644 --- a/drivers/staging/brcm80211/brcmsmac/phy/phy_hal.h +++ b/drivers/staging/brcm80211/brcmsmac/phy/phy_hal.h | |||
@@ -177,107 +177,118 @@ struct shared_phy_params { | |||
177 | 177 | ||
178 | 178 | ||
179 | extern struct shared_phy *wlc_phy_shared_attach(struct shared_phy_params *shp); | 179 | extern struct shared_phy *wlc_phy_shared_attach(struct shared_phy_params *shp); |
180 | extern wlc_phy_t *wlc_phy_attach(struct shared_phy *sh, void *regs, | 180 | extern struct brcms_phy_pub *wlc_phy_attach(struct shared_phy *sh, void *regs, |
181 | int bandtype, char *vars, struct wiphy *wiphy); | 181 | int bandtype, char *vars, struct wiphy *wiphy); |
182 | extern void wlc_phy_detach(wlc_phy_t *ppi); | 182 | extern void wlc_phy_detach(struct brcms_phy_pub *ppi); |
183 | 183 | ||
184 | extern bool wlc_phy_get_phyversion(wlc_phy_t *pih, u16 *phytype, | 184 | extern bool wlc_phy_get_phyversion(struct brcms_phy_pub *pih, u16 *phytype, |
185 | u16 *phyrev, u16 *radioid, | 185 | u16 *phyrev, u16 *radioid, |
186 | u16 *radiover); | 186 | u16 *radiover); |
187 | extern bool wlc_phy_get_encore(wlc_phy_t *pih); | 187 | extern bool wlc_phy_get_encore(struct brcms_phy_pub *pih); |
188 | extern u32 wlc_phy_get_coreflags(wlc_phy_t *pih); | 188 | extern u32 wlc_phy_get_coreflags(struct brcms_phy_pub *pih); |
189 | 189 | ||
190 | extern void wlc_phy_hw_clk_state_upd(wlc_phy_t *ppi, bool newstate); | 190 | extern void wlc_phy_hw_clk_state_upd(struct brcms_phy_pub *ppi, bool newstate); |
191 | extern void wlc_phy_hw_state_upd(wlc_phy_t *ppi, bool newstate); | 191 | extern void wlc_phy_hw_state_upd(struct brcms_phy_pub *ppi, bool newstate); |
192 | extern void wlc_phy_init(wlc_phy_t *ppi, chanspec_t chanspec); | 192 | extern void wlc_phy_init(struct brcms_phy_pub *ppi, chanspec_t chanspec); |
193 | extern void wlc_phy_watchdog(wlc_phy_t *ppi); | 193 | extern void wlc_phy_watchdog(struct brcms_phy_pub *ppi); |
194 | extern int wlc_phy_down(wlc_phy_t *ppi); | 194 | extern int wlc_phy_down(struct brcms_phy_pub *ppi); |
195 | extern u32 wlc_phy_clk_bwbits(wlc_phy_t *pih); | 195 | extern u32 wlc_phy_clk_bwbits(struct brcms_phy_pub *pih); |
196 | extern void wlc_phy_cal_init(wlc_phy_t *ppi); | 196 | extern void wlc_phy_cal_init(struct brcms_phy_pub *ppi); |
197 | extern void wlc_phy_antsel_init(wlc_phy_t *ppi, bool lut_init); | 197 | extern void wlc_phy_antsel_init(struct brcms_phy_pub *ppi, bool lut_init); |
198 | 198 | ||
199 | extern void wlc_phy_chanspec_set(wlc_phy_t *ppi, chanspec_t chanspec); | 199 | extern void wlc_phy_chanspec_set(struct brcms_phy_pub *ppi, |
200 | extern chanspec_t wlc_phy_chanspec_get(wlc_phy_t *ppi); | 200 | chanspec_t chanspec); |
201 | extern void wlc_phy_chanspec_radio_set(wlc_phy_t *ppi, chanspec_t newch); | 201 | extern chanspec_t wlc_phy_chanspec_get(struct brcms_phy_pub *ppi); |
202 | extern u16 wlc_phy_bw_state_get(wlc_phy_t *ppi); | 202 | extern void wlc_phy_chanspec_radio_set(struct brcms_phy_pub *ppi, |
203 | extern void wlc_phy_bw_state_set(wlc_phy_t *ppi, u16 bw); | 203 | chanspec_t newch); |
204 | extern u16 wlc_phy_bw_state_get(struct brcms_phy_pub *ppi); | ||
205 | extern void wlc_phy_bw_state_set(struct brcms_phy_pub *ppi, u16 bw); | ||
204 | 206 | ||
205 | extern void wlc_phy_rssi_compute(wlc_phy_t *pih, void *ctx); | 207 | extern void wlc_phy_rssi_compute(struct brcms_phy_pub *pih, void *ctx); |
206 | extern void wlc_phy_por_inform(wlc_phy_t *ppi); | 208 | extern void wlc_phy_por_inform(struct brcms_phy_pub *ppi); |
207 | extern void wlc_phy_noise_sample_intr(wlc_phy_t *ppi); | 209 | extern void wlc_phy_noise_sample_intr(struct brcms_phy_pub *ppi); |
208 | extern bool wlc_phy_bist_check_phy(wlc_phy_t *ppi); | 210 | extern bool wlc_phy_bist_check_phy(struct brcms_phy_pub *ppi); |
209 | 211 | ||
210 | extern void wlc_phy_set_deaf(wlc_phy_t *ppi, bool user_flag); | 212 | extern void wlc_phy_set_deaf(struct brcms_phy_pub *ppi, bool user_flag); |
211 | 213 | ||
212 | extern void wlc_phy_switch_radio(wlc_phy_t *ppi, bool on); | 214 | extern void wlc_phy_switch_radio(struct brcms_phy_pub *ppi, bool on); |
213 | extern void wlc_phy_anacore(wlc_phy_t *ppi, bool on); | 215 | extern void wlc_phy_anacore(struct brcms_phy_pub *ppi, bool on); |
214 | 216 | ||
215 | 217 | ||
216 | extern void wlc_phy_BSSinit(wlc_phy_t *ppi, bool bonlyap, int rssi); | 218 | extern void wlc_phy_BSSinit(struct brcms_phy_pub *ppi, bool bonlyap, int rssi); |
217 | 219 | ||
218 | extern void wlc_phy_chanspec_ch14_widefilter_set(wlc_phy_t *ppi, | 220 | extern void wlc_phy_chanspec_ch14_widefilter_set(struct brcms_phy_pub *ppi, |
219 | bool wide_filter); | 221 | bool wide_filter); |
220 | extern void wlc_phy_chanspec_band_validch(wlc_phy_t *ppi, uint band, | 222 | extern void wlc_phy_chanspec_band_validch(struct brcms_phy_pub *ppi, uint band, |
221 | chanvec_t *channels); | 223 | chanvec_t *channels); |
222 | extern chanspec_t wlc_phy_chanspec_band_firstch(wlc_phy_t *ppi, uint band); | 224 | extern chanspec_t wlc_phy_chanspec_band_firstch(struct brcms_phy_pub *ppi, |
225 | uint band); | ||
223 | 226 | ||
224 | extern void wlc_phy_txpower_sromlimit(wlc_phy_t *ppi, uint chan, | 227 | extern void wlc_phy_txpower_sromlimit(struct brcms_phy_pub *ppi, uint chan, |
225 | u8 *_min_, u8 *_max_, int rate); | 228 | u8 *_min_, u8 *_max_, int rate); |
226 | extern void wlc_phy_txpower_sromlimit_max_get(wlc_phy_t *ppi, uint chan, | 229 | extern void wlc_phy_txpower_sromlimit_max_get(struct brcms_phy_pub *ppi, |
227 | u8 *_max_, u8 *_min_); | 230 | uint chan, u8 *_max_, u8 *_min_); |
228 | extern void wlc_phy_txpower_boardlimit_band(wlc_phy_t *ppi, uint band, s32 *, | 231 | extern void wlc_phy_txpower_boardlimit_band(struct brcms_phy_pub *ppi, |
229 | s32 *, u32 *); | 232 | uint band, s32 *, s32 *, u32 *); |
230 | extern void wlc_phy_txpower_limit_set(wlc_phy_t *ppi, struct txpwr_limits *, | 233 | extern void wlc_phy_txpower_limit_set(struct brcms_phy_pub *ppi, |
234 | struct txpwr_limits *, | ||
231 | chanspec_t chanspec); | 235 | chanspec_t chanspec); |
232 | extern int wlc_phy_txpower_get(wlc_phy_t *ppi, uint *qdbm, bool *override); | 236 | extern int wlc_phy_txpower_get(struct brcms_phy_pub *ppi, uint *qdbm, |
233 | extern int wlc_phy_txpower_set(wlc_phy_t *ppi, uint qdbm, bool override); | 237 | bool *override); |
234 | extern void wlc_phy_txpower_target_set(wlc_phy_t *ppi, struct txpwr_limits *); | 238 | extern int wlc_phy_txpower_set(struct brcms_phy_pub *ppi, uint qdbm, |
235 | extern bool wlc_phy_txpower_hw_ctrl_get(wlc_phy_t *ppi); | 239 | bool override); |
236 | extern void wlc_phy_txpower_hw_ctrl_set(wlc_phy_t *ppi, bool hwpwrctrl); | 240 | extern void wlc_phy_txpower_target_set(struct brcms_phy_pub *ppi, |
237 | extern u8 wlc_phy_txpower_get_target_min(wlc_phy_t *ppi); | 241 | struct txpwr_limits *); |
238 | extern u8 wlc_phy_txpower_get_target_max(wlc_phy_t *ppi); | 242 | extern bool wlc_phy_txpower_hw_ctrl_get(struct brcms_phy_pub *ppi); |
239 | extern bool wlc_phy_txpower_ipa_ison(wlc_phy_t *pih); | 243 | extern void wlc_phy_txpower_hw_ctrl_set(struct brcms_phy_pub *ppi, |
240 | 244 | bool hwpwrctrl); | |
241 | extern void wlc_phy_stf_chain_init(wlc_phy_t *pih, u8 txchain, | 245 | extern u8 wlc_phy_txpower_get_target_min(struct brcms_phy_pub *ppi); |
246 | extern u8 wlc_phy_txpower_get_target_max(struct brcms_phy_pub *ppi); | ||
247 | extern bool wlc_phy_txpower_ipa_ison(struct brcms_phy_pub *pih); | ||
248 | |||
249 | extern void wlc_phy_stf_chain_init(struct brcms_phy_pub *pih, u8 txchain, | ||
242 | u8 rxchain); | 250 | u8 rxchain); |
243 | extern void wlc_phy_stf_chain_set(wlc_phy_t *pih, u8 txchain, | 251 | extern void wlc_phy_stf_chain_set(struct brcms_phy_pub *pih, u8 txchain, |
244 | u8 rxchain); | 252 | u8 rxchain); |
245 | extern void wlc_phy_stf_chain_get(wlc_phy_t *pih, u8 *txchain, | 253 | extern void wlc_phy_stf_chain_get(struct brcms_phy_pub *pih, u8 *txchain, |
246 | u8 *rxchain); | 254 | u8 *rxchain); |
247 | extern u8 wlc_phy_stf_chain_active_get(wlc_phy_t *pih); | 255 | extern u8 wlc_phy_stf_chain_active_get(struct brcms_phy_pub *pih); |
248 | extern s8 wlc_phy_stf_ssmode_get(wlc_phy_t *pih, chanspec_t chanspec); | 256 | extern s8 wlc_phy_stf_ssmode_get(struct brcms_phy_pub *pih, |
249 | extern void wlc_phy_ldpc_override_set(wlc_phy_t *ppi, bool val); | 257 | chanspec_t chanspec); |
258 | extern void wlc_phy_ldpc_override_set(struct brcms_phy_pub *ppi, bool val); | ||
250 | 259 | ||
251 | extern void wlc_phy_cal_perical(wlc_phy_t *ppi, u8 reason); | 260 | extern void wlc_phy_cal_perical(struct brcms_phy_pub *ppi, u8 reason); |
252 | extern void wlc_phy_noise_sample_request_external(wlc_phy_t *ppi); | 261 | extern void wlc_phy_noise_sample_request_external(struct brcms_phy_pub *ppi); |
253 | extern void wlc_phy_edcrs_lock(wlc_phy_t *pih, bool lock); | 262 | extern void wlc_phy_edcrs_lock(struct brcms_phy_pub *pih, bool lock); |
254 | extern void wlc_phy_cal_papd_recal(wlc_phy_t *ppi); | 263 | extern void wlc_phy_cal_papd_recal(struct brcms_phy_pub *ppi); |
255 | 264 | ||
256 | extern void wlc_phy_ant_rxdiv_set(wlc_phy_t *ppi, u8 val); | 265 | extern void wlc_phy_ant_rxdiv_set(struct brcms_phy_pub *ppi, u8 val); |
257 | extern void wlc_phy_clear_tssi(wlc_phy_t *ppi); | 266 | extern void wlc_phy_clear_tssi(struct brcms_phy_pub *ppi); |
258 | extern void wlc_phy_hold_upd(wlc_phy_t *ppi, mbool id, bool val); | 267 | extern void wlc_phy_hold_upd(struct brcms_phy_pub *ppi, mbool id, bool val); |
259 | extern void wlc_phy_mute_upd(wlc_phy_t *ppi, bool val, mbool flags); | 268 | extern void wlc_phy_mute_upd(struct brcms_phy_pub *ppi, bool val, mbool flags); |
260 | 269 | ||
261 | extern void wlc_phy_antsel_type_set(wlc_phy_t *ppi, u8 antsel_type); | 270 | extern void wlc_phy_antsel_type_set(struct brcms_phy_pub *ppi, u8 antsel_type); |
262 | 271 | ||
263 | extern void wlc_phy_txpower_get_current(wlc_phy_t *ppi, tx_power_t *power, | 272 | extern void wlc_phy_txpower_get_current(struct brcms_phy_pub *ppi, |
264 | uint channel); | 273 | tx_power_t *power, uint channel); |
265 | 274 | ||
266 | extern void wlc_phy_initcal_enable(wlc_phy_t *pih, bool initcal); | 275 | extern void wlc_phy_initcal_enable(struct brcms_phy_pub *pih, bool initcal); |
267 | extern bool wlc_phy_test_ison(wlc_phy_t *ppi); | 276 | extern bool wlc_phy_test_ison(struct brcms_phy_pub *ppi); |
268 | extern void wlc_phy_txpwr_percent_set(wlc_phy_t *ppi, u8 txpwr_percent); | 277 | extern void wlc_phy_txpwr_percent_set(struct brcms_phy_pub *ppi, |
269 | extern void wlc_phy_ofdm_rateset_war(wlc_phy_t *pih, bool war); | 278 | u8 txpwr_percent); |
270 | extern void wlc_phy_bf_preempt_enable(wlc_phy_t *pih, bool bf_preempt); | 279 | extern void wlc_phy_ofdm_rateset_war(struct brcms_phy_pub *pih, bool war); |
271 | extern void wlc_phy_machwcap_set(wlc_phy_t *ppi, u32 machwcap); | 280 | extern void wlc_phy_bf_preempt_enable(struct brcms_phy_pub *pih, |
281 | bool bf_preempt); | ||
282 | extern void wlc_phy_machwcap_set(struct brcms_phy_pub *ppi, u32 machwcap); | ||
272 | 283 | ||
273 | extern void wlc_phy_runbist_config(wlc_phy_t *ppi, bool start_end); | 284 | extern void wlc_phy_runbist_config(struct brcms_phy_pub *ppi, bool start_end); |
274 | 285 | ||
275 | extern void wlc_phy_freqtrack_start(wlc_phy_t *ppi); | 286 | extern void wlc_phy_freqtrack_start(struct brcms_phy_pub *ppi); |
276 | extern void wlc_phy_freqtrack_end(wlc_phy_t *ppi); | 287 | extern void wlc_phy_freqtrack_end(struct brcms_phy_pub *ppi); |
277 | 288 | ||
278 | extern const u8 *wlc_phy_get_ofdm_rate_lookup(void); | 289 | extern const u8 *wlc_phy_get_ofdm_rate_lookup(void); |
279 | 290 | ||
280 | extern s8 wlc_phy_get_tx_power_offset_by_mcs(wlc_phy_t *ppi, | 291 | extern s8 wlc_phy_get_tx_power_offset_by_mcs(struct brcms_phy_pub *ppi, |
281 | u8 mcs_offset); | 292 | u8 mcs_offset); |
282 | extern s8 wlc_phy_get_tx_power_offset(wlc_phy_t *ppi, u8 tbl_offset); | 293 | extern s8 wlc_phy_get_tx_power_offset(struct brcms_phy_pub *ppi, u8 tbl_offset); |
283 | #endif /* _BRCM_PHY_HAL_H_ */ | 294 | #endif /* _BRCM_PHY_HAL_H_ */ |