mt76: remove wait argument from mt76x02_mcu_function_select
Remove wait argument from mt76x02_mcu_function_select and wait for response when function is not Q_SELECT, what is the same behaviour like in vendor driver. Note this change behaviour for PCIe devices for Q_SELECT function form wait to no-wait, and for mt76x0u BW_SETTING from no-wait to wait. But the change is in align with vendor driver. Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com> Signed-off-by: Felix Fietkau <nbd@nbd.name>
This commit is contained in:
parent
a74d633609
commit
3d2d61b5f7
6 changed files with 13 additions and 12 deletions
|
@ -227,7 +227,7 @@ int mt76x0_init_hardware(struct mt76x02_dev *dev)
|
|||
return -ETIMEDOUT;
|
||||
|
||||
mt76x0_reset_csr_bbp(dev);
|
||||
ret = mt76x02_mcu_function_select(dev, Q_SELECT, 1, false);
|
||||
ret = mt76x02_mcu_function_select(dev, Q_SELECT, 1);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
|
|
|
@ -500,7 +500,7 @@ mt76x0_phy_bbp_set_bw(struct mt76x02_dev *dev, enum nl80211_chan_width width)
|
|||
return ;
|
||||
}
|
||||
|
||||
mt76x02_mcu_function_select(dev, BW_SETTING, bw, false);
|
||||
mt76x02_mcu_function_select(dev, BW_SETTING, bw);
|
||||
}
|
||||
|
||||
static void mt76x0_phy_tssi_dc_calibrate(struct mt76x02_dev *dev)
|
||||
|
|
|
@ -132,9 +132,8 @@ out:
|
|||
}
|
||||
EXPORT_SYMBOL_GPL(mt76x02_mcu_msg_send);
|
||||
|
||||
int mt76x02_mcu_function_select(struct mt76x02_dev *dev,
|
||||
enum mcu_function func,
|
||||
u32 val, bool wait_resp)
|
||||
int mt76x02_mcu_function_select(struct mt76x02_dev *dev, enum mcu_function func,
|
||||
u32 val)
|
||||
{
|
||||
struct {
|
||||
__le32 id;
|
||||
|
@ -143,9 +142,12 @@ int mt76x02_mcu_function_select(struct mt76x02_dev *dev,
|
|||
.id = cpu_to_le32(func),
|
||||
.value = cpu_to_le32(val),
|
||||
};
|
||||
bool wait = false;
|
||||
|
||||
return mt76_mcu_send_msg(dev, CMD_FUN_SET_OP, &msg, sizeof(msg),
|
||||
wait_resp);
|
||||
if (func != Q_SELECT)
|
||||
wait = true;
|
||||
|
||||
return mt76_mcu_send_msg(dev, CMD_FUN_SET_OP, &msg, sizeof(msg), wait);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(mt76x02_mcu_function_select);
|
||||
|
||||
|
|
|
@ -101,9 +101,8 @@ int mt76x02_mcu_calibrate(struct mt76x02_dev *dev, int type,
|
|||
u32 param, bool wait);
|
||||
int mt76x02_mcu_msg_send(struct mt76_dev *mdev, int cmd, const void *data,
|
||||
int len, bool wait_resp);
|
||||
int mt76x02_mcu_function_select(struct mt76x02_dev *dev,
|
||||
enum mcu_function func,
|
||||
u32 val, bool wait_resp);
|
||||
int mt76x02_mcu_function_select(struct mt76x02_dev *dev, enum mcu_function func,
|
||||
u32 val);
|
||||
int mt76x02_mcu_set_radio_state(struct mt76x02_dev *dev, bool on,
|
||||
bool wait_resp);
|
||||
void mt76x02_set_ethtool_fwver(struct mt76x02_dev *dev,
|
||||
|
|
|
@ -182,6 +182,6 @@ int mt76x2_mcu_init(struct mt76x02_dev *dev)
|
|||
if (ret)
|
||||
return ret;
|
||||
|
||||
mt76x02_mcu_function_select(dev, Q_SELECT, 1, true);
|
||||
mt76x02_mcu_function_select(dev, Q_SELECT, 1);
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -258,7 +258,7 @@ int mt76x2u_mcu_init(struct mt76x02_dev *dev)
|
|||
{
|
||||
int err;
|
||||
|
||||
err = mt76x02_mcu_function_select(dev, Q_SELECT, 1, false);
|
||||
err = mt76x02_mcu_function_select(dev, Q_SELECT, 1);
|
||||
if (err < 0)
|
||||
return err;
|
||||
|
||||
|
|
Loading…
Reference in a new issue