blob: 892803fce8420c09c311740c898ca6b25e9099d6 [file] [log] [blame]
/*
* Copyright (C) 2014 Felix Fietkau <nbd@openwrt.org>
* Copyright (C) 2015 Jakub Kicinski <kubakici@wp.pl>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
* as published by the Free Software Foundation
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*/
#include "mt76x0.h"
int mt76x0_wait_asic_ready(struct mt76x0_dev *dev)
{
int i = 100;
u32 val;
do {
if (test_bit(MT76_REMOVED, &dev->mt76.state))
return -EIO;
val = mt76_rr(dev, MT_MAC_CSR0);
if (val && ~val)
return 0;
udelay(10);
} while (i--);
return -EIO;
}