mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-08 15:14:30 -04:00
wifi: mt76: move mcu_uni_event and mcu_reg_event in common code
mcu_uni_event and mcu_reg_event structs are shared between mt7921 and mt7615 drivers, so move them in connac lib. Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org> Signed-off-by: Felix Fietkau <nbd@nbd.name>
This commit is contained in:
committed by
Felix Fietkau
parent
878161d5d4
commit
61d1f54533
@@ -163,16 +163,16 @@ int mt7615_mcu_parse_response(struct mt76_dev *mdev, int cmd,
|
||||
cmd == MCU_UNI_CMD(HIF_CTRL) ||
|
||||
cmd == MCU_UNI_CMD(OFFLOAD) ||
|
||||
cmd == MCU_UNI_CMD(SUSPEND)) {
|
||||
struct mt7615_mcu_uni_event *event;
|
||||
struct mt76_connac_mcu_uni_event *event;
|
||||
|
||||
skb_pull(skb, sizeof(*rxd));
|
||||
event = (struct mt7615_mcu_uni_event *)skb->data;
|
||||
event = (struct mt76_connac_mcu_uni_event *)skb->data;
|
||||
ret = le32_to_cpu(event->status);
|
||||
} else if (cmd == MCU_CE_QUERY(REG_READ)) {
|
||||
struct mt7615_mcu_reg_event *event;
|
||||
struct mt76_connac_mcu_reg_event *event;
|
||||
|
||||
skb_pull(skb, sizeof(*rxd));
|
||||
event = (struct mt7615_mcu_reg_event *)skb->data;
|
||||
event = (struct mt76_connac_mcu_reg_event *)skb->data;
|
||||
ret = (int)le32_to_cpu(event->val);
|
||||
}
|
||||
|
||||
|
||||
@@ -206,17 +206,6 @@ enum {
|
||||
MCU_ATE_SET_TX_POWER_CONTROL = 0x15,
|
||||
};
|
||||
|
||||
struct mt7615_mcu_uni_event {
|
||||
u8 cid;
|
||||
u8 pad[3];
|
||||
__le32 status; /* 0: success, others: fail */
|
||||
} __packed;
|
||||
|
||||
struct mt7615_mcu_reg_event {
|
||||
__le32 reg;
|
||||
__le32 val;
|
||||
} __packed;
|
||||
|
||||
struct mt7615_roc_tlv {
|
||||
u8 bss_idx;
|
||||
u8 token;
|
||||
|
||||
@@ -1690,6 +1690,17 @@ struct mt76_connac_config {
|
||||
u8 data[320];
|
||||
} __packed;
|
||||
|
||||
struct mt76_connac_mcu_uni_event {
|
||||
u8 cid;
|
||||
u8 pad[3];
|
||||
__le32 status; /* 0: success, others: fail */
|
||||
} __packed;
|
||||
|
||||
struct mt76_connac_mcu_reg_event {
|
||||
__le32 reg;
|
||||
__le32 val;
|
||||
} __packed;
|
||||
|
||||
static inline enum mcu_cipher_type
|
||||
mt76_connac_mcu_get_cipher(int cipher)
|
||||
{
|
||||
|
||||
@@ -67,19 +67,19 @@ int mt7921_mcu_parse_response(struct mt76_dev *mdev, int cmd,
|
||||
cmd == MCU_UNI_CMD(HIF_CTRL) ||
|
||||
cmd == MCU_UNI_CMD(OFFLOAD) ||
|
||||
cmd == MCU_UNI_CMD(SUSPEND)) {
|
||||
struct mt7921_mcu_uni_event *event;
|
||||
struct mt76_connac_mcu_uni_event *event;
|
||||
|
||||
skb_pull(skb, sizeof(*rxd));
|
||||
event = (struct mt7921_mcu_uni_event *)skb->data;
|
||||
event = (struct mt76_connac_mcu_uni_event *)skb->data;
|
||||
ret = le32_to_cpu(event->status);
|
||||
/* skip invalid event */
|
||||
if (mcu_cmd != event->cid)
|
||||
ret = -EAGAIN;
|
||||
} else if (cmd == MCU_CE_QUERY(REG_READ)) {
|
||||
struct mt7921_mcu_reg_event *event;
|
||||
struct mt76_connac_mcu_reg_event *event;
|
||||
|
||||
skb_pull(skb, sizeof(*rxd));
|
||||
event = (struct mt7921_mcu_reg_event *)skb->data;
|
||||
event = (struct mt76_connac_mcu_reg_event *)skb->data;
|
||||
ret = (int)le32_to_cpu(event->val);
|
||||
} else {
|
||||
skb_pull(skb, sizeof(struct mt76_connac2_mcu_rxd));
|
||||
|
||||
@@ -50,22 +50,11 @@ struct mt7921_mcu_eeprom_info {
|
||||
#define MT_RA_RATE_DCM_EN BIT(4)
|
||||
#define MT_RA_RATE_BW GENMASK(14, 13)
|
||||
|
||||
struct mt7921_mcu_uni_event {
|
||||
u8 cid;
|
||||
u8 pad[3];
|
||||
__le32 status; /* 0: success, others: fail */
|
||||
} __packed;
|
||||
|
||||
enum {
|
||||
MT_EBF = BIT(0), /* explicit beamforming */
|
||||
MT_IBF = BIT(1) /* implicit beamforming */
|
||||
};
|
||||
|
||||
struct mt7921_mcu_reg_event {
|
||||
__le32 reg;
|
||||
__le32 val;
|
||||
} __packed;
|
||||
|
||||
struct mt7921_mcu_ant_id_config {
|
||||
u8 ant_id[4];
|
||||
} __packed;
|
||||
|
||||
Reference in New Issue
Block a user