summaryrefslogtreecommitdiffstats
path: root/target/linux/ar71xx/files/drivers/net
Commit message (Collapse)AuthorAgeFilesLines
* ar71xx: ag71xx: show PHY interface mode in dmesgjuhosg2012-12-251-2/+24
| | | | | | Signed-off-by: Gabor Juhos <juhosg@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34880 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: ag71xx: fix mii_bus_dev sanity checkjuhosg2012-12-221-1/+1
| | | | | | | | | | The mii_bus device is not required if phy_mask is zero. The driver will use a fixed connection if it is not specified. Signed-off-by: Gabor Juhos <juhosg@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34849 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: ag71xx: don't start/stop built-in switch w/o mii_bus_devjuhosg2012-12-221-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34848 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: ag71xx: fix build_skb arguments for 3.6juhosg2012-10-271-1/+1
| | | | | | | | Also add a compatibility patch for 3.3 Signed-off-by: Gabor Juhos <juhosg@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33969 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: add dynamic MDIO clock calculationjuhosg2012-09-091-8/+64
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33342 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: improve MDIO busy wait codejuhosg2012-07-031-21/+30
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@32586 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: do not override the mdio clock for ar9330. the override value ↵nbd2012-05-281-2/+0
| | | | | | (obtained from an atheros driver) seems to break ethernet functionality git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31956 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: improve rx performance of the ethernet driver by using build_skb to ↵nbd2012-05-282-41/+49
| | | | | | deliver a cache-hot skb to the network stack git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31934 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: fix MII clock settings for various chips, improves ethernet ↵nbd2012-05-272-2/+16
| | | | | | stability on AR934x git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31925 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: remove AG71XX_RX_PKT_RESERVE, it is no longer necessary (found by ↵nbd2012-05-151-2/+1
| | | | | | Eric Dumazet) git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31736 3c298f89-4303-0410-b956-a3cf2f4a3e73
* kernel: rewrite the phy packet hook, put it in the network stack to avoid ↵nbd2012-05-061-26/+14
| | | | | | having to keep non-upstream ethernet driver changes git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31637 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: allow to disable link polling on unused PHYsjuhosg2012-04-291-4/+11
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31533 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: enable MIB counters in the built-in switch of the AR934xjuhosg2012-04-251-2/+11
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31476 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: move micrel PHY driver to the generic linux targetjuhosg2012-03-151-83/+0
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30946 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: ag71xx: fix ARP frame reception on AR934x switch portsjuhosg2012-03-131-11/+35
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30926 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: ag71xx: start aneg on switch PHYs after resetjuhosg2012-03-131-0/+10
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30925 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: ag71xx: poll PHY status of all available switch portsjuhosg2012-03-131-1/+2
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30924 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: ag71xx: allow to use port 5 of the AR934x built-in switchjuhosg2012-03-131-2/+6
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30923 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: ag71xx: fix get_port_link callbackjuhosg2012-03-071-2/+8
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30841 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: ag71xx: use the generic get_port_link implementationjuhosg2012-03-071-66/+0
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30840 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: ag71xx: keep VLAN tags if VLAN is not enabledjuhosg2012-03-011-4/+8
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30768 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: ag71xx: add BQL supportjuhosg2012-02-101-5/+13
| | | | | | | | It will be usable only from linux-3.3. Based on a patch by Dave Taht <dave.taht@bufferbloat.net> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30417 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: add preliminary support for 3.3juhosg2012-02-101-0/+294
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30410 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: merge files-3.2 to filesjuhosg2012-02-1010-0/+3895
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30405 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: move arch specific files to files-2.6.39juhosg2012-01-2210-3904/+0
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29867 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: include linux/module.h in the micrel phy driverjuhosg2012-01-221-0/+1
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29848 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: ag71xx: implement get_port_{link,stats} callbacksjuhosg2011-12-311-0/+142
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29626 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: set a reserved bit that resets to 1 when writing the address table ↵nbd2011-12-221-0/+2
| | | | | | control register on the ar7240 switch (should fix #10547) git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29598 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: ag71xx: fix switch port setup for AR934Xjuhosg2011-12-151-11/+41
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29554 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: ag71xx: allow to connect PHY4 to the CPU on AR934Xjuhosg2011-12-151-3/+7
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29553 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: ag71xx: setup switch interface mode on AR934Xjuhosg2011-12-151-0/+19
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29552 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: ag71xx: detect the built-in switch of the AR934X SoCsjuhosg2011-12-151-12/+36
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29551 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: introduce ar71xx_switch_datajuhosg2011-12-152-5/+8
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29549 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: ag71xx: check PHY IDs before accessing the switch registersjuhosg2011-12-151-9/+8
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29541 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: ag71xx: don't use port 4 of the switch, it is not connected on ar724xjuhosg2011-12-151-13/+25
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29540 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: ag71xx: nuke ar7240sw_initjuhosg2011-12-151-6/+1
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29539 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: ag71xx: add support for getting switch port link statusjuhosg2011-11-131-0/+67
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29017 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: ag71xx: remove unused mii_ctrl field from struct ag71xxjuhosg2011-11-132-19/+1
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29015 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: ag71xx: remove unused mii_cfg related functions and definesjuhosg2011-11-131-40/+0
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29014 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: set MII interface speed from the set_speed callbacksjuhosg2011-11-131-6/+0
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29013 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: rename set_pll callback to set_speed in ag71xx_platform_datajuhosg2011-11-131-2/+2
| | | | | | Also rename the corresponding callback functions. git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29012 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: ag71xx: remove MII interface setup codejuhosg2011-11-132-15/+0
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29011 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: ag71xx: use fixed link parameters if the mii bus is not registeredjuhosg2011-11-121-0/+4
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@28977 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: remove dead codenbd2011-11-081-15/+0
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@28851 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: on ar7240, exclude ports from their own port vlan destination masknbd2011-11-081-2/+1
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@28850 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ag71xx: close a race between the phy state machine and link statejogo2011-10-081-3/+7
| | | | | | | | | | | 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. git-svn-id: svn://svn.openwrt.org/openwrt/trunk@28380 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: fix register range check for DMA stuck checks (thx, Frédéric Moulins)nbd2011-09-111-1/+1
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@28213 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: add some code to detect DMA stuck conditions on ar7240nbd2011-08-132-1/+33
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27975 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: on ar724x only reset the link status in the restart handler, the ↵nbd2011-08-131-0/+6
| | | | | | fast reset takes care of DMA stuck issues git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27973 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: fix ethernet FIFO state corruption on ar7240nbd2011-08-042-20/+61
| | | | | | | | | 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 git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27896 3c298f89-4303-0410-b956-a3cf2f4a3e73