Commit Graph

233 Commits (219b7c91d63f234bf76b0bfeaf3f66f9352c3a8b)

Author SHA1 Message Date
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 6c1fbb2d5c mac80211/rt2x00: add rf_vals for Rt3352 with Xtal=20MHz
[juhosg: move ramips specific stuff into a followup patch]

Signed-off-by: Daniel Golle <dgolle@allnet.de>
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 34269
2012-11-20 07:19:09 +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 449f88df0f generic: fold yaffs_git_2010_10_20 patch to generic/files
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 34013
2012-10-30 14:58:17 +00:00
Gabor Juhos 56190ed0fc generic: fold yaffs_cvs_2009_04_24 patch to generic/files
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 34012
2012-10-30 14:58:13 +00:00
Gabor Juhos e8fc46b7c5 generic: allow to disable [25]GHz support in ath9k via platform data
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 33954
2012-10-27 08:55:36 +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
Gabor Juhos 2323120d5e generic add WLAN calibration data ID to routerboot.h
SVN-Revision: 33346
2012-09-09 14:05:26 +00:00
Gabor Juhos f3ecbea052 adm5120: move common routerboot definitions into a separate header file
Those will be used on the ar71xx platform as well.

SVN-Revision: 33341
2012-09-09 11:55:42 +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 e9af340016 generic: ocf: restore terminating entry of pci_id_table in hifnHIPP
SVN-Revision: 32680
2012-07-12 08:34:23 +00:00
Luka Perkov 283021ac15 ocf: update to version 20120127
SVN-Revision: 32672
2012-07-11 23:38:14 +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 9037c2ccc6 lantiq: allow platforms with rt2x00 to override the mac address without overriding eeprom, fixes bogus wlan mac address on arv4520
SVN-Revision: 31835
2012-05-20 21:58:03 +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
Felix Fietkau 5f799a0e97 ath9k: make endian check optional
Turns out it triggers on some AR71xx devices where no swapping should be done.
Enable endian check for the lantiq target.

SVN-Revision: 31084
2012-03-27 13:21:53 +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 799e9cbec8 generic: add disable_[25]ghz to struct rt2x00_platform_data
SVN-Revision: 30630
2012-02-18 17:36:13 +00:00
Gabor Juhos 1c4f6b4308 generic: add WPE72 ID to myloader.h
Signed-off-by: Johnathan Boyce <jon.boyce@globalreach.eu.com>

SVN-Revision: 29911
2012-01-26 17:01:38 +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
Jonas Gorski aa8f9171f2 kernel: fix OCF for linux 3.2
Add skb_frag_page from 3.2 to OCF for 3.1 and earlier and use it.

SVN-Revision: 29818
2012-01-19 19:51:54 +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 975355a2b1 kernel: swconfig: add get_port_{link,stats} callbacks
SVN-Revision: 29625
2011-12-31 15:02:24 +00:00
Felix Fietkau e3017bc05e ath9k: add support for registering extra leds connected to the wmac gpio lines
SVN-Revision: 29530
2011-12-14 20:21:36 +00:00