forked from Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
46 lines
1.3 KiB
46 lines
1.3 KiB
/* SPDX-License-Identifier: GPL-2.0 */ |
|
#ifndef LINUX_B43_PPR_H_ |
|
#define LINUX_B43_PPR_H_ |
|
|
|
#include <linux/types.h> |
|
|
|
#define B43_PPR_CCK_RATES_NUM 4 |
|
#define B43_PPR_OFDM_RATES_NUM 8 |
|
#define B43_PPR_MCS_RATES_NUM 8 |
|
|
|
#define B43_PPR_RATES_NUM (B43_PPR_CCK_RATES_NUM + \ |
|
B43_PPR_OFDM_RATES_NUM * 2 + \ |
|
B43_PPR_MCS_RATES_NUM * 4) |
|
|
|
struct b43_ppr_rates { |
|
u8 cck[B43_PPR_CCK_RATES_NUM]; |
|
u8 ofdm[B43_PPR_OFDM_RATES_NUM]; |
|
u8 ofdm_20_cdd[B43_PPR_OFDM_RATES_NUM]; |
|
u8 mcs_20[B43_PPR_MCS_RATES_NUM]; /* SISO */ |
|
u8 mcs_20_cdd[B43_PPR_MCS_RATES_NUM]; |
|
u8 mcs_20_stbc[B43_PPR_MCS_RATES_NUM]; |
|
u8 mcs_20_sdm[B43_PPR_MCS_RATES_NUM]; |
|
}; |
|
|
|
struct b43_ppr { |
|
/* All powers are in qdbm (Q5.2) */ |
|
union { |
|
u8 __all_rates[B43_PPR_RATES_NUM]; |
|
struct b43_ppr_rates rates; |
|
}; |
|
}; |
|
|
|
struct b43_wldev; |
|
enum b43_band; |
|
|
|
void b43_ppr_clear(struct b43_wldev *dev, struct b43_ppr *ppr); |
|
|
|
void b43_ppr_add(struct b43_wldev *dev, struct b43_ppr *ppr, int diff); |
|
void b43_ppr_apply_max(struct b43_wldev *dev, struct b43_ppr *ppr, u8 max); |
|
void b43_ppr_apply_min(struct b43_wldev *dev, struct b43_ppr *ppr, u8 min); |
|
u8 b43_ppr_get_max(struct b43_wldev *dev, struct b43_ppr *ppr); |
|
|
|
bool b43_ppr_load_max_from_sprom(struct b43_wldev *dev, struct b43_ppr *ppr, |
|
enum b43_band band); |
|
|
|
#endif /* LINUX_B43_PPR_H_ */
|
|
|