summaryrefslogtreecommitdiff
path: root/target/linux/generic/files/drivers/net/phy/ar8216.c
AgeCommit message (Collapse)Author
2012-11-23generic: ar8216: set delay values for SGMII mode on AR8327juhosg
Signed-off-by: Gabor Juhos <juhosg@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34315 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-11-22generic: ar8216: introduce ar8216_mib_op helperjuhosg
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> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34297 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-11-20generic: ar8216: fix port number check in 'ar8xxx_mib_work_func'juhosg
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-20generic: ar8216: remove an unblanced mutex_unlock calljuhosg
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-20generic: ar8216: add missing locking callsjuhosg
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-18generic: ar8216: add MIB counter support for the AR8216 switch as welljuhosg
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-18generic: ar8216: rename AR8216_*_STATS_* definesjuhosg
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-18generic ar8216: allow to read/reset MIB counters via swconfigjuhosg
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-18generic: ar8216: use dynamically allocated private data in ar8216_probejuhosg
Signed-off-by: Gabor Juhos <juhosg@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34242 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-07-05generic: ar8216: start aneg on each PHY of the AR8327juhosg
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@32604 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-06-19generic: ar8216: allow to configure AR8327 LEDs via platform datajuhosg
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@32456 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-05-29generic: ar8216: add revision specific PHY fixups for AR8327juhosg
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@32000 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-05-29generic: ar8216: replace chip_type field with chip_{ver,rev} in ar8216_privjuhosg
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31999 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-05-29generic: ar8216: add chip_is_ar8{216,236,316,327} helpersjuhosg
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31998 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-05-06kernel: rewrite the phy packet hook, put it in the network stack to avoid ↵nbd
having to keep non-upstream ethernet driver changes git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31637 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-04-22ar8216: enable forwarding of multicast frames to the cpu port on ar8327 ↵nbd
(thx, SeG) git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31441 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-03-22[ar8216] fixes breakage introduced in 776722ce36ac95877efb7fd771dde2f6ffc96433blogic
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31054 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-03-18generic: ar8216: add support for the AR8327 chipjuhosg
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31011 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-03-18generic: ar8216: allow to use more portsjuhosg
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31010 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-03-18generic: ar8216: reorder chip specific functionsjuhosg
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31009 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-03-18generic: ar8216: reorder switch_dev specific functionsjuhosg
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31008 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-03-18generic: ar8216: use ar8216_sw_ prefix for switchdev related functionsjuhosg
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31007 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-03-18generic: ar8216: use switch_dev->ports in for loopsjuhosg
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31006 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-03-18generic: ar8216: add read_port_status field to ar8xxx_chipjuhosg
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31005 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-03-18generic: ar8216: add init_globals field to ar8xxx_chipjuhosg
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31004 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-03-18generic: ar8216: add caps field to ar8xxx_chipjuhosg
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31003 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-03-18generic: ar8216: add vtu_load_vlan field to ar8xxx_chipjuhosg
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31002 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-03-18generic: ar8216: add vtu_flush field to ar8xxx_chipjuhosg
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31001 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-03-18generic: ar8216: add init_port field to ar8xxx_chipjuhosg
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31000 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-03-18generic: ar8216: add setup_port field to ar8xxx_chipjuhosg
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30999 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-03-18generic: ar8216: add hw_init field to ar8xxx_chipjuhosg
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30998 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-03-18generic: ar8216: add a separate structure for chip specific stuffjuhosg
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-18generic: ar8216: rename chip field of struct ar8216juhosg
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30996 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-03-18generic: ar8216: move ar8216_id_chip functionjuhosg
Also remove the inline annotation. git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30995 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-03-18generic: ar8216: rename ar8216_ops to ar8216_sw_opsjuhosg
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30994 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-03-15ar8216: fix a MTU related regressionnbd
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-13generic: ar8216: merge multiple if statements in ar8216_hw_applyjuhosg
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30928 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-03-11generic: ar8216: use usleep_range in ar8216_mii_{read,write}juhosg
msleep(1) can sleep for up to 20ms. git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30885 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-03-11generic: ar8216: add a helper function for writing PHY debug registersjuhosg
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30884 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-03-11generic: ar8216: add lockep assertion to ar8216_rmwjuhosg
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30883 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-03-08generic: ar8216: coding style cleanupjuhosg
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30857 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-03-08generic: ar8216: don't use static variable in ar8236_hw_initjuhosg
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30856 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-03-08generic: ar8216: move register inititalization into hw_initjuhosg
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30855 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-03-08generic: ar8216: set chip type directly in ar8216_id_chipjuhosg
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30854 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-03-08generic: ar8216: simplify ar8216_config_initjuhosg
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30853 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-03-07generic: ar8216: move port initialization into a separate functionjuhosg
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30848 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-03-07generic: ar8216: improve ar8216_wait_bit functionjuhosg
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30847 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-03-07generic: ar8216: use ar8216_read_port_link to get the CPU port link parametersjuhosg
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30846 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-03-07generic: ar8216: use the generic get_port_link implementationjuhosg
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30845 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-03-07generic: ar8216: use mdiobus_write in ar8236_hw_initjuhosg
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30838 3c298f89-4303-0410-b956-a3cf2f4a3e73