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
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
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
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