/*
|
* 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;
|
}
|