forked from Minki/linux
b43: N-PHY: report signal to mac80211
Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
5b346f3eb4
commit
207ae4a373
@ -735,16 +735,22 @@ void b43_rx(struct b43_wldev *dev, struct sk_buff *skb, const void *_rxhdr)
|
||||
}
|
||||
|
||||
/* Link quality statistics */
|
||||
if ((chanstat & B43_RX_CHAN_PHYTYPE) == B43_PHYTYPE_N) {
|
||||
// s8 rssi = max(rxhdr->power0, rxhdr->power1);
|
||||
//TODO: Find out what the rssi value is (dBm or percentage?)
|
||||
// and also find out what the maximum possible value is.
|
||||
// Fill status.ssi and status.signal fields.
|
||||
} else {
|
||||
switch (chanstat & B43_RX_CHAN_PHYTYPE) {
|
||||
case B43_PHYTYPE_N:
|
||||
if (rxhdr->power0 == 16 || rxhdr->power0 == 32)
|
||||
status.signal = max(rxhdr->power1, rxhdr->power2);
|
||||
else
|
||||
status.signal = max(rxhdr->power0, rxhdr->power1);
|
||||
break;
|
||||
case B43_PHYTYPE_A:
|
||||
case B43_PHYTYPE_B:
|
||||
case B43_PHYTYPE_G:
|
||||
case B43_PHYTYPE_LP:
|
||||
status.signal = b43_rssi_postprocess(dev, rxhdr->jssi,
|
||||
(phystat0 & B43_RX_PHYST0_OFDM),
|
||||
(phystat0 & B43_RX_PHYST0_GAINCTL),
|
||||
(phystat3 & B43_RX_PHYST3_TRSTATE));
|
||||
break;
|
||||
}
|
||||
|
||||
if (phystat0 & B43_RX_PHYST0_OFDM)
|
||||
|
@ -248,7 +248,15 @@ struct b43_rxhdr_fw4 {
|
||||
__s8 power1; /* PHY RX Status 1: Power 1 */
|
||||
} __packed;
|
||||
} __packed;
|
||||
__le16 phy_status2; /* PHY RX Status 2 */
|
||||
union {
|
||||
/* RSSI for N-PHYs */
|
||||
struct {
|
||||
__s8 power2;
|
||||
PAD_BYTES(1);
|
||||
} __packed;
|
||||
|
||||
__le16 phy_status2; /* PHY RX Status 2 */
|
||||
} __packed;
|
||||
__le16 phy_status3; /* PHY RX Status 3 */
|
||||
union {
|
||||
/* Tested with 598.314, 644.1001 and 666.2 */
|
||||
|
Loading…
Reference in New Issue
Block a user