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