mt76: mt7615: fix entering driver-own state on mt7663
Fixes hardware wakeup issues Signed-off-by: Felix Fietkau <nbd@nbd.name>
This commit is contained in:
parent
453873637b
commit
5c7d374444
@ -292,12 +292,20 @@ static int mt7615_mcu_drv_pmctrl(struct mt7615_dev *dev)
|
|||||||
u32 addr;
|
u32 addr;
|
||||||
int err;
|
int err;
|
||||||
|
|
||||||
addr = is_mt7663(mdev) ? MT_PCIE_DOORBELL_PUSH : MT_CFG_LPCR_HOST;
|
if (is_mt7663(mdev)) {
|
||||||
|
/* Clear firmware own via N9 eint */
|
||||||
|
mt76_wr(dev, MT_PCIE_DOORBELL_PUSH, MT_CFG_LPCR_HOST_DRV_OWN);
|
||||||
|
mt76_poll(dev, MT_CONN_ON_MISC, MT_CFG_LPCR_HOST_FW_OWN, 0, 3000);
|
||||||
|
|
||||||
|
addr = MT_CONN_HIF_ON_LPCTL;
|
||||||
|
} else {
|
||||||
|
addr = MT_CFG_LPCR_HOST;
|
||||||
|
}
|
||||||
|
|
||||||
mt76_wr(dev, addr, MT_CFG_LPCR_HOST_DRV_OWN);
|
mt76_wr(dev, addr, MT_CFG_LPCR_HOST_DRV_OWN);
|
||||||
|
|
||||||
mt7622_trigger_hif_int(dev, true);
|
mt7622_trigger_hif_int(dev, true);
|
||||||
|
|
||||||
addr = is_mt7663(mdev) ? MT_CONN_HIF_ON_LPCTL : MT_CFG_LPCR_HOST;
|
|
||||||
err = !mt76_poll_msec(dev, addr, MT_CFG_LPCR_HOST_FW_OWN, 0, 3000);
|
err = !mt76_poll_msec(dev, addr, MT_CFG_LPCR_HOST_FW_OWN, 0, 3000);
|
||||||
|
|
||||||
mt7622_trigger_hif_int(dev, false);
|
mt7622_trigger_hif_int(dev, false);
|
||||||
|
Loading…
Reference in New Issue
Block a user