cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

ppr.h (1297B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2#ifndef LINUX_B43_PPR_H_
      3#define LINUX_B43_PPR_H_
      4
      5#include <linux/types.h>
      6
      7#define B43_PPR_CCK_RATES_NUM		4
      8#define B43_PPR_OFDM_RATES_NUM		8
      9#define B43_PPR_MCS_RATES_NUM		8
     10
     11#define B43_PPR_RATES_NUM	(B43_PPR_CCK_RATES_NUM +	\
     12				 B43_PPR_OFDM_RATES_NUM * 2 +	\
     13				 B43_PPR_MCS_RATES_NUM * 4)
     14
     15struct b43_ppr_rates {
     16	u8 cck[B43_PPR_CCK_RATES_NUM];
     17	u8 ofdm[B43_PPR_OFDM_RATES_NUM];
     18	u8 ofdm_20_cdd[B43_PPR_OFDM_RATES_NUM];
     19	u8 mcs_20[B43_PPR_MCS_RATES_NUM]; /* SISO */
     20	u8 mcs_20_cdd[B43_PPR_MCS_RATES_NUM];
     21	u8 mcs_20_stbc[B43_PPR_MCS_RATES_NUM];
     22	u8 mcs_20_sdm[B43_PPR_MCS_RATES_NUM];
     23};
     24
     25struct b43_ppr {
     26	/* All powers are in qdbm (Q5.2) */
     27	union {
     28		u8 __all_rates[B43_PPR_RATES_NUM];
     29		struct b43_ppr_rates rates;
     30	};
     31};
     32
     33struct b43_wldev;
     34enum b43_band;
     35
     36void b43_ppr_clear(struct b43_wldev *dev, struct b43_ppr *ppr);
     37
     38void b43_ppr_add(struct b43_wldev *dev, struct b43_ppr *ppr, int diff);
     39void b43_ppr_apply_max(struct b43_wldev *dev, struct b43_ppr *ppr, u8 max);
     40void b43_ppr_apply_min(struct b43_wldev *dev, struct b43_ppr *ppr, u8 min);
     41u8 b43_ppr_get_max(struct b43_wldev *dev, struct b43_ppr *ppr);
     42
     43bool b43_ppr_load_max_from_sprom(struct b43_wldev *dev, struct b43_ppr *ppr,
     44				 enum b43_band band);
     45
     46#endif /* LINUX_B43_PPR_H_ */