Gabor Juhos
ad0f03d250
ar71xx: ag71xx: don't start/stop built-in switch w/o mii_bus_dev
...
Trying to do that causes a NULL pointer dereference:
CPU 0 Unable to handle kernel paging request at virtual address 00000000, epc == 801d170c, ra == 801d18d4
Oops[#1 ]:
Cpu 0
$ 0 : 00000000 00000000 00000000 00000001
$ 4 : 00000000 802e6390 ffff8f45 00000001
$ 8 : 804b5360 ffffff80 802f93bc 00000000
$12 : 802f93e8 00000000 00000000 00000000
$16 : 8381aba0 8381aba0 00000000 00000000
$20 : 8295eff0 00000032 80000000 004101b8
$24 : 00000000 777265b0
$28 : 82936000 82937cf0 00420000 801d18d4
Hi : 00000000
Lo : 00000001
epc : 801d170c ar7240sw_reset+0x1c/0x19c
Tainted: G O
ra : 801d18d4 ag71xx_ar7240_start+0x28/0xc0
Status: 1100fc03 KERNEL EXL IE
Cause : 00800008
BadVA : 00000000
PrId : 00019750 (MIPS 74Kc)
Modules linked in: ath79_wdt ohci_hcd ledtrig_usbdev ledtrig_netdev
nf_nat_irc nf_nat_ftp nf_conntrack_irc nf_conntrack_ftp
ipt_MASQUERADE iptable_nat nf_nat pppoe xt_conntrack xt_CT xt_NOTRACK
iptable_raw xt_state nf_conntrack_ipv4 nf_defrag_ipv4 nf_conntrack
ehci_hcd pppox ipt_REJECT xt_TCPMSS xt_LOG xt_comment xt_multiport
xt_mac xt_limit iptable_mangle iptable_filter ip_tables xt_tcpudp x_tab
les ppp_async ppp_generic slhc ath9k(O) ath9k_common(O) ath9k_hw(O)
ath(O) mac80211(O) usbcore usb_common nls_base crc_ccitt cfg80211(O) c
ompat(O) arc4 aes_generic crypto_blkcipher cryptomgr aead crypto_hash
crypto_algapi ledtrig_timer ledtrig_default_on leds_gpio gpio_button
_hotplug(O)
Process netifd (pid: 677, threadinfo=82936000, task=82cbe140, tls=77803750)
Stack : ffffffff 80087900 00000001 82937d74 8381aba0 8381aba0 00000000 00000000
8295eff0 801d18d4 8295eff0 801fa4a4 00420000 80092158 00000002 8381aba0
8381a800 00000000 00000080 801cf900 8027e720 00000000 00000000 8009223c
8381a800 8381a82c 8027e720 00000000 00000000 7f9d14f0 00420000 801ec08c
8381a800 801ebfb0 33000000 82937e30 00000001 8381a800 00001003 801ec348
...
Call Trace:
[<801d170c>] ar7240sw_reset+0x1c/0x19c
[<801d18d4>] ag71xx_ar7240_start+0x28/0xc0
[<801cf900>] ag71xx_open+0x1d0/0x258
[<801ec08c>] __dev_open+0xcc/0x130
[<801ec348>] __dev_change_flags+0xc0/0x160
[<801ec490>] dev_change_flags+0x20/0x6c
[<801ec5c8>] dev_ifsioc+0xec/0x348
[<801ecdb8>] dev_ioctl+0x594/0x67c
[<800ec00c>] do_vfs_ioctl+0x598/0x5ec
[<800ec0b0>] sys_ioctl+0x50/0x90
[<8006a3c4>] stack_done+0x20/0x40
Code: afbf0024 afb40020 afb10014 <8c910000> 00809021 24100104 24130704 8e440000 02002821
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 34848
2012-12-22 12:12:40 +00:00
Gabor Juhos
1f7ae58a2c
ar71xx: ar934x_nfc: allow to control DMA data swap via platform data
...
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 34588
2012-12-10 10:38:07 +00:00
Gabor Juhos
188908e885
ar71xx: make rb750_nand driver compatible with 3.7
...
Also add compatibility patches for the currently
supported kernels.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 34279
2012-11-20 16:29:43 +00:00
Gabor Juhos
8194237789
ar71xx: make ar934x_nfc driver compatible with 3.7
...
Also add compatibility patches for the currently
supported kernels.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 34278
2012-11-20 16:29:42 +00:00
Gabor Juhos
46a3b818b9
ar71xx: remove buffer verification reference from rb4xx_nand.c
...
It is a dead code.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 34276
2012-11-20 14:40:22 +00:00
Gabor Juhos
d833ca527d
ar71xx: restore rb4xx kernel partition size to the original value
...
The new lzma compressed elf kernel image fits into
that, even on devices with large page NAND chips.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 34274
2012-11-20 12:17:45 +00:00
Gabor Juhos
a6549ac1cb
ar71xx: remove NO_AUTOINCR flag from the NAND drivers
...
The flag is not present in 3.6.
Also add compatibility patches for 3.3.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 33971
2012-10-28 12:21:15 +00:00
Gabor Juhos
e2ec99889e
ar71xx: ag71xx: fix build_skb arguments for 3.6
...
Also add a compatibility patch for 3.3
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 33969
2012-10-27 17:11:06 +00:00
Gabor Juhos
269872fe1e
ar71xx: use mtd_read in wrt160nl_part
...
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 33951
2012-10-27 07:57:58 +00:00
Gabor Juhos
973eda6077
ar71xx: use mtd_read in tplinkpart
...
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 33950
2012-10-27 07:57:57 +00:00
Gabor Juhos
7c85646176
ar71xx: ar934x_nfc: remove unused oob parameter of ar934x_nfc_send_read
...
SVN-Revision: 33454
2012-09-17 20:30:55 +00:00
Gabor Juhos
3bdf0bc36f
ar71xx: ar934x_nfc: increase DMA retry count
...
SVN-Revision: 33453
2012-09-17 20:30:54 +00:00
Gabor Juhos
b7cb43f6a6
ar71xx: ar934x_nfc: optimize READOOB operation on large page devices
...
SVN-Revision: 33452
2012-09-17 20:30:53 +00:00
Gabor Juhos
96dde2e591
ar71xx: ar934x_nfc: fix RNDOUT operation
...
SVN-Revision: 33451
2012-09-17 20:30:51 +00:00
Gabor Juhos
338b698fb6
ar71xx: ar934x_nfc: fix READ{0,1} operation on large page devices
...
SVN-Revision: 33450
2012-09-17 20:30:50 +00:00
Gabor Juhos
1e5fdbeae5
ar71xx: ar934x_nfc: experimental NAND Flash Controller driver for AR934x
...
SVN-Revision: 33385
2012-09-13 07:26:22 +00:00
Gabor Juhos
7592057774
ar71xx: add dynamic MDIO clock calculation
...
SVN-Revision: 33342
2012-09-09 14:05:17 +00:00
Gabor Juhos
b8618fd3f2
ar71xx: improve MDIO busy wait code
...
SVN-Revision: 32586
2012-07-03 15:24:02 +00:00
Felix Fietkau
a9cd8446f3
ar71xx: do not override the mdio clock for ar9330. the override value (obtained from an atheros driver) seems to break ethernet functionality
...
SVN-Revision: 31956
2012-05-28 20:39:50 +00:00
Felix Fietkau
367e4b3994
ar71xx: improve rx performance of the ethernet driver by using build_skb to deliver a cache-hot skb to the network stack
...
SVN-Revision: 31934
2012-05-28 02:55:59 +00:00
Felix Fietkau
8039a1bbb2
ar71xx: fix MII clock settings for various chips, improves ethernet stability on AR934x
...
SVN-Revision: 31925
2012-05-27 21:02:41 +00:00
Felix Fietkau
a3f2fd187b
ar71xx: remove AG71XX_RX_PKT_RESERVE, it is no longer necessary (found by Eric Dumazet)
...
SVN-Revision: 31736
2012-05-15 10:36:39 +00:00
Felix Fietkau
0ff3c396d3
kernel: rewrite the phy packet hook, put it in the network stack to avoid having to keep non-upstream ethernet driver changes
...
SVN-Revision: 31637
2012-05-06 21:19:14 +00:00
Gabor Juhos
3e3a4d3d6b
ar71xx: allow to disable link polling on unused PHYs
...
SVN-Revision: 31533
2012-04-29 18:29:24 +00:00
Gabor Juhos
a447f1810c
ar71xx: enable MIB counters in the built-in switch of the AR934x
...
SVN-Revision: 31476
2012-04-25 13:02:11 +00:00
Gabor Juhos
5348f46c80
ar71xx: add latch_change field to rb750_led_platform_data
...
SVN-Revision: 31023
2012-03-19 15:57:01 +00:00
Gabor Juhos
8a471efe01
ar71xx: add platform data for the RB750 NAND driver
...
SVN-Revision: 31022
2012-03-19 15:56:59 +00:00
Gabor Juhos
c00b53f3d0
ar71xx: move micrel PHY driver to the generic linux target
...
SVN-Revision: 30946
2012-03-15 09:25:53 +00:00
Gabor Juhos
ff909edf94
ar71xx: ag71xx: fix ARP frame reception on AR934x switch ports
...
SVN-Revision: 30926
2012-03-13 17:29:38 +00:00
Gabor Juhos
cd6a4cde13
ar71xx: ag71xx: start aneg on switch PHYs after reset
...
SVN-Revision: 30925
2012-03-13 17:29:37 +00:00
Gabor Juhos
7c9534cfd7
ar71xx: ag71xx: poll PHY status of all available switch ports
...
SVN-Revision: 30924
2012-03-13 17:29:36 +00:00
Gabor Juhos
8449eecf5f
ar71xx: ag71xx: allow to use port 5 of the AR934x built-in switch
...
SVN-Revision: 30923
2012-03-13 17:29:34 +00:00
Gabor Juhos
c455a0f7be
ar71xx: ag71xx: fix get_port_link callback
...
SVN-Revision: 30841
2012-03-07 16:32:35 +00:00
Gabor Juhos
5a83b3a5c7
ar71xx: ag71xx: use the generic get_port_link implementation
...
SVN-Revision: 30840
2012-03-07 16:32:34 +00:00
Gabor Juhos
7052847972
ar71xx: ag71xx: keep VLAN tags if VLAN is not enabled
...
SVN-Revision: 30768
2012-03-01 19:49:05 +00:00
Gabor Juhos
766999085a
ar71xx: ag71xx: add BQL support
...
It will be usable only from linux-3.3.
Based on a patch by Dave Taht <dave.taht@bufferbloat.net>
SVN-Revision: 30417
2012-02-10 14:56:47 +00:00
Gabor Juhos
32a18a05f8
ar71xx: add preliminary support for 3.3
...
SVN-Revision: 30410
2012-02-10 11:53:56 +00:00
Gabor Juhos
fe0c7aac66
ar71xx: merge 3.2 fixes
...
SVN-Revision: 30406
2012-02-10 08:19:33 +00:00
Gabor Juhos
d72bde99cd
ar71xx: merge files-3.2 to files
...
SVN-Revision: 30405
2012-02-10 08:19:31 +00:00
Gabor Juhos
d5d37febb4
ar71xx: use dynamically allocated partitions in wrt160nl_part
...
SVN-Revision: 29970
2012-01-31 18:36:51 +00:00
Gabor Juhos
386cbfe45b
ar71xx: move arch specific files to files-2.6.39
...
SVN-Revision: 29867
2012-01-22 22:38:11 +00:00
Gabor Juhos
e7dee3aeed
ar71xx: wrt160nl_part: include module.h and fix compiler warnings
...
SVN-Revision: 29856
2012-01-22 17:55:38 +00:00
Gabor Juhos
a7d344565b
ar71xx: tplinkpart: include module.h
...
SVN-Revision: 29855
2012-01-22 17:55:36 +00:00
Gabor Juhos
6c2638c5e2
ar71xx: rename vsc7385 spi driver
...
SVN-Revision: 29853
2012-01-22 13:51:57 +00:00
Gabor Juhos
bb16739db9
ar71xx: rename ap81 spi driver
...
SVN-Revision: 29852
2012-01-22 13:51:56 +00:00
Gabor Juhos
5ef8b922fa
ar71xx: rename rb4xx spi drivers
...
SVN-Revision: 29851
2012-01-22 13:51:54 +00:00
Gabor Juhos
aad175d5b6
ar71xx: rename the nxp_74hc153 driver
...
SVN-Revision: 29850
2012-01-22 13:51:52 +00:00
Gabor Juhos
f90e578903
ar71xx: include linux/module.h in the micrel phy driver
...
SVN-Revision: 29848
2012-01-22 13:51:49 +00:00
Gabor Juhos
88d8cdd503
ar71xx: pb44_spi: add shutdown handler
...
This allows to access the flash from a kexec'd kernel.
SVN-Revision: 29710
2012-01-11 09:14:18 +00:00
Gabor Juhos
e1b7995aef
ar71xx: pb44_spi: call pb44_spi_{en,dis}able from probe/remove
...
SVN-Revision: 29709
2012-01-11 09:14:17 +00:00
Gabor Juhos
67444c7795
ar71xx: pb44_spi: introduce pb44_spi_{en,dis}able helpers
...
SVN-Revision: 29708
2012-01-11 09:14:15 +00:00
Gabor Juhos
0f566a376c
ar71xx: ar71xx_spi: add shutdown handler
...
This allows to access the flash from a kexec'd kernel.
SVN-Revision: 29707
2012-01-11 09:14:14 +00:00
Gabor Juhos
09a6e3f662
ar71xx: ar71xx_spi: save and restore regs from probe/remove
...
SVN-Revision: 29706
2012-01-11 09:14:13 +00:00
Gabor Juhos
714a9bd641
ar71xx: ar71xx_wdt: add shutdown handler
...
SVN-Revision: 29705
2012-01-11 09:14:11 +00:00
Gabor Juhos
8eb0b7ab3d
ar71xx: fix sections mismatch warnings in the nand drivers
...
SVN-Revision: 29667
2012-01-05 18:08:33 +00:00
Gabor Juhos
8c2482f76e
ar71xx: ag71xx: implement get_port_{link,stats} callbacks
...
SVN-Revision: 29626
2011-12-31 15:02:26 +00:00
Felix Fietkau
db0a1db257
ar71xx: set a reserved bit that resets to 1 when writing the address table control register on the ar7240 switch (should fix #10547 )
...
SVN-Revision: 29598
2011-12-22 05:43:53 +00:00
Gabor Juhos
36bc2c2c80
ar71xx: ag71xx: fix switch port setup for AR934X
...
SVN-Revision: 29554
2011-12-15 22:25:32 +00:00
Gabor Juhos
00667c3846
ar71xx: ag71xx: allow to connect PHY4 to the CPU on AR934X
...
SVN-Revision: 29553
2011-12-15 22:25:30 +00:00
Gabor Juhos
0540970345
ar71xx: ag71xx: setup switch interface mode on AR934X
...
SVN-Revision: 29552
2011-12-15 22:25:29 +00:00
Gabor Juhos
44014110b8
ar71xx: ag71xx: detect the built-in switch of the AR934X SoCs
...
SVN-Revision: 29551
2011-12-15 22:25:28 +00:00
Gabor Juhos
9ae65588d8
ar71xx: introduce ar71xx_switch_data
...
SVN-Revision: 29549
2011-12-15 22:25:11 +00:00
Gabor Juhos
850be54b72
ar71xx: tplinkpart: allow to detect JFFS2 as well
...
SVN-Revision: 29543
2011-12-15 22:03:40 +00:00
Gabor Juhos
b7d7481b07
ar71xx: ag71xx: check PHY IDs before accessing the switch registers
...
SVN-Revision: 29541
2011-12-15 13:25:23 +00:00
Gabor Juhos
0655552860
ar71xx: ag71xx: don't use port 4 of the switch, it is not connected on ar724x
...
SVN-Revision: 29540
2011-12-15 13:25:21 +00:00
Gabor Juhos
204fc6bed5
ar71xx: ag71xx: nuke ar7240sw_init
...
SVN-Revision: 29539
2011-12-15 13:25:20 +00:00
Gabor Juhos
3e7a6d182a
ar71xx: check squashfs signature in TP-Link mtd parser
...
SVN-Revision: 29446
2011-12-05 14:52:33 +00:00
Gabor Juhos
514b1167c9
ar71xx: add mtd partition parser for the TP-Link boards
...
SVN-Revision: 29415
2011-12-03 18:13:27 +00:00
Gabor Juhos
aa0c8c4885
ar71xx: add AR71XX_ prefix to GPIO_REG_* defines
...
SVN-Revision: 29123
2011-11-14 17:43:11 +00:00
Gabor Juhos
62a7795afd
ar71xx: merge nand scan patch
...
SVN-Revision: 29122
2011-11-14 17:43:10 +00:00
Gabor Juhos
d2316b2a45
ar71xx: ag71xx: add support for getting switch port link status
...
SVN-Revision: 29017
2011-11-13 11:27:04 +00:00
Gabor Juhos
34015ed6e8
ar71xx: ag71xx: remove unused mii_ctrl field from struct ag71xx
...
SVN-Revision: 29015
2011-11-13 11:27:01 +00:00
Gabor Juhos
2d882cff23
ar71xx: ag71xx: remove unused mii_cfg related functions and defines
...
SVN-Revision: 29014
2011-11-13 11:27:00 +00:00
Gabor Juhos
538a9493b9
ar71xx: set MII interface speed from the set_speed callbacks
...
SVN-Revision: 29013
2011-11-13 11:26:59 +00:00
Gabor Juhos
93cd46be13
ar71xx: rename set_pll callback to set_speed in ag71xx_platform_data
...
Also rename the corresponding callback functions.
SVN-Revision: 29012
2011-11-13 11:26:57 +00:00
Gabor Juhos
9579bb4267
ar71xx: ag71xx: remove MII interface setup code
...
SVN-Revision: 29011
2011-11-13 11:26:56 +00:00
Gabor Juhos
2f9e535e89
ar71xx: ag71xx: use fixed link parameters if the mii bus is not registered
...
SVN-Revision: 28977
2011-11-12 10:54:16 +00:00
Felix Fietkau
7a2efd8c28
ar71xx: remove dead code
...
SVN-Revision: 28851
2011-11-08 00:33:20 +00:00
Felix Fietkau
94309039b7
ar71xx: on ar7240, exclude ports from their own port vlan destination mask
...
SVN-Revision: 28850
2011-11-08 00:33:15 +00:00
Jonas Gorski
c674c874b7
ag71xx: close a race between the phy state machine and link state
...
A fast stop/start cycle could leave the ag71xx interrupts and tx engine
disabled when using a phy driver with a fixed link and the start/stop
happens between two phy state machine polls.
Prevent this by always forcing the link down on stop regardless of phy
state and having a phy connected.
SVN-Revision: 28380
2011-10-08 11:37:14 +00:00
Felix Fietkau
1bdf65f580
ar71xx: fix register range check for DMA stuck checks (thx, Frédéric Moulins)
...
SVN-Revision: 28213
2011-09-11 17:44:12 +00:00
Felix Fietkau
12c84f8eeb
ar71xx: add some code to detect DMA stuck conditions on ar7240
...
SVN-Revision: 27975
2011-08-13 22:30:14 +00:00
Felix Fietkau
85ccc74e1b
ar71xx: on ar724x only reset the link status in the restart handler, the fast reset takes care of DMA stuck issues
...
SVN-Revision: 27973
2011-08-13 21:49:46 +00:00
Felix Fietkau
4b75394056
ar71xx: fix ethernet FIFO state corruption on ar7240
...
When starting/stopping DMA sometimes the FIFO state gets corrupted,
leading to wildly fluctuating latencies or packet data corruption.
Fix this by issuing a fast MAC reset as soon as the link is detected
as up. Fixes #9689 , #9405
SVN-Revision: 27896
2011-08-04 17:36:31 +00:00
Felix Fietkau
d2aeca6b6d
ag71xx: fix memory corruption issues on ar7240 on ethernet start/stop
...
When the DMA engine state gets corrupted due to a hardware issues, it
often won't stop rx until a full reset is issued. In that case the hardware
must keep a valid descriptor, otherwise it will write to random places in
system RAM, triggering random crashes. To fix this, keep a dummy descriptor
without a buffer that keeps the DMA engine in a sane state until the reset
is done
SVN-Revision: 27895
2011-08-04 17:36:27 +00:00
Felix Fietkau
500c3a1475
ar71xx: fix MAC/MDIO reset mask handling
...
SVN-Revision: 27894
2011-08-04 17:36:23 +00:00
Felix Fietkau
c7173a211d
ar71xx: reinitialize global switch settings after reset on ar7240
...
SVN-Revision: 27705
2011-07-20 14:39:47 +00:00
Felix Fietkau
ca473833c4
ar71xx: configure address aging on ar7240
...
SVN-Revision: 27704
2011-07-20 14:39:42 +00:00
Felix Fietkau
fefc79f3cb
ar71xx: reset the phy in the ethernet init on ar724x
...
SVN-Revision: 27703
2011-07-20 12:04:34 +00:00
Felix Fietkau
005fe5d1fd
ar71xx: make sure that rx and interrupts are disabled before issuing the hardware reset
...
SVN-Revision: 27702
2011-07-20 12:04:29 +00:00
Felix Fietkau
e7ab000008
ar71xx: increase the delay after the ethernet MAC reset
...
SVN-Revision: 27701
2011-07-20 12:04:25 +00:00
Felix Fietkau
255dcaa3a6
ar71xx: fix an unused variable warning
...
SVN-Revision: 27700
2011-07-20 12:04:20 +00:00
Felix Fietkau
f3d693c0ee
ar71xx: do not reset the hardware on transmit timeout - this would mess up the up the PHY state
...
SVN-Revision: 27568
2011-07-09 06:30:13 +00:00
Felix Fietkau
2806c75c07
ag71xx: keep the rx engine stopped while the link is not up, should hopefully fix stability issues from #9405
...
SVN-Revision: 27567
2011-07-09 06:29:46 +00:00
Gabor Juhos
d98476c6bd
ar71xx: merge 2.6.39 patches
...
Also remove the old UART driver for ar933x.
SVN-Revision: 27314
2011-06-29 08:57:37 +00:00
Gabor Juhos
6627574e57
ar71xx: add 2.6.39 support
...
SVN-Revision: 27310
2011-06-29 08:57:32 +00:00
Gabor Juhos
e6af77a1c8
ar71xx: cleanup AR933X UART driver
...
SVN-Revision: 27222
2011-06-19 13:17:51 +00:00
Gabor Juhos
b7e016ba42
ar71xx: use ar933x_uart.h in the AR933X serial driver
...
SVN-Revision: 27166
2011-06-13 08:12:40 +00:00
Gabor Juhos
13363d9129
ar71xx: setup wdt_clock for AR913X to avoid a kernel bug
...
Signed-off-by: Jonas Gorski <jonas.gorski+openwrt@gmail.com>
SVN-Revision: 27102
2011-06-04 12:30:10 +00:00
Felix Fietkau
31dd60689e
Revert "ar71xx: only enable the rx engine after the link is up..."
...
It messes up the DMA state when the link goes down
SVN-Revision: 27088
2011-06-01 18:15:43 +00:00