Gabor Juhos
b152f5091e
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>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34288 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-11-21 17:38:11 +00:00
Gabor Juhos
7ce8530f4f
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>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34283 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-11-20 20:40:04 +00:00
Gabor Juhos
6446586528
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>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34282 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-11-20 20:40:03 +00:00
Gabor Juhos
756a18fffc
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>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34281 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-11-20 20:40:00 +00:00
Gabor Juhos
51c169ab3d
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>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34245 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-11-18 16:21:00 +00:00
Gabor Juhos
232b64b668
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>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34244 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-11-18 16:20:56 +00:00
Gabor Juhos
3c8aacbed8
generic ar8216: allow to read/reset MIB counters via swconfig
...
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34243 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-11-18 12:26:35 +00:00
Gabor Juhos
1101fbc106
generic: ar8216: use dynamically allocated private data in ar8216_probe
...
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34242 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-11-18 12:26:34 +00:00
Gabor Juhos
0cbec5aa1e
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>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33946 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-10-26 18:58:18 +00:00
Florian Fainelli
835d9c9a76
[kernel] swconfig: get rid of the NLA_PUT_* macros
...
Upstream kernel 3.6 has removed this usage, use the plain functions directly as
intended.
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33906 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-10-24 13:05:04 +00:00
Gabor Juhos
3f74a4920a
generic: add driver for the the RTL8367R{B,-VB} switches
...
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33839 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-10-18 07:22:56 +00:00
Gabor Juhos
82d7a65e63
generic: rtl8366_smi: increase delay after switch hw reset
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33077 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-08-10 06:32:00 +00:00
Gabor Juhos
fcbe8ef24f
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.
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@32943 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-08-02 09:54:21 +00:00
Gabor Juhos
43975158da
generic: rtl8366_smi: use __rtl8366_smi_cleanup instead of gpio_free calls
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@32942 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-08-02 09:54:13 +00:00
Gabor Juhos
4ecbabb00b
generic: ar8216: start aneg on each PHY of the AR8327
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@32604 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-07-05 08:26:39 +00:00
Gabor Juhos
8d2d96fb1e
generic: ar8216: allow to configure AR8327 LEDs via platform data
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@32456 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-06-19 10:44:16 +00:00
Gabor Juhos
8e8353898c
generic: ar8216: add revision specific PHY fixups for AR8327
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@32000 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-05-29 16:39:27 +00:00
Gabor Juhos
37ce7c5714
generic: ar8216: replace chip_type field with chip_{ver,rev} in ar8216_priv
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31999 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-05-29 16:39:26 +00:00
Gabor Juhos
049f00ab72
generic: ar8216: add chip_is_ar8{216,236,316,327} helpers
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31998 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-05-29 16:39:24 +00:00
Gabor Juhos
54d14f8850
generic: rtl8367: rename a misnamed variable
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31917 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-05-27 17:09:47 +00:00
Gabor Juhos
e4f7489ec1
generic: rtl8366_smi: remove duplicated spinlock initialization
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31916 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-05-27 17:09:45 +00:00
Gabor Juhos
d89221e9ce
generic: rtl8366_smi: rename debugfs Kconfig symbol
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31915 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-05-27 17:09:43 +00:00
Gabor Juhos
d57d3c1a10
generic: rtl8367: allow to use VLANs > 31
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31914 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-05-27 17:09:41 +00:00
Felix Fietkau
f20d1938b5
kernel: rewrite the phy packet hook, put it in the network stack to avoid having to keep non-upstream ethernet driver changes
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31637 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-05-06 21:19:14 +00:00
Felix Fietkau
ee9f3b6a3c
atheros: update to 3.3.4 (based on work by acoul), fix mvswitch driver for newer kernels
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31625 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-05-06 17:08:30 +00:00
Gabor Juhos
2341f7444d
linux: rtl836x: add a generic reset_switch function
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31536 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-04-29 18:29:31 +00:00
Gabor Juhos
bd9308390c
linux: rtl836x: rename rtl836*_hw_init to rtl836*_setup
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31535 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-04-29 18:29:29 +00:00
Gabor Juhos
b29026e34d
linux: rtl836x: add a reset_chip callback to rtl8366_smi_ops
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31534 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-04-29 18:29:26 +00:00
Felix Fietkau
a4fcc4529e
ar8216: enable forwarding of multicast frames to the cpu port on ar8327 (thx, SeG)
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31441 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-04-22 19:19:49 +00:00
John Crispin
ea1c8334d9
[ar8216] fixes breakage introduced in 776722ce36ac95877efb7fd771dde2f6ffc96433
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31054 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-03-22 13:07:34 +00:00
Gabor Juhos
69e2e9c108
generic: ar8216: add support for the AR8327 chip
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31011 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-03-18 22:06:55 +00:00
Gabor Juhos
baeb3db74d
generic: ar8216: allow to use more ports
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31010 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-03-18 22:06:51 +00:00
Gabor Juhos
998ee8cbbc
generic: ar8216: reorder chip specific functions
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31009 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-03-18 22:06:48 +00:00
Gabor Juhos
16e8051306
generic: ar8216: reorder switch_dev specific functions
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31008 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-03-18 22:06:45 +00:00
Gabor Juhos
8213a8e8f5
generic: ar8216: use ar8216_sw_ prefix for switchdev related functions
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31007 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-03-18 22:06:42 +00:00
Gabor Juhos
71f7596c79
generic: ar8216: use switch_dev->ports in for loops
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31006 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-03-18 22:06:40 +00:00
Gabor Juhos
e616b588f8
generic: ar8216: add read_port_status field to ar8xxx_chip
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31005 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-03-18 22:06:39 +00:00
Gabor Juhos
44eec652f1
generic: ar8216: add init_globals field to ar8xxx_chip
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31004 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-03-18 22:06:36 +00:00
Gabor Juhos
3b2249677c
generic: ar8216: add caps field to ar8xxx_chip
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31003 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-03-18 22:06:33 +00:00
Gabor Juhos
959df6a165
generic: ar8216: add vtu_load_vlan field to ar8xxx_chip
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31002 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-03-18 22:06:30 +00:00
Gabor Juhos
071a509f67
generic: ar8216: add vtu_flush field to ar8xxx_chip
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31001 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-03-18 22:06:26 +00:00
Gabor Juhos
0d1a31938c
generic: ar8216: add init_port field to ar8xxx_chip
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31000 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-03-18 22:06:23 +00:00
Gabor Juhos
d52cff00a4
generic: ar8216: add setup_port field to ar8xxx_chip
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30999 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-03-18 22:06:19 +00:00
Gabor Juhos
ea9e2d7fb2
generic: ar8216: add hw_init field to ar8xxx_chip
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30998 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-03-18 22:06:15 +00:00
Gabor Juhos
3a4a231982
generic: ar8216: add a separate structure for chip specific stuff
...
Also add a hw_init function into that.
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30997 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-03-18 22:06:12 +00:00
Gabor Juhos
595d1849e5
generic: ar8216: rename chip field of struct ar8216
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30996 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-03-18 22:06:08 +00:00
Gabor Juhos
baee093c4e
generic: ar8216: move ar8216_id_chip function
...
Also remove the inline annotation.
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30995 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-03-18 22:06:05 +00:00
Gabor Juhos
e4682f031a
generic: ar8216: rename ar8216_ops to ar8216_sw_ops
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30994 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-03-18 22:06:03 +00:00
Felix Fietkau
a86e95542d
swconfig: use a mutex instead of a spinlock, many swconfig calls sleep
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30952 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-03-15 19:32:31 +00:00
Felix Fietkau
531638e839
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.
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30951 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-03-15 16:57:27 +00:00