Gabor Juhos
5503686f69
generic: ar8216: add ar8xxx_start helper
...
Move switch starting code into a separate function.
This makes it usable from other places.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 36049
2013-03-15 16:06:25 +00:00
Gabor Juhos
7ba6a8d8e8
generic: ar8216: add OF configuration support for AR8327
...
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 36047
2013-03-15 15:50:08 +00:00
Gabor Juhos
ee12b1b7d5
generic: ar8216: separate platform_data based AR8327 code
...
Move platform_data specific configuration code
into a separate routine. Do it in preparation
for the upcoming OF support.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 36046
2013-03-15 15:50:05 +00:00
Gabor Juhos
d88f66ae21
generic: ar8216: don't use platform_data in ar8327_init_port
...
Fetch the PORT_STATUS values in ar8327_hw_init and
store those in a private data stucture for later use.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 36045
2013-03-15 15:50:02 +00:00
Gabor Juhos
9d3f70d503
generic: ar8216: move the ar8327_get_port_init_status function
...
It will be used in ar8327_probe routine.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 36044
2013-03-15 15:50:00 +00:00
Gabor Juhos
17d735fc46
generic: ar8216: simplify and rename ar8327_config_port
...
Return with the PORT_STATUS register value instead of
writing that directly into the corresponding register.
Also rename the function to ar8327_get_port_init_status.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 36043
2013-03-15 15:49:57 +00:00
Gabor Juhos
3fee1bddbe
generic: ar8216: remove superfluous pdata checks
...
The presence of the platform data is already verified in
ar8327_hw_init, and the driver does not start without that
anyway.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 36042
2013-03-15 15:49:55 +00:00
Jonas Gorski
3010a0b616
generic: b53: clear SM_SW_FWD_MODE unconditionally when enabling VLAN
...
Setting this bit stops BCM53125 (bgmac actually) from receiving any
packets. This bit is cleared conditionally in b53_switch_reset and it
seems the same is done in bcmrobo.c which never sets that bit again.
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
SVN-Revision: 35723
2013-02-21 11:45:38 +00:00
Jonas Gorski
23e71c56ba
generic: b53: remove empty spaces
...
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
SVN-Revision: 35722
2013-02-21 11:45:36 +00:00
Gabor Juhos
451dd745bd
generic: ar8216: cleanup function/variable names
...
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 35642
2013-02-17 12:48:25 +00:00
Gabor Juhos
51996304c4
generic: ar8216: rename struct ar8216_priv to ar8xxx_priv
...
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 35641
2013-02-17 12:48:23 +00:00
Gabor Juhos
f35c369710
generic: ar8216: move PHY4 RGMII workaround code out of the loop
...
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 35603
2013-02-14 14:55:40 +00:00
Gabor Juhos
d64888ffc0
generic: ar8216: register the switch from the probe routine
...
Currently the switch gets registered when an ethernet
driver connects to a PHY of the switch. This method does
not work with the ethernet drivers which are connecting
to the PHY from their ndo_open callback. With those
ethernet drivers, the driver tries to register the switch
each time when the etherned device is opened and this causes
a deadlock.
Move the switch registration into the probe routine to fix
this problem.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 35602
2013-02-14 14:01:24 +00:00
Gabor Juhos
9525a075c1
ar8216: remove superfluous code from ar8216_config_init
...
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 35562
2013-02-11 16:57:31 +00:00
Gabor Juhos
9c86d268eb
generic: ar8216: don't use ethernet device name in register_switch
...
The switches are accessed via an MDIO bus. Set the alias
to the name of the MDIO bus, and show that in the message
along with the name of the switch switch device.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 35560
2013-02-11 16:11:31 +00:00
Gabor Juhos
3f3eba88f6
generic: ar8216: reuse the private data from ar8216_probe
...
The private data of the switch is already
allocated in ar8216_priv, assign that to
each PHY on the same MDIO bus. Also remove
the redundant code from ar8216_config_init.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 35559
2013-02-11 16:11:30 +00:00
Gabor Juhos
1afb759b35
generic: ar8216: use phydev instead of pdev everywhere
...
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 35555
2013-02-11 13:25:43 +00:00
Gabor Juhos
0b1fe07e8e
generic: ar8216: use pr_* macros for kernel messages
...
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 35554
2013-02-11 13:14:00 +00:00
Gabor Juhos
eea297884e
generic: ar8216: fix PHY features setup
...
Sujith says:
This commit breaks the WAN port on my AP96 - DHCP fails.
Reverting it fixes the issue.
commit b67cc3a0cdd02973610d4d5a63226d1c44841e94
Author: juhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Date: Fri Feb 8 09:13:18 2013 +0000
generic: ar8216: simplify phy features setup
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@355183c298f89-4303-0410-b956-a3cf2f4a3e73
This change restores the previous behaviour and moves
the code into the ar8216_probe function.
Reported-by: Sujith Manoharan <sujith@msujith.org>
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Tested-by: Sujith Manoharan <sujith@msujith.org>
SVN-Revision: 35549
2013-02-11 10:05:35 +00:00
Gabor Juhos
617076c613
generic: ar8216: add ar8xxx_probe_switch helper
...
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 35547
2013-02-10 19:02:01 +00:00
Gabor Juhos
98b13e39ac
generic: ar8216: rename ar8xxx_mib_cleanup to ar8xxx_mib_stop
...
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 35546
2013-02-10 18:42:08 +00:00
Gabor Juhos
f97170a720
generic: ar8216: free mib counters from ar8xxx_free
...
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 35545
2013-02-10 18:42:07 +00:00
Gabor Juhos
7924e517af
generic: ar8216: add ar8xxx_free helper
...
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 35544
2013-02-10 18:42:05 +00:00
Gabor Juhos
77b3c551c4
generic: ar8216: add ar8xxx_create{,mii} helpers
...
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 35543
2013-02-10 18:42:04 +00:00
Gabor Juhos
5f70b1db2a
generic: ar8216: remove redundant phy address check
...
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 35542
2013-02-10 18:38:12 +00:00
Gabor Juhos
14fd37258b
generic: ar8216: only set phy_ptr if packet mangling is used
...
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 35541
2013-02-10 18:38:10 +00:00
Gabor Juhos
393163b098
generic: ar8216: add defines for the AR8316 POSTRIP register
...
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 35539
2013-02-10 13:18:48 +00:00
Gabor Juhos
5ed480598d
generic: ar8216: don't probe the chip multiple times
...
It is only needed when the private data is allocated.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 35538
2013-02-10 13:05:15 +00:00
Gabor Juhos
774da6c7a4
generic: ar8216: add sanity check to ar8216_probe
...
Verify that the mdio bus has PHY devices with
a supported PHY ID at address 0-4.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 35537
2013-02-10 13:05:14 +00:00
Gabor Juhos
4720c75cf7
generic: ar8216: skip probe on unused PHY addresses
...
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 35536
2013-02-10 13:05:12 +00:00
Jonas Gorski
eedc3554fe
generic: b53: fix reverted error check in probe
...
b53_switch_detect returns value returned by b53_read8, which is 0 for
success. So fail (and return error) only if b53_switch_detect returned
something else than 0. This fixes supported and advertising being zeros
for MDIO access.
Cc: Jonas Gorski <jogo@openwrt.org>
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
SVN-Revision: 35534
2013-02-10 12:31:36 +00:00
Gabor Juhos
de123c4409
generic: ar8216: move sleep out of the loop
...
It is enough to sleep once after ANEG is enabled on
all PHYs. This reduces boot time on boards with
AR8316 switch.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 35532
2013-02-09 13:26:04 +00:00
Gabor Juhos
aa04441904
generic: ar8216: simplify phy features setup
...
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 35518
2013-02-08 09:13:18 +00:00
Gabor Juhos
9c1f95a416
generic: ar8216: don't use mdio bus specific functions in ar8216_id_chip
...
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 35517
2013-02-08 09:13:14 +00:00
Gabor Juhos
5393efc0c7
generic: ar8216: use inline function to convert swdev to ar8216
...
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 35514
2013-02-07 15:18:36 +00:00
Gabor Juhos
b87a1c757d
generic: ar8216: add mii_bus field to struct ar8216_priv
...
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 35513
2013-02-07 15:18:35 +00:00
Gabor Juhos
c130a3feac
generic: mvswitch: add detach callback
...
Use the detach callback to disable packet mangling
to avoid possible NULL pointer dereference.
Compile tested only.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 35512
2013-02-07 15:18:34 +00:00
Gabor Juhos
4be8c22e74
generic: ar8216: add detach callback
...
The current code uses the 'remove' callback to disable
packet mangle on the underlying ethernet device.
However the attached_dev is always NULL when the
'remove' callback is called by phylib, and this causes
NULL pointer dereference, like this:
[ 475.300000] CPU 0 Unable to handle kernel paging request at virtual address 000000f0, epc == 801cdcf0, ra == 801c7eac
[ 475.310000] Oops[#1 ]:
[ 475.310000] Cpu 0
[ 475.310000] $ 0 : 00000000 00000000 00000000 00000001
[ 475.310000] $ 4 : 828dde00 00000005 828dde08 ffffffff
[ 475.310000] $ 8 : 00380081 00380081 82902a40 00000001
[ 475.310000] $12 : 00000037 00370081 00000001 00000000
[ 475.310000] $16 : 82865000 828dde08 828dde00 00000001
[ 475.310000] $20 : 00000080 00460000 00000002 77151448
[ 475.310000] $24 : 00000000 801abfd4
[ 475.310000] $28 : 82cc2000 82cc3d58 0053c3c4 801c7eac
[ 475.310000] Hi : 00000007
[ 475.310000] Lo : 00000004
[ 475.310000] epc : 801cdcf0 ar8216_remove+0x1c/0x94
[ 475.310000] Tainted: G O
[ 475.310000] ra : 801c7eac phy_remove+0x4c/0x6c
[ 475.310000] Status: 1000cc03 KERNEL EXL IE
[ 475.310000] Cause : 00800008
[ 475.310000] BadVA : 000000f0
[ 475.310000] PrId : 00019750 (MIPS 74Kc)
[ 475.310000] Modules linked in: ath79_wdt ledtrig_usbdev ledtrig_netdev ag71xx(-) nf_nat_irc nf_nat_ftp nf_conntrack_irc nf_conntrack_ft
p ipt_MASQUERADE iptable_nat xt_nat nf_nat_ipv4 nf_nat pppoext_conntrack xt_CT iptable_raw xt_state nf_conntrack_ipv4 nf_defrag_ipv4 nf_co
nntrack ehci_hcd pppox ipt_REJECT xt_TCPMSS xt_LOG xt_comment xt_multiport xt_mac xt_limit iptable_mangle iptable_filter ip_tables xt_tcpu
dp x_tables ppp_async ppp_generic slhc ath9k(O) ath9k_common(O) ath9k_hw(O) ath(O) mac80211(O) usbcore usb_common nls_base crc_ccitt cfg80
211(O) compat(O) arc4 crypto_blkcipher aead ledtrig_timer ledtrig_default_on leds_gpio gpio_button_hotplug(O)
[ 475.310000] Process rmmod (pid: 1160, threadinfo=82cc2000, task=83969920, tls=7747c440)
[ 475.310000] Stack : 828dde08 802f5004 802f4680 00000001 828ddf70 801c7eac 802f4680 801ad6d8
82902940 00000000 828dde08 802f5004 802f4680 801ad770 00000002 80269d94
00000000 00000001 00000080 828dde08 828dde3c 801ad7fc 82902940 00000000
83859100 00000000 8384dd2c 8384dd2c 828dde08 801ad230 82902800 00000000
00000000 001a0041 828dde08 828dde08 802e80e8 801aac44 00000080 00460000
...
[ 475.310000] Call Trace:
[ 475.310000] [<801cdcf0>] ar8216_remove+0x1c/0x94
[ 475.310000] [<801c7eac>] phy_remove+0x4c/0x6c
[ 475.310000] [<801ad770>] __device_release_driver+0x6c/0xd0
[ 475.310000] [<801ad7fc>] device_release_driver+0x28/0x40
[ 475.310000] [<801ad230>] bus_remove_device+0xd8/0x10c
[ 475.310000] [<801aac44>] device_del+0x110/0x170
[ 475.310000] [<801aacb8>] device_unregister+0x14/0x28
[ 475.310000] [<801c92b0>] mdiobus_unregister+0x4c/0x70
[ 475.310000] [<82913060>] ag71xx_remove_ar8216_header+0xdc/0x5a8 [ag71xx]
[ 475.310000]
[ 475.310000]
Code: 1200001c 8c82017c ac800128 <8c4500f0> 3c03ffdf 3463ffff 00a31824 ac4300f0 ac4000e0
Add a detach callback and disable packet mangling in
that to fix the problem.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 35511
2013-02-07 15:18:32 +00:00
Gabor Juhos
395d0bdc1f
generic: ar8216: clear driver specific data pointer in phy_device
...
This is needed to avoid a NULL pointer dereference:
[ 19.525270] Unable to handle kernel paging request for data at address 0x00000018
[ 19.532750] Faulting instruction address: 0xc016e104
[ 19.537714] Oops: Kernel access of bad area, sig: 11 [#1 ]
[ 19.543102] P1010 RDB
[ 19.545365] Modules linked in: booke_wdt nf_nat_irc nf_nat_ftp nf_conntrack_irc nf_conntrack_ftp ipt_MASQUERADE iptable_nat xt_nat d
[ 19.590725] NIP: c016e104 LR: c0171490 CTR: 00000000
[ 19.595681] REGS: c4bc3c10 TRAP: 0300 Tainted: G W O (3.7.6)
[ 19.602284] MSR: 00029000 <CE,EE,ME> CR: 82002022 XER: 20000000
[ 19.608381] DEAR: 00000018, ESR: 00000000
[ 19.612382] TASK = c4cd9c80[2070] 'ifconfig' THREAD: c4bc2000
GPR00: 00000001 c4bc3cc0 c4cd9c80 00000000 c7811000 00000000 00000000 0000e8ec
GPR08: 0000e8eb 00000000 00029000 00000001 00000000 100801f8 1005c51c 1005c514
GPR16: 1005c468 1005c54c 1005c258 1005c530 10060000 00000000 c7811000 ffff8914
GPR24: c7815030 c793e400 10063adb 00000000 c7811000 c045594c c78ca600 c7815000
[ 19.646352] NIP [c016e104] register_switch+0x98/0x2d0
[ 19.651397] LR [c0171490] ar8216_config_init+0x2d8/0x3f4
[ 19.656697] Call Trace:
[ 19.659138] [c4bc3cc0] [c0170490] ar8216_mii_read+0x64/0xc4 (unreliable)
[ 19.665835] [c4bc3d00] [c0171490] ar8216_config_init+0x2d8/0x3f4
[ 19.671835] [c4bc3d20] [c016cf8c] phy_init_hw+0x50/0x6c
[ 19.677053] [c4bc3d30] [c016d078] phy_attach_direct+0xd0/0xf8
[ 19.682793] [c4bc3d50] [c016d154] phy_connect_direct+0x24/0x68
[ 19.688621] [c4bc3d70] [c0183b70] of_phy_connect+0x48/0x6c
[ 19.694102] [c4bc3d90] [c0175aac] gfar_enet_open+0x254/0x3d8
[ 19.699755] [c4bc3db0] [c019acc4] __dev_open+0xc0/0x120
[ 19.704975] [c4bc3dd0] [c019af98] __dev_change_flags+0xd4/0x15c
[ 19.710888] [c4bc3df0] [c019b0d4] dev_change_flags+0x1c/0x60
[ 19.716544] [c4bc3e10] [c01ebb94] devinet_ioctl+0x290/0x690
[ 19.722111] [c4bc3e70] [c01ec8d4] inet_ioctl+0x88/0xbc
[ 19.727245] [c4bc3e80] [c0186b98] sock_ioctl+0x258/0x294
[ 19.732551] [c4bc3ea0] [c009c00c] do_vfs_ioctl+0x6a4/0x728
[ 19.738031] [c4bc3f10] [c009c0d4] sys_ioctl+0x44/0x70
[ 19.743077] [c4bc3f40] [c000c74c] ret_from_syscall+0x0/0x3c
[ 19.748646] --- Exception: c01 at 0x48091b34
[ 19.748646] LR = 0x480e4b64
[ 19.756033] Instruction dump:
[ 19.758991] 2f830000 907f0050 3860fff4 419e021c 837f0000 38000000 901f0038 901f0040
[ 19.766744] 901f003c 7f600034 5400d97e 0f000000 <801b0018> 2f800000 40be0010 801b001c
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 35497
2013-02-05 08:39:26 +00:00
Gabor Juhos
2e7f38c243
generic: ar8216: unregister switch on error path
...
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 35496
2013-02-05 08:39:24 +00:00
Hauke Mehrtens
a9175c90cf
kernel: b53: the b53 spi driver depends on spi
...
SVN-Revision: 35340
2013-01-27 21:39:53 +00:00
Hauke Mehrtens
721bf97863
kernel: remove __devinit, __devexit and __devexit_p for kernel 3.8
...
These attributes where removed with kernel 3.8 and are now causing compile errors.
SVN-Revision: 35328
2013-01-27 17:48:48 +00:00
Jonas Gorski
bb0118c66f
generic: add b53 swconfig switch driver
...
Add swconfig switch driver for Broadcom BCM53XX switch chips. Supports
switches connected through MDIO, SPI or memory mapped registers, and
supports BCM5325, BCM539x, BCM531x5 and the BCM63XX internal switch
chips.
Tested are BCM5325 trough MDIO, BCM53115 through SPI, and BCM6328.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 35305
2013-01-23 10:12:33 +00:00
Jonas Gorski
c3eeff807f
generic: rtl8366_smi: only assign pvid if no pvid was set yet
...
Only assign a pvid if the current pvid is 0. Fixes using mixed tagged
and untagged traffic on a port and the untagged vlan isn't the last one
of which the port is a member.
Tested on RTL8366S and RTL8367R.
Fixes #8501 .
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 35227
2013-01-18 15:19:11 +00:00
Gabor Juhos
d4b4c7d102
generic: ar8216: add sgmii_delay_en field to ar8327_platform_data
...
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 34881
2012-12-25 18:45:31 +00:00
Gabor Juhos
c3cb63661f
generic: ar8216: don't use 0 as default VID on AR8327
...
VID0 is reserved for priority-tagged packets.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 34862
2012-12-22 18:30:04 +00:00
Gabor Juhos
3931c9524c
generic: ar8316: allow to configure port 6 via platform data on AR8327
...
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 34847
2012-12-22 12:12:37 +00:00
Gabor Juhos
a0b31f97bb
generic: ar8216: rename cpuport_cfg to port0_cfg in ar8327_platform_data
...
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 34846
2012-12-22 12:12:35 +00:00
John Crispin
123343d424
make to rtl8366_smi of binding use gpio_is_valid
...
SVN-Revision: 34816
2012-12-21 13:47:14 +00:00
Gabor Juhos
d153bdbba9
generic: rtl836x: fix compiler warnings
...
CC drivers/net/phy/rtl8366rb.o
In file included from drivers/net/phy/rtl8366s.c:16:0:
include/linux/of_platform.h:106:13: warning: 'struct device' declared inside parameter list [enabled by default]
include/linux/of_platform.h:106:13: warning: its scope is only this definition or declaration, which is probably not what you want [enabled by default]
drivers/net/phy/rtl8366s.c: In function 'rtl8366s_probe':
drivers/net/phy/rtl8366s.c:1094:2: warning: label 'err_out' defined but not used [-Wunused-label]
drivers/net/phy/rtl8366s.c:1055:32: warning: unused variable 'pdata'[-Wunused-variable]
CC drivers/net/phy/rtl8366rb.o
In file included from drivers/net/phy/rtl8366rb.c:17:0:
include/linux/of_platform.h:106:13: warning: 'struct device' declared inside parameter list [enabled by default]
include/linux/of_platform.h:106:13: warning: its scope is only this definition or declaration, which is probably not what you want [enabled by default]
drivers/net/phy/rtl8366rb.c: In function 'rtl8366rb_probe':
drivers/net/phy/rtl8366rb.c:1214:2: warning: label 'err_out' defined but not used [-Wunused-label]
drivers/net/phy/rtl8366rb.c:1175:32: warning: unused variable 'pdata'[-Wunused-variable]
CC drivers/net/phy/rtl8367.o
In file included from drivers/net/phy/rtl8367.c:15:0:
include/linux/of_platform.h:106:13: warning: 'struct device' declared inside parameter list [enabled by default]
include/linux/of_platform.h:106:13: warning: its scope is only this definition or declaration, which is probably not what you want [enabled by default]
drivers/net/phy/rtl8367.c: In function 'rtl8367_probe':
drivers/net/phy/rtl8367.c:1712:2: warning: label 'err_out' defined but not used [-Wunused-label]
drivers/net/phy/rtl8367.c:1677:32: warning: unused variable 'pdata' [-Wunused-variable]
CC drivers/net/phy/rtl8367b.o
In file included from drivers/net/phy/rtl8367b.c:15:0:
include/linux/of_platform.h:106:13: warning: 'struct device' declared inside parameter list [enabled by default]
include/linux/of_platform.h:106:13: warning: its scope is only this definition or declaration, which is probably not what you want [enabled by default]
drivers/net/phy/rtl8367b.c: In function 'rtl8367b_probe':
drivers/net/phy/rtl8367b.c:1494:2: warning: label 'err_out' defined but not used [-Wunused-label]
drivers/net/phy/rtl8367b.c:1459:32: warning: unused variable 'pdata' [-Wunused-variable]
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 34731
2012-12-17 13:02:18 +00:00
Jonas Gorski
eba8cccd88
linux: generic: rtl836*: fix compilation with !CONFIG_OF
...
fixes the following errors caused by r34682:
CC [M] drivers/net/phy/rtl8366_smi.o
In file included from drivers/net/phy/rtl8366_smi.c:26:0:
drivers/net/phy/rtl8366_smi.h:149:46: warning: 'struct platform_device' declared inside parameter list [enabled by default]
drivers/net/phy/rtl8366_smi.h:149:46: warning: its scope is only this definition or declaration, which is probably not what you want [enabled by default]
drivers/net/phy/rtl8366_smi.c:1398:65: warning: 'struct platform_device' declared inside parameter list [enabled by default]
drivers/net/phy/rtl8366_smi.c: In function 'rtl8366_smi_probe_plat':
drivers/net/phy/rtl8366_smi.c:1400:44: error: dereferencing pointer to incomplete type
drivers/net/phy/rtl8366_smi.c:1402:11: error: dereferencing pointer to incomplete type
drivers/net/phy/rtl8366_smi.c:1403:16: error: dereferencing pointer to incomplete type
drivers/net/phy/rtl8366_smi.c: At top level:
drivers/net/phy/rtl8366_smi.c:1415:46: warning: 'struct platform_device' declared inside parameter list [enabled by default]
drivers/net/phy/rtl8366_smi.c:1415:21: error: conflicting types for 'rtl8366_smi_probe'
drivers/net/phy/rtl8366_smi.h:149:21: note: previous declaration of 'rtl8366_smi_probe' was here
drivers/net/phy/rtl8366_smi.c: In function 'rtl8366_smi_probe':
drivers/net/phy/rtl8366_smi.c:1420:31: error: dereferencing pointer to incomplete type
drivers/net/phy/rtl8366_smi.c:1424:10: error: dereferencing pointer to incomplete type
drivers/net/phy/rtl8366_smi.c:1425:3: warning: passing argument 1 of 'rtl8366_smi_probe_of' from incompatible pointer type [enabled by default]
drivers/net/phy/rtl8366_smi.c:1392:19: note: expected 'struct device_node *' but argument is of type 'struct platform_device *'
drivers/net/phy/rtl8366_smi.c:1427:3: warning: passing argument 1 of 'rtl8366_smi_probe_plat' from incompatible pointer type [enabled by default]
drivers/net/phy/rtl8366_smi.c:1398:5: note: expected 'struct platform_device *' but argument is of type 'struct platform_device *'
drivers/net/phy/rtl8366_smi.c: At top level:
drivers/net/phy/rtl8366_smi.c:1438:1: error: conflicting types for 'rtl8366_smi_probe'
drivers/net/phy/rtl8366_smi.h:149:21: note: previous declaration of 'rtl8366_smi_probe' was here
make[7]: *** [drivers/net/phy/rtl8366_smi.o] Error 1
make[6]: *** [drivers/net/phy] Error 2
make[5]: *** [drivers/net] Error 2
make[4]: *** [drivers] Error 2
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 34703
2012-12-15 13:32:02 +00:00
John Crispin
d8678644f9
make rtl8366 driver OF capable
...
SVN-Revision: 34682
2012-12-15 01:59:08 +00:00
Gabor Juhos
49d4b5581d
generic: ar8216: set delay values for SGMII mode on AR8327
...
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 34315
2012-11-23 20:55:26 +00:00
Gabor Juhos
3205b52d1c
generic: ar8216: introduce ar8216_mib_op helper
...
The ar8216_mib_{capture,flush} functions are similar.
Move the common code into a helper and use that from
the original functions.
This change also fixes a lockdep warning in
ar8216_mib_flush.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 34297
2012-11-22 10:33:03 +00:00
Gabor Juhos
10d30f2d2d
swconfig: make it compatible with 3.7
...
swconfig does not compile with 3.7 because
struct netlink_notify->pid has been renamed to
struct netlink_notify->portid
and
struct genl_info->snd_pid has been renamed to
struct genl_info->snd_portid
Use the new names and add compatibility patches
to 3.3 and 3.6.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 34288
2012-11-21 17:38:11 +00:00
Gabor Juhos
2a792f32b5
generic: ar8216: fix port number check in 'ar8xxx_mib_work_func'
...
Also add a WARN_ON to 'ar8216_mib_fetch_port_stat'
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 34283
2012-11-20 20:40:04 +00:00
Gabor Juhos
258b2f2dc2
generic: ar8216: remove an unblanced mutex_unlock call
...
Fixes the following warning:
[ 94.080000]
[ 94.080000] =====================================
[ 94.080000] [ BUG: bad unlock balance detected! ]
[ 94.080000] 3.3.8 #2 Tainted: G O
[ 94.080000] -------------------------------------
[ 94.080000] swconfig/1220 is trying to release lock (&priv->mib_lock) at:
[ 94.080000] [<801df8f4>] ar8216_sw_get_port_mib+0x138/0x16c
[ 94.080000] but there are no more locks to release!
[ 94.080000]
[ 94.080000] other info that might help us debug this:
[ 94.080000] 2 locks held by swconfig/1220:
[ 94.080000] #0 : (genl_mutex){+.+...}, at: [<80222430>] genl_rcv+0x14/0x34
[ 94.080000] #1 : (&dev->sw_mutex){+.+...}, at: [<801da018>] swconfig_get_dev+0x88/0xb4
[ 94.080000]
[ 94.080000] stack backtrace:
[ 94.080000] Call Trace:
[ 94.080000] [<8028dc58>] dump_stack+0x8/0x34
[ 94.080000] [<800a5128>] print_unlock_inbalance_bug+0xe0/0xfc
[ 94.080000] [<800a82c0>] lock_release+0x18c/0x1c8
[ 94.080000] [<80292074>] __mutex_unlock_slowpath+0xd8/0x17c
[ 94.080000] [<801df8f4>] ar8216_sw_get_port_mib+0x138/0x16c
[ 94.080000] [<801db688>] swconfig_get_attr+0xbc/0x394
[ 94.080000] [<8022261c>] genl_rcv_msg+0x1cc/0x214
[ 94.080000] [<80221a18>] netlink_rcv_skb+0x6c/0xe8
[ 94.080000] [<80222440>] genl_rcv+0x24/0x34
[ 94.080000] [<80221370>] netlink_unicast+0x15c/0x22c
[ 94.080000] [<8022175c>] netlink_sendmsg+0x240/0x2d0
[ 94.080000] [<801ef544>] sock_sendmsg+0x84/0x9c
[ 94.080000] [<801f0648>] __sys_sendmsg+0x1cc/0x270
[ 94.080000] [<801f207c>] sys_sendmsg+0x48/0x7c
[ 94.080000] [<8006ad78>] stack_done+0x20/0x40
[ 94.080000]
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 34282
2012-11-20 20:40:03 +00:00
Gabor Juhos
82b57b0c28
generic: ar8216: add missing locking calls
...
Fixes the following lockdep warning:
[ 19.160000] ------------[ cut here ]------------
[ 19.160000] WARNING: at drivers/net/phy/ar8216.c:322 ar8216_rmw+0x54/0xa4()
[ 19.170000] Modules linked in: nf_defrag_ipv4 nf_conntrack ehci_hcd
sd_mod pppox ipt_REJECT xt_TCPMSS ipt_LOG xt_comment xt_multip
ort xt_mac xt_limit iptable_mangle iptable_filter ip_tables xt_tcpudp
x_tables ppp_async ppp_generic slhc ath9k(O) ath9k_common(O) at
h9k_hw(O) ath(O) mac80211(O) usbcore usb_common scsi_mod nls_base crc7
crc_itu_t crc_ccitt cfg80211(O) compat(O) arc4 aes_generic cry
pto_blkcipher cryptomgr aead crypto_hash crypto_algapi ledtrig_timer
ledtrig_default_on leds_gpio gpio_button_hotplug(O)
[ 19.210000] Call Trace:
[ 19.220000] [<8028dc38>] dump_stack+0x8/0x34
[ 19.220000] [<80072da0>] warn_slowpath_common+0x78/0xa4
[ 19.230000] [<80072de4>] warn_slowpath_null+0x18/0x24
[ 19.230000] [<801de820>] ar8216_rmw+0x54/0xa4
[ 19.240000] [<801df460>] ar8216_mib_capture+0x70/0xd0
[ 19.240000] [<801df944>] ar8xxx_mib_work_func+0x34/0x98
[ 19.250000] [<80089a7c>] process_one_work+0x28c/0x460
[ 19.250000] [<8008a630>] worker_thread+0x22c/0x334
[ 19.260000] [<8008e544>] kthread+0x88/0x90
[ 19.260000] [<80065020>] kernel_thread_helper+0x10/0x18
[ 19.270000]
[ 19.270000] ---[ end trace 22e9d696adfa6a08 ]---
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 34281
2012-11-20 20:40:00 +00:00
Gabor Juhos
863657d040
generic: ar8216: add MIB counter support for the AR8216 switch as well
...
Thanks to Jonas Gorski for the reference URL.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 34245
2012-11-18 16:21:00 +00:00
Gabor Juhos
98f30aac8e
generic: ar8216: rename AR8216_*_STATS_* defines
...
The names are misleading, those are only valid from
AR8236. The AR8216 chip uses different offsets.
Thanks to Jonas Gorski for the report.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 34244
2012-11-18 16:20:56 +00:00
Gabor Juhos
9abd8cd004
generic ar8216: allow to read/reset MIB counters via swconfig
...
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 34243
2012-11-18 12:26:35 +00:00
Gabor Juhos
4b17323b51
generic: ar8216: use dynamically allocated private data in ar8216_probe
...
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 34242
2012-11-18 12:26:34 +00:00
Gabor Juhos
c92998f9d9
generic: use mtd_read in myloader parser
...
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 33952
2012-10-27 07:57:59 +00:00
Gabor Juhos
ee9376d153
generic: swconfig: use led_set_brightness in LED control code
...
The 'led_brightness_set' function has
been renamed to 'led_set_brightness'
in recent ernels. Use the new name and
add a compatibility patch for 3.3.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 33946
2012-10-26 18:58:18 +00:00
Florian Fainelli
4afb91a12f
swconfig: get rid of the NLA_PUT_* macros
...
Upstream kernel 3.6 has removed this usage, use the plain functions directly as
intended.
SVN-Revision: 33906
2012-10-24 13:05:04 +00:00
Gabor Juhos
0045449b1b
generic: add driver for the the RTL8367R{B,-VB} switches
...
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 33839
2012-10-18 07:22:56 +00:00
John Crispin
ba6751058b
gpiodev/gpioctl RIP
...
SVN-Revision: 33725
2012-10-11 11:58:09 +00:00
John Crispin
5f8ffb8873
fixes gpio_dev un/reload balancing
...
Signed-off-by: SHI Bin <shibin@ctsing.com>
SVN-Revision: 33183
2012-08-14 12:32:11 +00:00
Gabor Juhos
5dd996bc2a
generic: rtl8366_smi: increase delay after switch hw reset
...
SVN-Revision: 33077
2012-08-10 06:32:00 +00:00
Gabor Juhos
e2782eae8e
generic: rtl836x: add hw_reset field to struct rtl8366_smi
...
It will be used to start/stop the switch if that is
supported by the given board.
SVN-Revision: 32943
2012-08-02 09:54:21 +00:00
Gabor Juhos
614ca3cc9e
generic: rtl8366_smi: use __rtl8366_smi_cleanup instead of gpio_free calls
...
SVN-Revision: 32942
2012-08-02 09:54:13 +00:00
John Crispin
101766fb00
clean up pwm patches and drivers
...
SVN-Revision: 32901
2012-07-28 20:47:08 +00:00
Gabor Juhos
6b8392eb12
generic: ar8216: start aneg on each PHY of the AR8327
...
SVN-Revision: 32604
2012-07-05 08:26:39 +00:00
Gabor Juhos
b934fa2f16
generic: ar8216: allow to configure AR8327 LEDs via platform data
...
SVN-Revision: 32456
2012-06-19 10:44:16 +00:00
Gabor Juhos
9e02593b70
generic: ar8216: add revision specific PHY fixups for AR8327
...
SVN-Revision: 32000
2012-05-29 16:39:27 +00:00
Gabor Juhos
0d241e6670
generic: ar8216: replace chip_type field with chip_{ver,rev} in ar8216_priv
...
SVN-Revision: 31999
2012-05-29 16:39:26 +00:00
Gabor Juhos
b2fce19a70
generic: ar8216: add chip_is_ar8{216,236,316,327} helpers
...
SVN-Revision: 31998
2012-05-29 16:39:24 +00:00
Gabor Juhos
86dad96fd0
generic: rtl8367: rename a misnamed variable
...
SVN-Revision: 31917
2012-05-27 17:09:47 +00:00
Gabor Juhos
705d31203c
generic: rtl8366_smi: remove duplicated spinlock initialization
...
SVN-Revision: 31916
2012-05-27 17:09:45 +00:00
Gabor Juhos
9217115687
generic: rtl8366_smi: rename debugfs Kconfig symbol
...
SVN-Revision: 31915
2012-05-27 17:09:43 +00:00
Gabor Juhos
466ef30173
generic: rtl8367: allow to use VLANs > 31
...
SVN-Revision: 31914
2012-05-27 17:09:41 +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
Felix Fietkau
9b20187ad5
atheros: update to 3.3.4 (based on work by acoul), fix mvswitch driver for newer kernels
...
SVN-Revision: 31625
2012-05-06 17:08:30 +00:00
Gabor Juhos
e931ffd678
linux: rtl836x: add a generic reset_switch function
...
SVN-Revision: 31536
2012-04-29 18:29:31 +00:00
Gabor Juhos
1d9400263f
linux: rtl836x: rename rtl836*_hw_init to rtl836*_setup
...
SVN-Revision: 31535
2012-04-29 18:29:29 +00:00
Gabor Juhos
badd7a3cf2
linux: rtl836x: add a reset_chip callback to rtl8366_smi_ops
...
SVN-Revision: 31534
2012-04-29 18:29:26 +00:00
Felix Fietkau
dcd185c2f8
ar8216: enable forwarding of multicast frames to the cpu port on ar8327 (thx, SeG)
...
SVN-Revision: 31441
2012-04-22 19:19:49 +00:00
John Crispin
f35b9a9a4c
fixes breakage introduced in 776722ce36ac95877efb7fd771dde2f6ffc96433
...
SVN-Revision: 31054
2012-03-22 13:07:34 +00:00
Gabor Juhos
faf82f3e10
generic: ar8216: add support for the AR8327 chip
...
SVN-Revision: 31011
2012-03-18 22:06:55 +00:00
Gabor Juhos
fa7a83df4b
generic: ar8216: allow to use more ports
...
SVN-Revision: 31010
2012-03-18 22:06:51 +00:00
Gabor Juhos
2ddbcb98ee
generic: ar8216: reorder chip specific functions
...
SVN-Revision: 31009
2012-03-18 22:06:48 +00:00
Gabor Juhos
552cffd97a
generic: ar8216: reorder switch_dev specific functions
...
SVN-Revision: 31008
2012-03-18 22:06:45 +00:00
Gabor Juhos
71e356029e
generic: ar8216: use ar8216_sw_ prefix for switchdev related functions
...
SVN-Revision: 31007
2012-03-18 22:06:42 +00:00
Gabor Juhos
9a01936724
generic: ar8216: use switch_dev->ports in for loops
...
SVN-Revision: 31006
2012-03-18 22:06:40 +00:00
Gabor Juhos
2ce9e4753c
generic: ar8216: add read_port_status field to ar8xxx_chip
...
SVN-Revision: 31005
2012-03-18 22:06:39 +00:00
Gabor Juhos
01cad79e03
generic: ar8216: add init_globals field to ar8xxx_chip
...
SVN-Revision: 31004
2012-03-18 22:06:36 +00:00
Gabor Juhos
56cacb3b21
generic: ar8216: add caps field to ar8xxx_chip
...
SVN-Revision: 31003
2012-03-18 22:06:33 +00:00
Gabor Juhos
d1c585d4b1
generic: ar8216: add vtu_load_vlan field to ar8xxx_chip
...
SVN-Revision: 31002
2012-03-18 22:06:30 +00:00
Gabor Juhos
332310fba2
generic: ar8216: add vtu_flush field to ar8xxx_chip
...
SVN-Revision: 31001
2012-03-18 22:06:26 +00:00
Gabor Juhos
d964410cbc
generic: ar8216: add init_port field to ar8xxx_chip
...
SVN-Revision: 31000
2012-03-18 22:06:23 +00:00
Gabor Juhos
006b3b846e
generic: ar8216: add setup_port field to ar8xxx_chip
...
SVN-Revision: 30999
2012-03-18 22:06:19 +00:00
Gabor Juhos
eb5f0067b6
generic: ar8216: add hw_init field to ar8xxx_chip
...
SVN-Revision: 30998
2012-03-18 22:06:15 +00:00
Gabor Juhos
a8371ad566
generic: ar8216: add a separate structure for chip specific stuff
...
Also add a hw_init function into that.
SVN-Revision: 30997
2012-03-18 22:06:12 +00:00
Gabor Juhos
d18133b32d
generic: ar8216: rename chip field of struct ar8216
...
SVN-Revision: 30996
2012-03-18 22:06:08 +00:00
Gabor Juhos
6e143e467f
generic: ar8216: move ar8216_id_chip function
...
Also remove the inline annotation.
SVN-Revision: 30995
2012-03-18 22:06:05 +00:00
Gabor Juhos
1c99979b2c
generic: ar8216: rename ar8216_ops to ar8216_sw_ops
...
SVN-Revision: 30994
2012-03-18 22:06:03 +00:00
Felix Fietkau
b957208807
swconfig: use a mutex instead of a spinlock, many swconfig calls sleep
...
SVN-Revision: 30952
2012-03-15 19:32:31 +00:00
Felix Fietkau
404a4c1fcd
ar8216: fix a MTU related regression
...
Switch reset on AR8316 appears to clobber the MTU configuration register
and possibly other global config registers. Move global configuration
register init writes back to the reset callback.
SVN-Revision: 30951
2012-03-15 16:57:27 +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
e3af7c82f8
generic: ar8216: merge multiple if statements in ar8216_hw_apply
...
SVN-Revision: 30928
2012-03-13 17:33:12 +00:00
Gabor Juhos
2149facb53
generic: ar8216: use usleep_range in ar8216_mii_{read,write}
...
msleep(1) can sleep for up to 20ms.
SVN-Revision: 30885
2012-03-11 17:19:14 +00:00
Gabor Juhos
77d0a8ca85
generic: ar8216: add a helper function for writing PHY debug registers
...
SVN-Revision: 30884
2012-03-11 16:49:35 +00:00
Gabor Juhos
dad19ac8b2
generic: ar8216: add lockep assertion to ar8216_rmw
...
SVN-Revision: 30883
2012-03-11 16:49:33 +00:00
Gabor Juhos
1ad06d4c3a
generic: ar8216: coding style cleanup
...
SVN-Revision: 30857
2012-03-08 10:21:14 +00:00
Gabor Juhos
e2d3cb69a1
generic: ar8216: don't use static variable in ar8236_hw_init
...
SVN-Revision: 30856
2012-03-08 10:21:12 +00:00
Gabor Juhos
291e2dd583
generic: ar8216: move register inititalization into hw_init
...
SVN-Revision: 30855
2012-03-08 10:21:11 +00:00
Gabor Juhos
e3538fa852
generic: ar8216: set chip type directly in ar8216_id_chip
...
SVN-Revision: 30854
2012-03-08 10:21:10 +00:00
Gabor Juhos
a6c69e63b6
generic: ar8216: simplify ar8216_config_init
...
SVN-Revision: 30853
2012-03-08 10:21:08 +00:00
Gabor Juhos
52a89cd95c
generic: ar8216: move port initialization into a separate function
...
SVN-Revision: 30848
2012-03-07 16:32:46 +00:00
Gabor Juhos
0097cf7161
generic: ar8216: improve ar8216_wait_bit function
...
SVN-Revision: 30847
2012-03-07 16:32:45 +00:00
Gabor Juhos
2370828599
generic: ar8216: use ar8216_read_port_link to get the CPU port link parameters
...
SVN-Revision: 30846
2012-03-07 16:32:43 +00:00
Gabor Juhos
d8a8df51ca
generic: ar8216: use the generic get_port_link implementation
...
SVN-Revision: 30845
2012-03-07 16:32:42 +00:00
Gabor Juhos
215e07177e
generic: rtl8367: use the generic get_port_link implementation
...
SVN-Revision: 30844
2012-03-07 16:32:40 +00:00
Gabor Juhos
9e1be3b809
generic: rtl8366s: use the generic get_port_link implementation
...
SVN-Revision: 30843
2012-03-07 16:32:38 +00:00
Gabor Juhos
e2f0264afe
generic: rtl8366rb: use the generic get_port_link implementation
...
SVN-Revision: 30842
2012-03-07 16:32:37 +00:00
Gabor Juhos
759c341e68
generic: swconfig: add a generic get_port_link implementation
...
SVN-Revision: 30839
2012-03-07 16:32:33 +00:00
Gabor Juhos
fc9db6f410
generic: ar8216: use mdiobus_write in ar8236_hw_init
...
SVN-Revision: 30838
2012-03-07 16:32:31 +00:00
Gabor Juhos
7112130105
generic: ar8216: use bus->mdio_lock directly in ar8216_mii_{read,write}
...
SVN-Revision: 30837
2012-03-07 16:32:30 +00:00
Gabor Juhos
a31e090255
generic: ar8216: fix phy driver name
...
SVN-Revision: 30836
2012-03-07 16:32:28 +00:00
Jo-Philipp Wich
e5b04d57ef
revert unrelated change in previous commit
...
SVN-Revision: 30738
2012-02-27 09:34:31 +00:00
Jo-Philipp Wich
47b27500cf
partly revert r30708, it breaks various arches
...
SVN-Revision: 30737
2012-02-27 09:33:36 +00:00
Gabor Juhos
9be1b91644
generic: allow to build myloader mtd parser for 3.2+
...
SVN-Revision: 29858
2012-01-22 18:36:49 +00:00
Gabor Juhos
4625c9b5a4
generic: rtl8366: add rtl8366_smi_write_reg_noack helper
...
After issuing a soft reset on the RT8366{S,RB}
switch, waiting for the last acknowlegement fails
in rtl8366_smi_write_reg. Add a _noack version of
the function and use that for issuing a soft reset.
SVN-Revision: 29844
2012-01-21 22:44:09 +00:00
Jo-Philipp Wich
9d497cb132
rtl8366: fix rtl8366_smi_detect() after r29677
...
SVN-Revision: 29732
2012-01-13 19:17:58 +00:00
Felix Fietkau
e87bb77966
ar8216: use vlan configuration for connecting ports (forced to be untagged) even with vlan_enable=0, but keep them isolated before the switch has been configured this makes enable_vlan=0 practical for vlan passthrough
...
SVN-Revision: 29719
2012-01-12 10:15:11 +00:00
Felix Fietkau
c33e016fa5
ar8216: do not strip vlan tags when running with vlan_enable=0
...
SVN-Revision: 29718
2012-01-12 10:15:08 +00:00
Gabor Juhos
8b567fb508
generic: add driver for the RTL8367R/M switches
...
SVN-Revision: 29678
2012-01-07 19:36:31 +00:00
Gabor Juhos
87fb92ee03
generic: rtl8366: preparing for RTL8367 support
...
* make clock delay configurable
* make read,write commands configurable
* use u16 for member and untag fields
SVN-Revision: 29677
2012-01-07 19:36:30 +00:00
Gabor Juhos
43196813d7
generic: rtl8366_smi: add timeout message
...
SVN-Revision: 29676
2012-01-07 19:36:25 +00:00
Gabor Juhos
5fa65cba6e
kernel: swconfig: introduce a generic switch LED trigger
...
SVN-Revision: 29627
2011-12-31 15:02:30 +00:00
Gabor Juhos
bbfaaeffd6
kernel: ar8216: add support for the AR8236 switch
...
SVN-Revision: 28993
2011-11-12 14:09:52 +00:00
Gabor Juhos
ecb3690d0a
kernel: ar8216: move port vlan setup into a separate function
...
SVN-Revision: 28992
2011-11-12 14:09:50 +00:00
Gabor Juhos
297ac9a7f1
kernel: swconfig: add a missing unlock in error path
...
SVN-Revision: 28753
2011-11-04 14:38:31 +00:00
Jonas Gorski
b7a2a74823
ar8216: use mdiobus_{read,write} to ensure proper locking
...
SVN-Revision: 28421
2011-10-11 23:05:10 +00:00
Gabor Juhos
93c093057d
generic: jumbo frames support for rtl8366s
...
This patch adds the option to enable jumbo frames on the rtl8366s
switch. This is almost exactly the same as the first patch at
https://dev.openwrt.org/ticket/7977 and it has been requested
in a comment there.
I have tested this and it successfully allows devices on the switch
using jumbo frames to communicate.
Signed-off-by: Ash Hughes <ashley.hughes@blueyonder.co.uk>
SVN-Revision: 28267
2011-09-21 11:47:38 +00:00
Gabor Juhos
bb64fb2e58
generic: ar8216: add support for get link status
...
SVN-Revision: 27989
2011-08-15 14:11:41 +00:00
Jonas Gorski
eaa935658b
swconfig: Add generic switch identifiers
...
Also make switches available under a generic name "switch<num>" for device
name agnostic access. The old device name is used as an alias for backward
compatibility.
SVN-Revision: 27800
2011-07-27 18:00:18 +00:00
Felix Fietkau
5b32d62fcf
rtl8366_smi: implement a function for detecting whether the attached switch is RTL8366S or RTL8366RB
...
SVN-Revision: 27755
2011-07-24 14:40:31 +00:00
Felix Fietkau
1afe8a0726
rtl8366: unify rtl8366s and rtl8366rb platform data
...
SVN-Revision: 27754
2011-07-24 14:40:23 +00:00
Felix Fietkau
a41f80bca1
fix the gpio_dev driver: remove existing forward port patches, use unlocked_ioctl on all platforms and fix the arguments to the ioctl handler (based on patch from #9198 )
...
SVN-Revision: 27322
2011-07-01 03:20:13 +00:00
John Crispin
e3e2a170cd
we dont need 1024 bytes buffer. 128 bytes is enough.
...
SVN-Revision: 27143
2011-06-09 07:08:54 +00:00
John Crispin
60c125b8e6
(respin) 802.1Q VLAN support for ADM6996M/ADM6996FC
...
This patch adds 802.1Q VLAN support for the ADM6996M chip.
The driver is loaded for both the FC and M model. It will detect which of the
two chips is connected. The FC model is initialised, but no further
functionality is offered.
The PHY driver will always report "100 Mbit/s, link up", for both the M and FC
models. This reflects the fact that the link between switch chip and Ethernet
MAC is always on[1].
Further documentation can be found in the kernel's
Documentation/networking/adm6996.txt
Signed-of-By: Peter Lebbing <peter@digitalbrains.com>
SVN-Revision: 26865
2011-05-09 15:21:58 +00:00
Felix Fietkau
eb270c4d33
ar8316: automatically detect whether port4 is used as PHY or as a switch port
...
SVN-Revision: 26778
2011-04-28 21:27:37 +00:00
Felix Fietkau
2336d4b438
ar8216: support AR8316 rev 0 devices
...
SVN-Revision: 26776
2011-04-28 19:30:43 +00:00
Felix Fietkau
9e8cd78944
swconfig: Replace SPIN_LOCK_UNLOCKED with DEFINE_SPINLOCK
...
SPIN_LOCK_UNLOCKED has been deprecated since 2.6.19 and will get removed
in 2.6.39, so replace it with DEFINE_SPINLOCK().
Signed-off-by: Jonas Gorski <jonas.gorski+openwrt@gmail.com>
SVN-Revision: 26770
2011-04-26 23:05:29 +00:00
Gabor Juhos
f358166236
generic: rtl8366{s,rb}: remove the PHY driver.
...
Since the PHY driver is only used for the WAN port and there is virtually
no difference between it and the generic PHY driver, we can sefely remove
it.
Signed-off-by: Jonas Gorski <jonas.gorski+openwrt@gmail.com>
SVN-Revision: 26600
2011-04-12 09:29:07 +00:00
Felix Fietkau
0508ee0c00
rtl8306: do not overwrite registers in the phy fixup, it could mess up other switches ( fixes #8911 )
...
SVN-Revision: 26410
2011-04-02 16:35:22 +00:00
Gabor Juhos
4f1f672d9e
generic: rtl8366s: allow initial register values to be passed via platform_data
...
SVN-Revision: 25120
2011-01-26 20:35:46 +00:00
Gabor Juhos
5641e8233e
generic: rtl8366: fix build error
...
SVN-Revision: 24943
2011-01-09 05:36:44 +00:00
Gabor Juhos
792a1fb2c0
generic: rtl8366: enable vlans before enabling the ports
...
SVN-Revision: 24939
2011-01-08 20:24:29 +00:00
Gabor Juhos
c16715f8d2
generic: rtl8366: enable ports only after VLAN configuration is done
...
SVN-Revision: 24938
2011-01-08 20:24:26 +00:00
Gabor Juhos
0bcc97ac26
generic: rtl8366: add enable_port helper
...
SVN-Revision: 24937
2011-01-08 20:24:22 +00:00
Gabor Juhos
5120660512
generic: rtl8366_smi: init VLANs only in first switch initialization
...
SVN-Revision: 24936
2011-01-08 20:24:18 +00:00
Gabor Juhos
d88fc86fca
generic: rtl8366s: use correct bitmasks in sanity checks
...
SVN-Revision: 24935
2011-01-08 18:04:04 +00:00
Gabor Juhos
ec9b5d6243
generic: rtl8366s: add vlan fid support
...
SVN-Revision: 24934
2011-01-08 18:04:00 +00:00
Gabor Juhos
72779e560b
generic: rtl8366: add debugfs file for VLAN4K table
...
SVN-Revision: 24933
2011-01-08 18:03:57 +00:00
Gabor Juhos
a4472870bd
generic: rtl8366rb: use correct bitmasks in sanity checks
...
SVN-Revision: 24930
2011-01-08 11:28:35 +00:00
Gabor Juhos
a059a11ee1
generic: add LED trigger for USB device presence/activity
...
SVN-Revision: 24646
2010-12-17 17:10:11 +00:00
Gabor Juhos
90c0618011
generic: add rtl8366rb switch vlan fid support
...
Allows to use fids 0 to 7. Default is 0.
Those who will use this don't forget to `set vlan fid` every time
after `set vlan ports` if you want non default behavior.
Minor changes. Version bump.
Signed-off-by: Roman Yeryomin <roman@advem.lv>
SVN-Revision: 24125
2010-11-24 10:01:21 +00:00
Gabor Juhos
1fa8af5e9f
generic: update gpio_buttons driver
...
SVN-Revision: 23984
2010-11-12 18:53:01 +00:00
Florian Fainelli
edcbafc836
fix mvswitch PHY polling setting ( #8133 )
...
SVN-Revision: 23862
2010-11-04 14:09:20 +00:00
Felix Fietkau
0ee2fda5e1
rt8366*: use __devinit instead of __init for the probe function to fix a section mismatch
...
SVN-Revision: 23573
2010-10-21 18:42:05 +00:00
Jo-Philipp Wich
352fea83d9
unify extended vlan id swconfig attributes. AR8216 and PSB6970 used "pvid", IP17xx used "tag" and RTL8306 called it "vid". Change all to "vid" and annotate the description with the valid ID range.
...
SVN-Revision: 23419
2010-10-12 20:49:35 +00:00
Gabor Juhos
dc4df4ca65
generic: RTL8366S/RB: Fix autonegotiation for the WAN port.
...
The RTL8366S/RB support connecting a second mac to it and using the 5th
port as an independent phy. Therefore we need to handle autonegotiation
changes for phy 4 like on a single phy device.
This fixes #7980 , verified on a WNDR3700.
Signed-off-by: Jonas Gorski <jonas.gorski+openwrt@gmail.com>
SVN-Revision: 23127
2010-09-27 14:42:05 +00:00
Gabor Juhos
5721f06fe1
generic: add rtl8366rb switch port rate, port and qos enable/disable support
...
Patch-by: Roman Yeryomin <roman@advem.lv>
SVN-Revision: 23126
2010-09-27 14:41:54 +00:00
Florian Fainelli
0ca31140aa
add switch driver for Lantiq PSB6970
...
Tested on ifxmips based board. The PSB6970 is also known as the Infineon Tantos switch.
Signed-off-by: Ithamar R. Adema <ithamar.adema@team-embedded.nl>
SVN-Revision: 22914
2010-09-04 18:06:01 +00:00
Felix Fietkau
08755b8858
rtl8366_smi: when setting VLAN ports, always initialize the PVID to ensure that the VLAN MC entry gets allocated. Fixes problems with tagged-only ports ( #7795 )
...
SVN-Revision: 22856
2010-08-31 19:04:02 +00:00
Gabor Juhos
0826570bc4
generic: rtl8366: allow use of VIDs 16-4095 if vlan4k is enabled
...
SVN-Revision: 22704
2010-08-18 16:00:39 +00:00
Gabor Juhos
08c5588cd2
generic: rtl8366: add generic code to enable VLANs
...
SVN-Revision: 22703
2010-08-18 16:00:37 +00:00
Gabor Juhos
77d6cd0feb
generic: rtl8366: add enable_vlan{,4k} to smi_ops
...
SVN-Revision: 22702
2010-08-18 16:00:34 +00:00
Gabor Juhos
e01649c7cc
generic: fix LED control on the RTL8366 switches
...
* patch from #7713
SVN-Revision: 22656
2010-08-15 06:47:42 +00:00
Felix Fietkau
f8c4bf89b9
rtl8366: re-enable learning by default, disabling it broke switching functionality. add a configuration option for dynamically enabling/disabling this feature. based on patch from #7637
...
SVN-Revision: 22545
2010-08-08 20:15:10 +00:00
Felix Fietkau
bd6324190f
swconfig: cleanup of kernel drivers and interface - add some comments to a few data structures - add a switch_dev_ops data structure for attributes and callback to replace the stupid template memcpy - get rid of the switch_dev.priv pointer - using container_of() is better
...
SVN-Revision: 22476
2010-08-04 00:43:40 +00:00
Jo-Philipp Wich
bf1db57017
ip17xx: r21709 broke VLAN functionality on the IP175C switch, add back mdelay() to wait before reading back the phy state, fixes ethernet on the DIR-300 and possibly others
...
SVN-Revision: 22468
2010-08-03 03:04:34 +00:00
Claudio Mignanti
3f25930247
pwm: export the generic pwm api as module
...
SVN-Revision: 22297
2010-07-19 21:14:24 +00:00
Gabor Juhos
9445ce43a6
generic: rtl8366: add debugfs file to show PVIDs
...
SVN-Revision: 22206
2010-07-15 13:05:56 +00:00
Gabor Juhos
9a92e1a32c
generic: rtl8366: make rtl8366_set_vlan static
...
SVN-Revision: 22205
2010-07-15 13:05:53 +00:00
Gabor Juhos
48934bbd88
generic: rtl8366: add common rtl8366_sw_{get,set}_vlan_ports functions
...
SVN-Revision: 22204
2010-07-15 13:05:50 +00:00
Gabor Juhos
d4e0b75dda
generic: rtl8366: add common rtl8366_sw_get_vlan_info
...
SVN-Revision: 22203
2010-07-15 13:05:47 +00:00
Gabor Juhos
a59fa57985
generic: rtl8366: use smi->num_ports and smi->ops->get_vlan_4k
...
SVN-Revision: 22202
2010-07-15 13:05:43 +00:00
Gabor Juhos
ce7eca2dff
generic: rtl8366: add is_vlan_valid function to smi_ops
...
SVN-Revision: 22201
2010-07-15 13:05:39 +00:00
Gabor Juhos
dffd45dc61
generic: rtl8366: add common rtl8366_sw_get_port_mib function
...
SVN-Revision: 22200
2010-07-15 13:05:36 +00:00
Gabor Juhos
0049e74882
generic: rtl8366: generealize rtl8366{s,rb}_sw_get_port_mib functions
...
SVN-Revision: 22199
2010-07-15 13:05:32 +00:00
Gabor Juhos
e110321fce
generic: rtl8366: make rtl8366_{g,s}et_pvid static
...
SVN-Revision: 22198
2010-07-15 13:05:29 +00:00
Gabor Juhos
e561b18521
generic: rtl8366: add common rtl8366_sw_{get,set}_port_pvid functions
...
SVN-Revision: 22197
2010-07-15 13:05:25 +00:00
Gabor Juhos
534480d3fb
generic: rtl8366: add setup to rtl8366_smi_ops struct
...
SVN-Revision: 22196
2010-07-15 13:05:21 +00:00
Gabor Juhos
b093cec6cc
generic: rtl8366: introduce rtl8366_smi_alloc
...
SVN-Revision: 22195
2010-07-15 13:05:16 +00:00
Gabor Juhos
c7bc8fb46c
generic: rtl8366: get rid of private rtl8366{s,rb} structs
...
SVN-Revision: 22194
2010-07-15 13:05:10 +00:00
Gabor Juhos
008c81b859
generic: rtl8366: move switch device to the rtl8366_smi struct
...
SVN-Revision: 22193
2010-07-15 13:05:06 +00:00
Gabor Juhos
5508b23aaf
generic: rtl8366: get rid of private vlan_{mc,4k} structs
...
The usage of bitfields causes problems in Little-Endian mode. Remove
them and manipulate the bits directly in the appropriate functions. This
change also reduces the size of the binary a bit.
SVN-Revision: 22192
2010-07-15 13:05:02 +00:00
Gabor Juhos
540b3e6419
generic: rtl8366: use SWITCH_TYPE_NOVAL for reset_mib attributes
...
SVN-Revision: 22191
2010-07-15 13:04:57 +00:00
Claudio Mignanti
86f3d57a00
pwm: use coherent naming to avoid conflicts
...
SVN-Revision: 22142
2010-07-12 13:19:57 +00:00
Gabor Juhos
86b4b5e1e9
generic: rtl8366: enable VLAN ingress filtering
...
SVN-Revision: 22044
2010-07-02 09:55:57 +00:00
Gabor Juhos
50d88ac7d4
generic: rtl8366: minor cleanup
...
SVN-Revision: 21985
2010-06-28 17:24:05 +00:00
Gabor Juhos
e19838e04c
generic: rtl8366: add common read_debugfs_mibs function
...
SVN-Revision: 21984
2010-06-28 17:24:02 +00:00
Gabor Juhos
393f0bda89
generic: rtl8366: standardize read_debugfs_mibs functions
...
SVN-Revision: 21983
2010-06-28 17:23:59 +00:00
Gabor Juhos
5986c1f2d0
generic: rtl8366: use common rtl8366_mib_counter structure
...
SVN-Revision: 21982
2010-06-28 17:23:56 +00:00
Gabor Juhos
672018a30d
generic: rtl8366: move common debugfs code to rtl8366_smi.c
...
SVN-Revision: 21981
2010-06-28 17:23:52 +00:00
Gabor Juhos
19ed040c62
generic: rtl8366: move buf to struct rtl8366_smi
...
SVN-Revision: 21980
2010-06-28 17:23:48 +00:00
Gabor Juhos
830b04bd72
generic: rtl8366: move common VLAN handling functions to rtl8366_smi.c
...
SVN-Revision: 21979
2010-06-28 17:23:45 +00:00
Gabor Juhos
81e9e7916f
generic: rtl8366: add cpu_port, num_ports and num_vlan_mc to struct rtl8366_smi
...
SVN-Revision: 21978
2010-06-28 17:23:41 +00:00
Gabor Juhos
08942e9a98
generic: rtl8366: add VLAN handling functions to rtl8366_smi_ops
...
SVN-Revision: 21977
2010-06-28 17:23:37 +00:00
Gabor Juhos
e8e8554192
generic: rtl8366: use RTL8366{S,RB} prefixes for all defines
...
SVN-Revision: 21976
2010-06-28 17:23:33 +00:00
Gabor Juhos
c4dc96934d
generic: rtl8366rb: fix MIB counter reset
...
SVN-Revision: 21969
2010-06-27 14:37:34 +00:00
Felix Fietkau
da1bb88a2b
rename target/linux/generic-2.6 to generic
...
SVN-Revision: 21952
2010-06-26 20:42:58 +00:00