ar71xx: add an external reset callback for ar913x and use it in ath9k - should reduce the frequency of DMA stop failures
Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 36530v19.07.3_mercusys_ac12_duma
parent
30c4360345
commit
18c588a570
@ -0,0 +1,31 @@
|
||||
--- a/arch/mips/ath79/dev-wmac.c
|
||||
+++ b/arch/mips/ath79/dev-wmac.c
|
||||
@@ -44,7 +44,7 @@ static struct platform_device ath79_wmac
|
||||
},
|
||||
};
|
||||
|
||||
-static void __init ar913x_wmac_setup(void)
|
||||
+static int ar913x_wmac_reset(void)
|
||||
{
|
||||
/* reset the WMAC */
|
||||
ath79_device_reset_set(AR913X_RESET_AMBA2WMAC);
|
||||
@@ -53,10 +53,19 @@ static void __init ar913x_wmac_setup(voi
|
||||
ath79_device_reset_clear(AR913X_RESET_AMBA2WMAC);
|
||||
mdelay(10);
|
||||
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+static void __init ar913x_wmac_setup(void)
|
||||
+{
|
||||
+ ar913x_wmac_reset();
|
||||
+
|
||||
ath79_wmac_resources[0].start = AR913X_WMAC_BASE;
|
||||
ath79_wmac_resources[0].end = AR913X_WMAC_BASE + AR913X_WMAC_SIZE - 1;
|
||||
ath79_wmac_resources[1].start = ATH79_CPU_IRQ(2);
|
||||
ath79_wmac_resources[1].end = ATH79_CPU_IRQ(2);
|
||||
+
|
||||
+ ath79_wmac_data.external_reset = ar913x_wmac_reset;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue