mirror of
https://github.com/outbackdingo/mt76.git
synced 2026-10-24 21:36:52 +00:00
mt76: move waiting and locking out of mcu_ops->mcu_skb_send_msg
This removes some code duplication and prepares the code for making the MCU API more flexible Signed-off-by: Felix Fietkau <[email protected]>
This commit is contained in:
@@ -147,7 +147,7 @@ struct mt76_mcu_ops {
|
||||
int (*mcu_send_msg)(struct mt76_dev *dev, int cmd, const void *data,
|
||||
int len, bool wait_resp);
|
||||
int (*mcu_skb_send_msg)(struct mt76_dev *dev, struct sk_buff *skb,
|
||||
int cmd, bool wait_resp);
|
||||
int cmd, int *seq);
|
||||
int (*mcu_parse_response)(struct mt76_dev *dev, int cmd,
|
||||
struct sk_buff *skb, int seq);
|
||||
u32 (*mcu_rr)(struct mt76_dev *dev, u32 offset);
|
||||
@@ -415,6 +415,7 @@ enum mt76u_out_ep {
|
||||
struct mt76_mcu {
|
||||
struct mutex mutex;
|
||||
u32 msg_seq;
|
||||
int timeout;
|
||||
|
||||
struct sk_buff_head res_q;
|
||||
wait_queue_head_t wait;
|
||||
@@ -698,7 +699,6 @@ enum mt76_phy_type {
|
||||
|
||||
|
||||
#define mt76_mcu_send_msg(dev, ...) (dev)->mcu_ops->mcu_send_msg((dev), __VA_ARGS__)
|
||||
#define mt76_mcu_skb_send_msg(dev, ...) (dev)->mcu_ops->mcu_skb_send_msg((dev), __VA_ARGS__)
|
||||
#define mt76_mcu_restart(dev, ...) (dev)->mt76.mcu_ops->mcu_restart(&((dev)->mt76))
|
||||
#define __mt76_mcu_restart(dev, ...) (dev)->mcu_ops->mcu_restart((dev))
|
||||
|
||||
@@ -1077,6 +1077,8 @@ mt76_mcu_msg_alloc(struct mt76_dev *dev, const void *data,
|
||||
void mt76_mcu_rx_event(struct mt76_dev *dev, struct sk_buff *skb);
|
||||
struct sk_buff *mt76_mcu_get_response(struct mt76_dev *dev,
|
||||
unsigned long expires);
|
||||
int mt76_mcu_skb_send_msg(struct mt76_dev *dev, struct sk_buff *skb,
|
||||
int cmd, bool wait_resp);
|
||||
|
||||
void mt76_set_irq_mask(struct mt76_dev *dev, u32 addr, u32 clear, u32 set);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user