MT_TXD_SIZE
if (skb->len < MT_TXD_SIZE + sizeof(struct ieee80211_hdr))
hdr = (struct ieee80211_hdr *)&skb->data[MT_TXD_SIZE];
skb_pull(skb, MT_TXD_SIZE);
skb_push(skb, MT_TXD_SIZE);
.txwi_size = MT_TXD_SIZE,
val = FIELD_PREP(MT_TXD0_TX_BYTES, skb->len + MT_TXD_SIZE) |
hdr = (struct ieee80211_hdr *)&skb->data[MT_TXD_SIZE];
u32 val, sz_txd = is_mmio ? MT_TXD_SIZE : MT_USB_TXD_SIZE;
if (skb->len > 512 - MT_TXD_SIZE) {
memcpy(req.beacon_tlv.pkt + MT_TXD_SIZE, skb->data, skb->len);
req.beacon_tlv.pkt_len = cpu_to_le16(MT_TXD_SIZE + skb->len);
req.beacon_tlv.tim_ie_pos = cpu_to_le16(MT_TXD_SIZE + offs.tim_offset);
csa_offs = MT_TXD_SIZE + offs.cntdwn_counter_offs[0] - 4;
if (skb->len > 512 - MT_TXD_SIZE) {
memcpy(req.pkt + MT_TXD_SIZE, skb->data, skb->len);
req.pkt_len = cpu_to_le16(MT_TXD_SIZE + skb->len);
req.tim_ie_pos = cpu_to_le16(MT_TXD_SIZE + offs.tim_offset);
csa_offs = MT_TXD_SIZE + offs.cntdwn_counter_offs[0] - 4;
.txwi_size = MT_TXD_SIZE + sizeof(struct mt76_connac_txp_common),
txp = txwi + MT_TXD_SIZE;
tx_info->buf[0].len = MT_TXD_SIZE + sizeof(*txp);
return (void *)(txwi + MT_TXD_SIZE);
#define MT_USB_TXD_SIZE (MT_TXD_SIZE + 8 * 4)
#define MT_SDIO_TXD_SIZE (MT_TXD_SIZE + 8 * 4)
tx_info->buf[0].len = MT_TXD_SIZE + sizeof(*txp);
u32 val, sz_txd = mt76_is_mmio(dev) ? MT_TXD_SIZE : MT_SDIO_TXD_SIZE;
txp = (struct mt76_connac_fw_txp *)(txwi + MT_TXD_SIZE);
struct mt76_connac_fw_txp *txp = ptr + MT_TXD_SIZE;
memset(ptr, 0, MT_TXD_SIZE + sizeof(*txp));
val = FIELD_PREP(MT_TXD0_TX_BYTES, MT_TXD_SIZE) |
txp->buf[0] = cpu_to_le32(phys + MT_TXD_SIZE + sizeof(*txp));
return MT_TXD_SIZE + sizeof(*txp);
int len = sizeof(*cont) + MT_TXD_SIZE + skb->len;
cont->pkt_len = cpu_to_le16(MT_TXD_SIZE + skb->len);
memcpy(buf + MT_TXD_SIZE, skb->data, skb->len);
len = sizeof(*discov) + MT_TXD_SIZE + skb->len;
discov->prob_rsp_len = cpu_to_le16(MT_TXD_SIZE + skb->len);
memcpy(buf + MT_TXD_SIZE, skb->data, skb->len);
MT_TXD_SIZE + \
.txwi_size = MT_TXD_SIZE + sizeof(struct mt76_connac_fw_txp),
if (skb->len > 512 - MT_TXD_SIZE) {
memcpy(req.beacon_tlv.pkt + MT_TXD_SIZE, skb->data, skb->len);
req.beacon_tlv.pkt_len = cpu_to_le16(MT_TXD_SIZE + skb->len);
req.beacon_tlv.tim_ie_pos = cpu_to_le16(MT_TXD_SIZE + offs.tim_offset);
csa_offs = MT_TXD_SIZE + offs.cntdwn_counter_offs[0] - 4;
.txwi_size = MT_TXD_SIZE + sizeof(struct mt76_connac_hw_txp),
txp = (struct mt76_connac_hw_txp *)(txwi + MT_TXD_SIZE);
u32 val, sz_txd = mt76_is_mmio(dev) ? MT_TXD_SIZE : MT_SDIO_TXD_SIZE;
.txwi_size = MT_TXD_SIZE + sizeof(struct mt76_connac_hw_txp),
txp = (struct mt76_connac_hw_txp *)(txwi + MT_TXD_SIZE);
memset(txwi_ptr, 0, MT_TXD_SIZE);
ptr = (__le32 *)(txwi + MT_TXD_SIZE);
txp = (struct mt76_connac_txp_common *)(txwi + MT_TXD_SIZE);
struct mt76_connac_fw_txp *txp = ptr + MT_TXD_SIZE;
memset(ptr, 0, MT_TXD_SIZE + sizeof(*txp));
val = FIELD_PREP(MT_TXD0_TX_BYTES, MT_TXD_SIZE) |
txp->buf[0] = cpu_to_le32(phys + MT_TXD_SIZE + sizeof(*txp));
return MT_TXD_SIZE + sizeof(*txp);
val = FIELD_PREP(MT_TXD0_TX_BYTES, skb->len + MT_TXD_SIZE) |
bcn->pkt_len = cpu_to_le16(MT_TXD_SIZE + skb->len);
memcpy(buf + MT_TXD_SIZE, skb->data, skb->len);
len = ALIGN(sizeof(*bcn) + MT_TXD_SIZE + extra_len, 4);
len = ALIGN(sizeof(*discov) + MT_TXD_SIZE + skb->len, 4);
discov->prob_rsp_len = cpu_to_le16(MT_TXD_SIZE + skb->len);
memcpy(buf + MT_TXD_SIZE, skb->data, skb->len);
4 + MT_TXD_SIZE + \
.txwi_size = MT_TXD_SIZE + sizeof(struct mt76_connac_fw_txp),