Felix Fietkau
523fcf0497
ar71xx: add a new driver for the ar7240 switch using swconfig. hooks directly into the ethernet driver, as MAC resets also require switch reinitializations and the switch is part of the cpu core anyway switch only tl-wr741nd (and other devices using this board file, such as tl-wr841nd) over to using this by default, as other devices are still untested fixes #7563
...
SVN-Revision: 22675
2010-08-16 19:21:57 +00:00
Felix Fietkau
a27ea45e76
ar71xx: only reinit the ethernet MAC at .open() on ar724x for now, until we've figured out what part of it causes the issue described in #7563
...
SVN-Revision: 22075
2010-07-06 12:40:07 +00:00
Felix Fietkau
15b209d09f
ag71xx: reset the hardware during open(), this improves recovery from tx timeouts on ar724x considerably
...
SVN-Revision: 22055
2010-07-04 02:15:08 +00:00
Felix Fietkau
89da22d1ea
ag71xx: fix a memory corruption bug that happens if you flood the interface with packets while it's being brought down fixes boot time crashes under load reported by matteo
...
SVN-Revision: 22054
2010-07-04 01:31:33 +00:00
Felix Fietkau
7966004d99
ag71xx: remove rx alignment code for small packets, it seems to break ipv6 for some reason ( fixes #7236 )
...
SVN-Revision: 21166
2010-04-26 16:39:13 +00:00
Felix Fietkau
1c0e751391
ar71xx: fix up alignment handling
...
- on ar724x, rx buffers can be aligned with an offset of 2, which keeps the ip header aligned
- alignment offset is only added if the ar8216 workaround is not active and the phy driver does not advertise its own packet alignment
- ar71xx and ar91xx can not handle rx alignment offsets, however taking a hit on unaligned exceptions seems to have less overhead than re-aligning the data for large packets
- use memmove to re-align small packets, if necessary
tested on ar9132, ar7240 and ar7242 based devices without ar8216 headers
SVN-Revision: 20892
2010-04-15 23:31:17 +00:00
Gabor Juhos
4c29a2c263
ar71xx: ag71xx: avoid unalinged accesses when using the phy specific receive functions
...
Cc: backfire@openwrt.org
SVN-Revision: 20751
2010-04-09 08:40:06 +00:00
Gabor Juhos
4a28844d80
ar71xx: ag71xx: call the phy driver's netif_receive_skb()
...
Ag71xx needs to call the phy's netif_receive_skb() to allow phy drivers
to mangle rx packets. This patch fixes it.
This fixes the header mangling of the AR8216 driver.
Signed-off-by: Jonas Gorski <jonas.gorski+openwrt@gmail.com>
Cc:backfire@openwrt.org
SVN-Revision: 20750
2010-04-09 08:38:46 +00:00
Gabor Juhos
c874513cfa
ar71xx: fix broken LAN ports on the boards with AR8216 switch ( closes #7024 )
...
* cc: backfire@openwrt.org
SVN-Revision: 20673
2010-04-03 13:59:08 +00:00
Gabor Juhos
b7ca043240
ar71xx: ag71xx: copy received packet to avoid unaligned access in the IP stack
...
SVN-Revision: 20506
2010-03-27 13:05:27 +00:00
Gabor Juhos
f9acf8ada1
ar71xx: ag71xx: introduce ag71xx_has_ar8216() helper
...
SVN-Revision: 20505
2010-03-27 13:05:24 +00:00
Gabor Juhos
200db5ebb5
ar71xx: ag71xx: reorganize ag71xx_rx_packet function
...
SVN-Revision: 20504
2010-03-27 13:05:20 +00:00
Gabor Juhos
245775a49f
ar71xx: ag71xx: Add netpoll support
...
This patch adds support for polling interrupts, used by
netconsole and the likes.
Tested on d-link dir-615 C1 using netconsole.
Signed-off-by: Pat Erley <pat-lkml@erley.org>
SVN-Revision: 20503
2010-03-27 13:05:17 +00:00
Andy Boyett
681054333e
wrt400n: lan ports don't need the ar8216 workaround
...
SVN-Revision: 20491
2010-03-26 19:09:11 +00:00
Gabor Juhos
9a1031ce6d
ar71xx: change PHY select logic, and update phy_masks
...
SVN-Revision: 20358
2010-03-21 18:16:07 +00:00
Gabor Juhos
2a818f388a
ar71xx: ag71xx: fix MAC address setup
...
SVN-Revision: 20092
2010-03-09 18:05:36 +00:00
Gabor Juhos
2702ae4e8f
ar71xx: ag71xx: move calling ag71xx_phy_stop out from spinlock
...
SVN-Revision: 20004
2010-03-05 20:29:22 +00:00
Gabor Juhos
a4bccded57
ar71xx: ag71xx: move link update function
...
SVN-Revision: 20003
2010-03-05 20:29:18 +00:00
Gabor Juhos
eacf9a7614
ar71xx: ag71xx: don't use dev->trans_start
...
SVN-Revision: 20002
2010-03-05 20:29:14 +00:00
Gabor Juhos
ba288eeb84
ar71xx: ag71xx: use dma_unmap_single to unmap frames
...
SVN-Revision: 20001
2010-03-05 20:29:10 +00:00
Gabor Juhos
0e4eaea770
ar71xx: ag71xx: use correct device pointer for dma_map_single
...
SVN-Revision: 19951
2010-03-02 13:36:18 +00:00
Gabor Juhos
84823e1477
ar71xx: ag71xx: don't use virt_to_phys
...
SVN-Revision: 19950
2010-03-02 13:36:15 +00:00
Gabor Juhos
4a987d6008
ar71xx: ag71xx: simplify register access functions
...
SVN-Revision: 19949
2010-03-02 13:36:12 +00:00
Gabor Juhos
e157281c5d
ar71xx: ag71xx: use NETDEV_TX_OK
...
SVN-Revision: 19948
2010-03-02 13:36:09 +00:00
Gabor Juhos
1612fd447d
ar71xx: enable TX/RX flow control on the AR7240
...
SVN-Revision: 19832
2010-02-24 13:38:41 +00:00
Gabor Juhos
49c4df5487
rtl8366: make it available on all platforms
...
SVN-Revision: 19329
2010-01-25 15:13:38 +00:00
Gabor Juhos
97b983c8b9
rtl8366s: simplify mib counters handling
...
SVN-Revision: 19326
2010-01-25 14:24:53 +00:00
Gabor Juhos
2b5ba9073f
rtl8366_smi: move RTL8366S driver into a separate file
...
SVN-Revision: 19279
2010-01-22 17:38:07 +00:00
Gabor Juhos
46b0e6643a
rtl8366_smi: rename rtl8366s specific functions and definitions
...
SVN-Revision: 19278
2010-01-22 17:37:58 +00:00
Gabor Juhos
08055fd6d1
rtl8366_smi: move chip specific stuff into its own struct
...
SVN-Revision: 19277
2010-01-22 17:37:53 +00:00
Gabor Juhos
de751af190
rtl8366_smi: separate gpio initialization
...
SVN-Revision: 19276
2010-01-22 17:37:50 +00:00
Gabor Juhos
a1247d2f83
rtl8366_smi: store GPIO numbers directly in the rtl8366_smi struct
...
SVN-Revision: 19275
2010-01-22 17:37:47 +00:00
Gabor Juhos
ab278275ee
rtl8366_smi: store device pointer instead of plaform_device
...
SVN-Revision: 19274
2010-01-22 17:37:41 +00:00
Gabor Juhos
edfa82ab60
rtl8366_smi: rename switch attribute handlers
...
SVN-Revision: 19254
2010-01-21 12:13:43 +00:00
Gabor Juhos
7aefde9f66
rtl8366_smi: simplify rtl8366_attr_get_port_link function
...
SVN-Revision: 19250
2010-01-20 20:36:30 +00:00
Gabor Juhos
83fb9f73e1
rtl8366_smi: make rtl8366_phy_config_{aneg,init} static
...
SVN-Revision: 19249
2010-01-20 20:36:27 +00:00
Gabor Juhos
cad07a09c1
rtl8366_smi: simplify rtl8366_{get,set}_port_vlan_index functions
...
SVN-Revision: 19248
2010-01-20 20:36:24 +00:00
Gabor Juhos
50849c6cff
rtl8366_smi: minor code optimalizations
...
SVN-Revision: 19247
2010-01-20 20:36:21 +00:00
Gabor Juhos
3e6b3ea088
rtl8366_smi: coding style cleanup
...
SVN-Revision: 19246
2010-01-20 17:40:39 +00:00
Gabor Juhos
5e5451a54d
rtl8366_smi: add Kconfig option for the debugfs stuff
...
SVN-Revision: 19243
2010-01-20 09:30:36 +00:00
Gabor Juhos
0d48b043b1
rtl8366_smi: fix error checking in rtl8366s_set_vlan_4k_entry
...
SVN-Revision: 19242
2010-01-20 09:30:32 +00:00
Gabor Juhos
0296b24f80
rtl8366_smi: fix parameter checking in rtl8366_attr_get_vlan_info
...
SVN-Revision: 19241
2010-01-20 09:30:25 +00:00
Gabor Juhos
743e7617b0
rtl8366_smi: fix return codes in rtl8366s_reset_vlan
...
SVN-Revision: 19240
2010-01-20 07:06:18 +00:00
Gabor Juhos
43815d730b
rtl8366_smi: move variable initialization out from the loop
...
SVN-Revision: 19239
2010-01-20 07:06:15 +00:00
Gabor Juhos
fbc389ae9d
rtl8366_smi: fix port->flags calculation in rtl8366_get_ports
...
SVN-Revision: 19237
2010-01-20 07:06:10 +00:00
Gabor Juhos
c4838a0f9e
rtl8366_smi: use inline function instead of a macro on top of container_of
...
SVN-Revision: 19215
2010-01-18 09:01:40 +00:00
Felix Fietkau
88ddc59655
rtl8366_smi: reset the vlan table when resetting the switch and use vlan get/set ports for vlan member lists
...
SVN-Revision: 19206
2010-01-18 00:12:12 +00:00
Felix Fietkau
b228fd428a
rtl8366_smi: fix excessive stack usage and buffer handling bugs
...
SVN-Revision: 19205
2010-01-18 00:12:07 +00:00
Felix Fietkau
8394a32815
ar71xx: fix return statement in the rtl8366 driver
...
SVN-Revision: 19204
2010-01-17 22:57:08 +00:00
Gabor Juhos
d2229cb1cc
rtl8366_smi: register the switch directly from the probe routine
...
SVN-Revision: 19202
2010-01-17 21:37:09 +00:00
Gabor Juhos
088ba7e1db
rtl8366_smi: use vlanmc name for all vlanconfig variables
...
SVN-Revision: 19201
2010-01-17 21:17:59 +00:00
Gabor Juhos
639212697d
rtl8366_smi: use vlan4k name for all vlan4kentry variables
...
SVN-Revision: 19200
2010-01-17 21:17:57 +00:00
Gabor Juhos
9cb11e2eef
rtl8366_smi: move memset into the rtl8366s_get_member_config function
...
SVN-Revision: 19199
2010-01-17 21:17:53 +00:00
Gabor Juhos
f55beb9e9b
rtl8366_smi: move memset into the rtl8366s_get_vlan_4k_entry function
...
SVN-Revision: 19198
2010-01-17 21:17:49 +00:00
Gabor Juhos
7f9b0eca90
rtl8366_smi: add vid parameter to the rtl8366s_get_vlan_4k_entry function
...
SVN-Revision: 19197
2010-01-17 21:17:46 +00:00
Gabor Juhos
a90792056c
ar71xx: upgrade rtl8366_smi driver
...
Thanks to Antti Seppälä.
Patch from https://forum.openwrt.org/viewtopic.php?pid=100150#p100150
SVN-Revision: 19196
2010-01-17 21:17:42 +00:00
Gabor Juhos
d8ace8978a
ar71xx: add NAPI statistics to the ag71xx driver
...
SVN-Revision: 19079
2010-01-08 20:22:55 +00:00
Jo-Philipp Wich
d8bd549d71
fix typo after r19054
...
SVN-Revision: 19059
2010-01-06 20:16:07 +00:00
Gabor Juhos
51c76750fc
ar71xx: add detailed interrupt statistics for the ag71xx driver
...
SVN-Revision: 19054
2010-01-06 15:24:01 +00:00
Gabor Juhos
46b572636b
ar71xx: update Kconfig of the ag71xx driver
...
SVN-Revision: 19032
2010-01-04 14:28:28 +00:00
Gabor Juhos
63a320c8f7
ar71xx: add dummy debugfs support for the ag71xx driver
...
SVN-Revision: 19031
2010-01-04 14:28:25 +00:00
Felix Fietkau
6a90a35f2b
Revert "ar71xx: move phy_connect call to ag71xx_open" (r18691) It's causing issues with switch drivers that register with swconfig and makes fixing those unnecessarily complicated. Fixes rtl8306 switch support on the WRT160NL.
...
SVN-Revision: 18789
2009-12-15 22:37:54 +00:00
Gabor Juhos
8956009fa6
ar71xx: fix NULL pointer dereference in the ethernet driver
...
SVN-Revision: 18755
2009-12-11 19:32:58 +00:00
Gabor Juhos
18885b425c
ar71xx: merge ag71xx specific patches
...
SVN-Revision: 18751
2009-12-11 16:41:40 +00:00
Gabor Juhos
d38fd20cb7
ar71xx: move mdio_bus reset code
...
SVN-Revision: 18749
2009-12-11 12:21:15 +00:00
Gabor Juhos
cc1b9a6046
ar71xx: add mdio bus driver for the rtl8366 switch
...
SVN-Revision: 18694
2009-12-08 10:29:35 +00:00
Gabor Juhos
18867965f7
ar71xx: add support for external mii_bus
...
SVN-Revision: 18692
2009-12-08 10:29:27 +00:00
Gabor Juhos
0e79007faf
ar71xx: move phy_connect call to ag71xx_open
...
SVN-Revision: 18691
2009-12-08 10:29:19 +00:00
Gabor Juhos
8a7e19e7db
ar71xx: change mii_bus name
...
SVN-Revision: 18619
2009-12-03 14:17:12 +00:00
Gabor Juhos
35dbf66787
ar71xx: override fifo_cfg[123] values on AR7240
...
SVN-Revision: 18614
2009-11-30 13:53:39 +00:00
Felix Fietkau
cb85dcb1a8
ar71xx: mask out reserved bits from the dma tx status in the ethernet driver
...
SVN-Revision: 18599
2009-11-29 13:38:03 +00:00
Gabor Juhos
21fc9ffe63
ar71xx: use soc specific divider for mdio clock
...
SVN-Revision: 18225
2009-10-30 12:26:22 +00:00
Gabor Juhos
f336f8748c
ar71xx: update mdio_reset code
...
SVN-Revision: 18224
2009-10-30 12:26:17 +00:00
Gabor Juhos
8458d7c73b
ar71xx: flush mii register writes
...
SVN-Revision: 17695
2009-09-23 17:44:08 +00:00
Gabor Juhos
0eba7ba4ff
ar71xx: don't use mac_base2 in the ag71xx driver
...
SVN-Revision: 17693
2009-09-23 17:44:02 +00:00
Gabor Juhos
6ed55b43d7
ar71xx: remove some extern directives in the ag71xx driver
...
SVN-Revision: 17692
2009-09-23 17:43:57 +00:00
Gabor Juhos
bbab2a48b4
ag71xx driver: rename ag71xx_debug module parameter
...
SVN-Revision: 16833
2009-07-13 17:45:25 +00:00
Gabor Juhos
d99dcbca9f
ag71xx driver: fix a typo
...
SVN-Revision: 16827
2009-07-13 12:20:02 +00:00
Gabor Juhos
a579511dbf
ag71xx driver: align descriptors on cache_line boundary
...
SVN-Revision: 16825
2009-07-13 11:40:10 +00:00
Gabor Juhos
82a084680a
ag71xx driver: store descriptor pointers in ag71xx_buf
...
SVN-Revision: 16824
2009-07-13 11:38:37 +00:00
Gabor Juhos
b1f5f1d3b0
ag71xx driver: descriptors always aligned on 4 byte boundary
...
SVN-Revision: 16818
2009-07-12 16:04:28 +00:00
Gabor Juhos
10357fc180
ag71xx driver: don't flush ddr on tx path
...
SVN-Revision: 16817
2009-07-12 16:02:27 +00:00
Gabor Juhos
a6e3c605bc
add AR7240 specific fixes for the ag71xx driver
...
SVN-Revision: 16737
2009-07-07 18:06:02 +00:00
Gabor Juhos
0fd8d0fad8
fix a bitmask in the ag71xx driver
...
SVN-Revision: 16658
2009-07-02 17:23:11 +00:00
Gabor Juhos
c2c496868e
add support for board specific PLL settings
...
SVN-Revision: 16133
2009-05-28 13:00:08 +00:00
Gabor Juhos
ed861cf5e9
use dev_name() instead of bus_id in ag71xx, ohci-ar71xx, ehci-ar71xx drivers
...
SVN-Revision: 15629
2009-05-05 19:21:39 +00:00
Gabor Juhos
432136fba6
select ar8216 support for the WRT400N (thanks to netprince)
...
SVN-Revision: 15427
2009-04-26 18:47:41 +00:00
Gabor Juhos
2242545e56
ag71xx driver: forgot to add a new file
...
SVN-Revision: 14657
2009-02-25 17:52:14 +00:00
Gabor Juhos
0e8a23d053
ag71xx driver: add a workaround for the ar8216 chip, until we get a suitable switch driver
...
SVN-Revision: 14655
2009-02-25 16:47:11 +00:00
Gabor Juhos
db0a4e48f9
micrel phy driver: change initcall level if compiled into the kernel
...
SVN-Revision: 14628
2009-02-22 20:52:12 +00:00
Gabor Juhos
df267a8e2e
ag71xx driver: add Kconfig option for enabling debug messages
...
SVN-Revision: 14517
2009-02-15 13:12:43 +00:00
Gabor Juhos
bc8dc1cdba
ag71xx driver: apply 2.6.28 specific patches
...
SVN-Revision: 14515
2009-02-15 07:57:29 +00:00
Gabor Juhos
e697d8c27f
ag71xx driver: fix a kernel crash caused by r14496
...
SVN-Revision: 14504
2009-02-13 20:36:39 +00:00
Gabor Juhos
39628cdd5f
ag71xx driver: fix return code of the napi poll routine, was broken since [13545] (patch by Ubiquiti Networks)
...
SVN-Revision: 14496
2009-02-13 11:16:57 +00:00
Gabor Juhos
4bcc027e97
ag71xx driver: update phy connecting code
...
SVN-Revision: 14495
2009-02-13 10:43:40 +00:00
Gabor Juhos
09e02ec5a7
remove netif schedule from the ag71xx driver
...
SVN-Revision: 14494
2009-02-13 08:58:59 +00:00
Gabor Juhos
e746170640
pull ethernet mac out of reset before registering the mdio_bus
...
SVN-Revision: 14486
2009-02-12 14:06:58 +00:00
Gabor Juhos
6bea544949
move random MAC address generation into the platform initialization code
...
SVN-Revision: 14204
2009-01-26 14:55:09 +00:00
Gabor Juhos
5ea042a30d
ag71xx driver: increase size of dma descriptors
...
SVN-Revision: 13561
2008-12-09 10:16:49 +00:00
Gabor Juhos
4b6e4d88a9
ag71xx driver: use same FIFO configuration for all SOC
...
SVN-Revision: 13560
2008-12-09 09:42:57 +00:00
Gabor Juhos
206ccdf4ae
ag71xx driver: add OOM handler
...
SVN-Revision: 13545
2008-12-08 13:15:12 +00:00
Gabor Juhos
2a680498b3
ag71xx driver: don't refill rx buffers twice
...
SVN-Revision: 13544
2008-12-08 08:31:25 +00:00
Gabor Juhos
d058a11ada
ag71xx driver: interrupt status is masked by hw, don't mask it again
...
SVN-Revision: 13543
2008-12-08 08:24:47 +00:00
Gabor Juhos
9d5a38adad
ag71xx driver: remove unused code
...
SVN-Revision: 13542
2008-12-08 08:22:56 +00:00
Gabor Juhos
c33682316e
ag71xx driver: NAPI poll cleanup
...
SVN-Revision: 13538
2008-12-07 09:46:41 +00:00
Gabor Juhos
398ff859da
ag71xx driver: handle TX timout
...
SVN-Revision: 13537
2008-12-07 06:43:02 +00:00
Gabor Juhos
d6382555f4
ag71xx driver: always use NAPI to transmit packets
...
SVN-Revision: 13529
2008-12-06 10:03:36 +00:00
Gabor Juhos
fcbd66fef1
ag71xx driver: improve poll routine
...
SVN-Revision: 13525
2008-12-05 20:08:00 +00:00
Gabor Juhos
a6be4564b7
ag71xx driver: always flush register writes
...
SVN-Revision: 13524
2008-12-05 19:42:02 +00:00
Gabor Juhos
9afbc8dd61
ag71xx driver: don't use dma_cache_wback_inv
...
SVN-Revision: 13523
2008-12-05 10:39:46 +00:00
Gabor Juhos
17cc4d671c
ag71xx driver: don't use CHECKSUM_UNNECCESARY ( closes #4161 )
...
SVN-Revision: 13522
2008-12-05 07:15:45 +00:00
Gabor Juhos
4c98f47b14
ag71xx driver: minor cleanup
...
SVN-Revision: 13496
2008-12-03 08:55:39 +00:00
Gabor Juhos
19a57a7794
ag71xx driver: fix RX_STATUS_OF bitmask, and add DMA status register bit descriptions
...
SVN-Revision: 13463
2008-12-02 08:49:22 +00:00
Gabor Juhos
2d3a12991c
ag71xx driver: add some debug stuff
...
SVN-Revision: 13462
2008-12-02 08:46:37 +00:00
Gabor Juhos
6d0181c4fb
ag71xx driver: reset DMA registers in hardware initialization
...
SVN-Revision: 13459
2008-12-01 21:21:36 +00:00
Gabor Juhos
4e61cbbf5e
ag71xx driver: fix a typo
...
SVN-Revision: 13445
2008-11-30 13:20:12 +00:00
Gabor Juhos
cbc625ee70
ag71xx driver: clean up hardware initialization
...
SVN-Revision: 13395
2008-11-28 14:08:53 +00:00
Gabor Juhos
f506e75eb0
ag71xx driver: add more register bit definitions
...
SVN-Revision: 13387
2008-11-27 22:40:34 +00:00
Gabor Juhos
bd20af97c2
ag71xx driver: unregister MDIO bus in module exit
...
SVN-Revision: 13385
2008-11-27 22:25:43 +00:00
Gabor Juhos
d841d5cfc7
ag71xx driver: use SoC specific PLL values
...
SVN-Revision: 13377
2008-11-27 18:54:58 +00:00
Gabor Juhos
c9ae01d3c8
ag71xx: introduce SoC specific fuctions for DDR flush and PLL setup
...
SVN-Revision: 13369
2008-11-26 20:00:41 +00:00
Gabor Juhos
0bb95d5754
ag71xx: dump additional registers in debug mode
...
SVN-Revision: 13361
2008-11-26 14:09:00 +00:00
Gabor Juhos
77cff176bf
ethernet driver preparation for gigabit support
...
SVN-Revision: 13340
2008-11-24 16:56:36 +00:00
Gabor Juhos
f0a9ec964b
define some bits of the ethernet controller's registers
...
SVN-Revision: 13201
2008-11-14 08:57:31 +00:00
Gabor Juhos
0c58b4ebbc
cosmetic changes in the ag71xx driver
...
SVN-Revision: 13193
2008-11-12 18:08:32 +00:00
Gabor Juhos
e0fc95a2ab
setup speed/duplex on RB-433/450 ( closes #4151 )
...
SVN-Revision: 13087
2008-10-31 11:50:47 +00:00
Gabor Juhos
a312d0611d
minor ethernet driver update
...
SVN-Revision: 12985
2008-10-15 18:31:21 +00:00
Gabor Juhos
6ce62982dd
ag71xx: add initial message level support
...
SVN-Revision: 12262
2008-08-10 09:18:42 +00:00
Gabor Juhos
970f41ad18
ethernet driver updates * new mii bus code, mac0 and mac1 can use the mac0's miii bus from now on * swap eth0 & eth1 on RB433/450
...
SVN-Revision: 11995
2008-07-29 18:22:38 +00:00
Gabor Juhos
029ef41bb1
fix the name of the micrel PHY driver
...
SVN-Revision: 11990
2008-07-29 12:46:05 +00:00
Gabor Juhos
7564923517
parse mac address on RouterBOARDs
...
SVN-Revision: 11910
2008-07-22 16:35:29 +00:00
Gabor Juhos
f529a37420
surprise :p
...
SVN-Revision: 11894
2008-07-21 17:08:14 +00:00