/* Transmit Status */ struct b43legacy_txstatus {
u16 cookie; /* The cookie from the txhdr */
u16 seq; /* Sequence number */
u8 phy_stat; /* PHY TX status */
u8 frame_count; /* Frame transmit count */
u8 rts_count; /* RTS transmit count */
u8 supp_reason; /* Suppression reason */ /* flags */
u8 pm_indicated;/* PM mode indicated to AP */
u8 intermediate;/* Intermediate status notification */
u8 for_ampdu; /* Status is for an AMPDU (afterburner) */
u8 acked; /* Wireless ACK received */
};
/* txstatus supp_reason values */ enum {
B43legacy_TXST_SUPP_NONE, /* Not suppressed */
B43legacy_TXST_SUPP_PMQ, /* Suppressed due to PMQ entry */
B43legacy_TXST_SUPP_FLUSH, /* Suppressed due to flush request */
B43legacy_TXST_SUPP_PREV, /* Previous fragment failed */
B43legacy_TXST_SUPP_CHAN, /* Channel mismatch */
B43legacy_TXST_SUPP_LIFE, /* Lifetime expired */
B43legacy_TXST_SUPP_UNDER, /* Buffer underflow */
B43legacy_TXST_SUPP_ABNACK, /* Afterburner NACK */
};
/* Transmit Status as received through DMA/PIO on old chips */ struct b43legacy_hwtxstatus {
PAD_BYTES(4);
__le16 cookie;
u8 flags;
u8 count;
PAD_BYTES(2);
__le16 seq;
u8 phy_stat;
PAD_BYTES(1);
} __packed;
/* Receive header for v3 firmware. */ struct b43legacy_rxhdr_fw3 {
__le16 frame_len; /* Frame length */
PAD_BYTES(2);
__le16 phy_status0; /* PHY RX Status 0 */
__u8 jssi; /* PHY RX Status 1: JSSI */
__u8 sig_qual; /* PHY RX Status 1: Signal Quality */
PAD_BYTES(2); /* PHY RX Status 2 */
__le16 phy_status3; /* PHY RX Status 3 */
__le16 mac_status; /* MAC RX status */
__le16 mac_time;
__le16 channel;
} __packed;
/* Helper functions for converting the key-table index from "firmware-format" * to "raw-format" and back. The firmware API changed for this at some revision.
* We need to account for that here. */ staticinline int b43legacy_new_kidx_api(struct b43legacy_wldev *dev)
{ /* FIXME: Not sure the change was at rev 351 */ return (dev->fw.rev >= 351);
} staticinline
u8 b43legacy_kidx_to_fw(struct b43legacy_wldev *dev, u8 raw_kidx)
{
u8 firmware_kidx; if (b43legacy_new_kidx_api(dev))
firmware_kidx = raw_kidx; else { if (raw_kidx >= 4) /* Is per STA key? */
firmware_kidx = raw_kidx - 4; else
firmware_kidx = raw_kidx; /* TX default key */
} return firmware_kidx;
} staticinline
u8 b43legacy_kidx_to_raw(struct b43legacy_wldev *dev, u8 firmware_kidx)
{
u8 raw_kidx; if (b43legacy_new_kidx_api(dev))
raw_kidx = firmware_kidx; else /* RX default keys or per STA keys */
raw_kidx = firmware_kidx + 4; return raw_kidx;
}
#endif/* B43legacy_XMIT_H_ */
Messung V0.5
¤ Dauer der Verarbeitung: 0.1 Sekunden
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.