mirror of
https://github.com/torvalds/linux.git
synced 2026-05-25 23:52:08 +02:00
wifi: mt76: mt792x: move mt7921_skb_add_usb_sdio_hdr in mt792x module
Since mt7921_skb_add_usb_sdio_hdr is shared between mt7925 and mt7921 drivers, move it in mt792x module. Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org> Signed-off-by: Felix Fietkau <nbd@nbd.name>
This commit is contained in:
parent
81af541804
commit
4d2cb56afa
|
|
@ -794,7 +794,7 @@ int mt7921_usb_sdio_tx_prepare_skb(struct mt76_dev *mdev, void *txwi_ptr,
|
|||
mt7921_usb_sdio_write_txwi(dev, wcid, qid, sta, key, pktid, skb);
|
||||
|
||||
type = mt76_is_sdio(mdev) ? MT7921_SDIO_DATA : 0;
|
||||
mt7921_skb_add_usb_sdio_hdr(dev, skb, type);
|
||||
mt792x_skb_add_usb_sdio_hdr(dev, skb, type);
|
||||
pad = round_up(skb->len, 4) - skb->len;
|
||||
if (mt76_is_usb(mdev))
|
||||
pad += 4;
|
||||
|
|
|
|||
|
|
@ -23,9 +23,6 @@
|
|||
#define MT7921_SKU_MAX_DELTA_IDX MT7921_SKU_RATE_NUM
|
||||
#define MT7921_SKU_TABLE_SIZE (MT7921_SKU_RATE_NUM + 1)
|
||||
|
||||
#define MT7921_SDIO_HDR_TX_BYTES GENMASK(15, 0)
|
||||
#define MT7921_SDIO_HDR_PKT_TYPE GENMASK(17, 16)
|
||||
|
||||
#define MCU_UNI_EVENT_ROC 0x27
|
||||
|
||||
enum {
|
||||
|
|
@ -235,19 +232,6 @@ mt7921_l1_rmw(struct mt792x_dev *dev, u32 addr, u32 mask, u32 val)
|
|||
#define mt7921_l1_set(dev, addr, val) mt7921_l1_rmw(dev, addr, 0, val)
|
||||
#define mt7921_l1_clear(dev, addr, val) mt7921_l1_rmw(dev, addr, val, 0)
|
||||
|
||||
static inline void
|
||||
mt7921_skb_add_usb_sdio_hdr(struct mt792x_dev *dev, struct sk_buff *skb,
|
||||
int type)
|
||||
{
|
||||
u32 hdr, len;
|
||||
|
||||
len = mt76_is_usb(&dev->mt76) ? skb->len : skb->len + sizeof(hdr);
|
||||
hdr = FIELD_PREP(MT7921_SDIO_HDR_TX_BYTES, len) |
|
||||
FIELD_PREP(MT7921_SDIO_HDR_PKT_TYPE, type);
|
||||
|
||||
put_unaligned_le32(hdr, skb_push(skb, sizeof(hdr)));
|
||||
}
|
||||
|
||||
void mt7921_stop(struct ieee80211_hw *hw);
|
||||
int mt7921_mac_init(struct mt792x_dev *dev);
|
||||
bool mt7921_mac_wtbl_update(struct mt792x_dev *dev, int idx, u32 mask);
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ mt7921s_mcu_send_message(struct mt76_dev *mdev, struct sk_buff *skb,
|
|||
if (cmd == MCU_CMD(FW_SCATTER))
|
||||
type = MT7921_SDIO_FWDL;
|
||||
|
||||
mt7921_skb_add_usb_sdio_hdr(dev, skb, type);
|
||||
mt792x_skb_add_usb_sdio_hdr(dev, skb, type);
|
||||
pad = round_up(skb->len, 4) - skb->len;
|
||||
__skb_put_zero(skb, pad);
|
||||
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ mt7921u_mcu_send_message(struct mt76_dev *mdev, struct sk_buff *skb,
|
|||
else
|
||||
ep = MT_EP_OUT_AC_BE;
|
||||
|
||||
mt7921_skb_add_usb_sdio_hdr(dev, skb, 0);
|
||||
mt792x_skb_add_usb_sdio_hdr(dev, skb, 0);
|
||||
pad = round_up(skb->len, 4) + 4 - skb->len;
|
||||
__skb_put_zero(skb, pad);
|
||||
|
||||
|
|
|
|||
|
|
@ -1378,7 +1378,7 @@ int mt7925_usb_sdio_tx_prepare_skb(struct mt76_dev *mdev, void *txwi_ptr,
|
|||
pktid = mt76_tx_status_skb_add(&dev->mt76, wcid, skb);
|
||||
mt7925_usb_sdio_write_txwi(dev, wcid, qid, sta, key, pktid, skb);
|
||||
|
||||
mt7925_skb_add_usb_sdio_hdr(dev, skb, 0);
|
||||
mt792x_skb_add_usb_sdio_hdr(dev, skb, 0);
|
||||
pad = round_up(skb->len, 4) - skb->len;
|
||||
if (mt76_is_usb(mdev))
|
||||
pad += 4;
|
||||
|
|
|
|||
|
|
@ -25,9 +25,6 @@
|
|||
#define MT7925_SKU_MAX_DELTA_IDX MT7925_SKU_RATE_NUM
|
||||
#define MT7925_SKU_TABLE_SIZE (MT7925_SKU_RATE_NUM + 1)
|
||||
|
||||
#define MT7925_SDIO_HDR_TX_BYTES GENMASK(15, 0)
|
||||
#define MT7925_SDIO_HDR_PKT_TYPE GENMASK(17, 16)
|
||||
|
||||
#define MCU_UNI_EVENT_ROC 0x27
|
||||
|
||||
enum {
|
||||
|
|
@ -210,18 +207,6 @@ void mt7925_mcu_rx_event(struct mt792x_dev *dev, struct sk_buff *skb);
|
|||
int mt7925_mcu_chip_config(struct mt792x_dev *dev, const char *cmd);
|
||||
int mt7925_mcu_set_rxfilter(struct mt792x_dev *dev, u32 fif,
|
||||
u8 bit_op, u32 bit_map);
|
||||
static inline void
|
||||
mt7925_skb_add_usb_sdio_hdr(struct mt792x_dev *dev, struct sk_buff *skb,
|
||||
int type)
|
||||
{
|
||||
u32 hdr, len;
|
||||
|
||||
len = mt76_is_usb(&dev->mt76) ? skb->len : skb->len + sizeof(hdr);
|
||||
hdr = FIELD_PREP(MT7925_SDIO_HDR_TX_BYTES, len) |
|
||||
FIELD_PREP(MT7925_SDIO_HDR_PKT_TYPE, type);
|
||||
|
||||
put_unaligned_le32(hdr, skb_push(skb, sizeof(hdr)));
|
||||
}
|
||||
|
||||
void mt7925_stop(struct ieee80211_hw *hw);
|
||||
int mt7925_mac_init(struct mt792x_dev *dev);
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ mt7925u_mcu_send_message(struct mt76_dev *mdev, struct sk_buff *skb,
|
|||
else
|
||||
ep = MT_EP_OUT_AC_BE;
|
||||
|
||||
mt7925_skb_add_usb_sdio_hdr(dev, skb, 0);
|
||||
mt792x_skb_add_usb_sdio_hdr(dev, skb, 0);
|
||||
pad = round_up(skb->len, 4) + 4 - skb->len;
|
||||
__skb_put_zero(skb, pad);
|
||||
|
||||
|
|
|
|||
|
|
@ -42,6 +42,9 @@
|
|||
#define MT7922_ROM_PATCH "mediatek/WIFI_MT7922_patch_mcu_1_1_hdr.bin"
|
||||
#define MT7925_ROM_PATCH "mediatek/mt7925/WIFI_MT7925_PATCH_MCU_1_1_hdr.bin"
|
||||
|
||||
#define MT792x_SDIO_HDR_TX_BYTES GENMASK(15, 0)
|
||||
#define MT792x_SDIO_HDR_PKT_TYPE GENMASK(17, 16)
|
||||
|
||||
struct mt792x_vif;
|
||||
struct mt792x_sta;
|
||||
|
||||
|
|
@ -343,6 +346,19 @@ u32 mt792xu_rmw(struct mt76_dev *dev, u32 addr, u32 mask, u32 val);
|
|||
void mt792xu_copy(struct mt76_dev *dev, u32 offset, const void *data, int len);
|
||||
void mt792xu_disconnect(struct usb_interface *usb_intf);
|
||||
|
||||
static inline void
|
||||
mt792x_skb_add_usb_sdio_hdr(struct mt792x_dev *dev, struct sk_buff *skb,
|
||||
int type)
|
||||
{
|
||||
u32 hdr, len;
|
||||
|
||||
len = mt76_is_usb(&dev->mt76) ? skb->len : skb->len + sizeof(hdr);
|
||||
hdr = FIELD_PREP(MT792x_SDIO_HDR_TX_BYTES, len) |
|
||||
FIELD_PREP(MT792x_SDIO_HDR_PKT_TYPE, type);
|
||||
|
||||
put_unaligned_le32(hdr, skb_push(skb, sizeof(hdr)));
|
||||
}
|
||||
|
||||
int __mt792xe_mcu_drv_pmctrl(struct mt792x_dev *dev);
|
||||
int mt792xe_mcu_drv_pmctrl(struct mt792x_dev *dev);
|
||||
int mt792xe_mcu_fw_pmctrl(struct mt792x_dev *dev);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user