Commit graph

1098 commits

Author SHA1 Message Date
Imre Kaloz
57b68daee9 refresh against -rc7
SVN-Revision: 36340
2013-04-15 16:10:01 +00:00
Gabor Juhos
604395650a kernel: update linux 3.8 to 3.8.7
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 36332
2013-04-14 09:25:53 +00:00
Gabor Juhos
54635e7f78 linux/3.8: backport 'spi/of: Use DT aliases for assigning bus number' from 3.9
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 36328
2013-04-12 19:44:38 +00:00
John Crispin
10f432ba9d fix rtl8366s OF binding
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 36323
2013-04-12 18:56:05 +00:00
Felix Fietkau
edd8048107 kernel: calibrate the TWD timer even when booting with only one CPU, it is used for the watchdog timer base
Fixes booting on single-core CNS3xxx devices

Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 36308
2013-04-10 16:07:50 +00:00
Felix Fietkau
06733c2650 kernel: keep the igmp proc support even with PROC_STRIPPED, some tools still use it
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 36307
2013-04-10 13:45:12 +00:00
Felix Fietkau
7fa2957103 kernel: switch default qdisc from pfifo_fast to fq_codel and remove pfifo_fast
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 36304
2013-04-10 13:11:29 +00:00
Felix Fietkau
df3d4690bd kernel: keep dropped stats in fq_codel
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 36303
2013-04-10 13:11:25 +00:00
Felix Fietkau
ec3a8846fc kernel: tune fq_codel defaults for common netdevice speeds
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 36302
2013-04-10 13:11:21 +00:00
Felix Fietkau
307965026a kernel: add patches by Dave Täht to reduce buffer size in longer queues to reduce memory pressure
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 36301
2013-04-10 13:11:16 +00:00
Florian Fainelli
915969ff2c kernel: refresh patches against 3.9-rc6
Signed-off-by: Florian Fainelli <florian@openwrt.org>

SVN-Revision: 36297
2013-04-09 16:16:20 +00:00
Florian Fainelli
c3366cd164 kernel: add support for PMC PM25LQ032 SPI Flash in m25p80.c
Add support for PMC PM25LQ032 (4MB) SPI Flash used in Hame MPR-A1 and clones.

Signed-off-by: Michel Stempin <michel.stempin@wanadoo.fr>
Signed-off-by: Florian Fainelli <florian@openwrt.org>

SVN-Revision: 36296
2013-04-09 16:16:16 +00:00
Florian Fainelli
518d6a9273 kernel: backport switch user API changes after r36283
3.3 and 3.6 kernels do not make use of the UAPI headers, still they need
to provide an up-to-date switch.h copy for swconfig to build.

Signed-off-by: Florian Fainelli <florian@openwrt.org>

SVN-Revision: 36295
2013-04-09 15:47:01 +00:00
John Crispin
fb47fd0d6b unbreak portmapping - typo fix
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 36293
2013-04-09 14:39:01 +00:00
John Crispin
fff58a5801 allow loading port maps from OF
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 36283
2013-04-09 14:19:09 +00:00
Gabor Juhos
d45ef216e6 linux/3.8: implement pcibios_get_phb_of_node for MIPS
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 36233
2013-04-06 17:33:03 +00:00
Gabor Juhos
51fa28e2c2 linux/3.8: backport devm_ioremap_resource from 3.9
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 36232
2013-04-06 17:33:00 +00:00
Gabor Juhos
747b795b56 generic: rtl8367: add compatible string with vendor prefix
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 36230
2013-04-06 17:19:31 +00:00
Gabor Juhos
f5d8d80ca9 generic: rtl8367b: fix rtl8367b_extif_init_of
* disable external interface if its property is not present
* show an error message if the extif property is not valid
* use proper error values intead of -1
* fix memory leak
* wrap long lines

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 36229
2013-04-06 17:03:09 +00:00
Gabor Juhos
32d3b456f0 linux/3.8: add more missing symbols
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 36228
2013-04-06 16:56:47 +00:00
Gabor Juhos
89539462a8 linux/3.8: add missing symbol
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 36226
2013-04-06 16:38:36 +00:00
Gabor Juhos
38bd9b4337 generic: rtl8367: allow to load extif config from OF
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 36220
2013-04-06 12:37:36 +00:00
Gabor Juhos
585d19d168 generic: rtl8367: fix a typo in MODULE_DEVICE_TABLE macro
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 36219
2013-04-06 12:37:34 +00:00
Gabor Juhos
68c931c637 generic: rtl8367: add vendor prefix to the compatible string
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 36218
2013-04-06 12:37:32 +00:00
Gabor Juhos
f78c902cfd kernel: update linux 3.8 to 3.8.6
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 36215
2013-04-06 11:40:44 +00:00
Gabor Juhos
202fb45deb refresh kernel configs with kconfig.pl
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 36214
2013-04-06 11:40:41 +00:00
John Crispin
c838ec2391 Patch for invoking (pre)init
http://patchwork.openwrt.org/patch/3485/

Signed-off-by: Michael Heimpold <mhei@heimpold.de>

SVN-Revision: 36183
2013-04-03 10:00:50 +00:00
John Crispin
1105bd2897 add OF support to rtl8367b driver
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 36159
2013-04-03 09:58:33 +00:00
John Crispin
cc34858d4a make firmware loading work on v3.9
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 36158
2013-04-03 09:58:28 +00:00
Imre Kaloz
c90078ce87 refresh patches against -rc4
SVN-Revision: 36127
2013-03-25 13:53:48 +00:00
Imre Kaloz
f26378fd7c add missing symbols
SVN-Revision: 36126
2013-03-25 13:53:17 +00:00
Hauke Mehrtens
bb81e695f9 kernel: add missing config options for au1000 target
SVN-Revision: 36115
2013-03-24 14:01:38 +00:00
Hauke Mehrtens
18c47be19a kernel: add missing CONFIG_BLK_DEV_IDE_AU1XXX config option.
SVN-Revision: 36102
2013-03-21 14:56:04 +00:00
Hauke Mehrtens
4995f23669 kernel: REGMAP_SPI should only be selectable when SPI_MASTER is selected
This was turned from a silent confg option without a text to a normal
config option which could be selected without any other option
depending on this. This could cause the situation where REGMAP_SPI was
selected without SPI_MASTER being selected.

SVN-Revision: 36101
2013-03-21 14:50:59 +00:00
Hauke Mehrtens
c9544f4af0 kernel: add some fixes for kernel 3.9
This patch fixes some compile problems with kernel 3.9 and adds some missing linux 3.9 handling into kernel packages.

SVN-Revision: 36098
2013-03-20 21:59:24 +00:00
Hauke Mehrtens
99638c5288 kernel: add some missing config options for kernel 3.9
SVN-Revision: 36097
2013-03-20 21:53:51 +00:00
Florian Fainelli
b1cc7a90a4 kernel: make SND_COMPRESS_OFFLOAD symbol visible for selection (#13193)
Signed-off-by: Florian Fainelli <florian@openwrt.org>

SVN-Revision: 36091
2013-03-19 14:13:39 +00:00
Florian Fainelli
a5551d366a kernel: refresh 3.9 patches
Signed-off-by: Florian Fainelli <florian@openwrt.org>

SVN-Revision: 36074
2013-03-17 19:46:32 +00:00
Florian Fainelli
6a7100c760 kernel: set regmap-core module license
Fixes the following issues:
[    7.660000] regmap_core: module license 'unspecified' taints kernel
[    7.690000] Disabling lock debugging due to kernel
[    7.700000] regmap_core: Unknown symbol lzo1x_decompress_safe (err 0
[    7.710000] regmap_core: Unknown symbol lzo1x_1_compress (err 0
[    7.720000] regmap_core: Unknown symbol devres_add (err 0
[    7.730000] regmap_core: Unknown symbol debugfs_create_bool (err 0
[    7.750000] regmap_core: Unknown symbol devres_alloc (err 0
[    7.760000] regmap_core: Unknown symbol debugfs_remove_recursive (err 0
[    7.770000] regmap_core: Unknown symbol debugfs_create_file (err 0
[    7.780000] regmap_core: Unknown symbol devres_free (err 0
[    7.800000] regmap_core: Unknown symbol devres_find (err 0
[    7.810000] regmap_core: Unknown symbol debugfs_create_dir (err 0)

Signed-off-by: Florian Fainelli <florian@openwrt.org>

SVN-Revision: 36070
2013-03-17 19:45:48 +00:00
Gabor Juhos
72253b9073 generic: ar8216: start AR8327 switch from the probe routine
The AR8327 switch gets its configuration from platform
data or from the device-tree. This allows to start it
from the probe routine. Doing so makes it usable with
ethernet drivers which only connects to the PHY device
when the ethernet interface is opened.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 36050
2013-03-15 16:06:28 +00:00
Gabor Juhos
5503686f69 generic: ar8216: add ar8xxx_start helper
Move switch starting code into a separate function.
This makes it usable from other places.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 36049
2013-03-15 16:06:25 +00:00
Gabor Juhos
7ba6a8d8e8 generic: ar8216: add OF configuration support for AR8327
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 36047
2013-03-15 15:50:08 +00:00
Gabor Juhos
ee12b1b7d5 generic: ar8216: separate platform_data based AR8327 code
Move platform_data specific configuration code
into a separate routine. Do it in preparation
for the upcoming OF support.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 36046
2013-03-15 15:50:05 +00:00
Gabor Juhos
d88f66ae21 generic: ar8216: don't use platform_data in ar8327_init_port
Fetch the PORT_STATUS values in ar8327_hw_init and
store those in a private data stucture for later use.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 36045
2013-03-15 15:50:02 +00:00
Gabor Juhos
9d3f70d503 generic: ar8216: move the ar8327_get_port_init_status function
It will be used in ar8327_probe routine.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 36044
2013-03-15 15:50:00 +00:00
Gabor Juhos
17d735fc46 generic: ar8216: simplify and rename ar8327_config_port
Return with the PORT_STATUS register value instead of
writing that directly into the corresponding register.
Also rename the function to ar8327_get_port_init_status.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 36043
2013-03-15 15:49:57 +00:00
Gabor Juhos
3fee1bddbe generic: ar8216: remove superfluous pdata checks
The presence of the platform data is already verified in
ar8327_hw_init, and the driver does not start without that
anyway.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 36042
2013-03-15 15:49:55 +00:00
Gabor Juhos
07532dca7f kernel: update linux 3.8 to 3.8.3
Also refresh the related generic/platform patches.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 36039
2013-03-15 14:39:51 +00:00
Florian Fainelli
b2e63b8ea8 kernel: add support for 3.9-rc2
Signed-off-by: Florian Fainelli <florian@openwrt.org>

SVN-Revision: 36008
2013-03-14 14:45:56 +00:00
John Crispin
1360067c4a update the /init file to start /sbin/init
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 36002
2013-03-13 18:11:13 +00:00
Hauke Mehrtens
45b24fa771 kernel: add some missing config options found by the buildbot.
SVN-Revision: 35945
2013-03-10 20:25:19 +00:00
Felix Fietkau
53e0f10246 kernel: prevent -f*-sections from leaking into the boot zImage wrapper on arm
SVN-Revision: 35938
2013-03-10 17:04:36 +00:00
Felix Fietkau
2b83c9bd8a kernel: ensure that the arm exception handlers get preserved
SVN-Revision: 35937
2013-03-10 17:04:31 +00:00
Felix Fietkau
f0d7ba33ef kernel: use -ffunction-sections, -fdata-sections and --gc-sections on ARM to reduce kernel image size, disable those flags when tracing on MIPS to fix compile errors
SVN-Revision: 35936
2013-03-10 14:51:42 +00:00
Gabor Juhos
15718f5387 linux/3.8: add missing config symbols
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35931
2013-03-10 13:24:47 +00:00
Felix Fietkau
72af5b4b35 kernel: add a missing config symbol for 3.8
SVN-Revision: 35910
2013-03-09 19:04:37 +00:00
Felix Fietkau
85348d602e kernel: fix mpcore watchdog symbol export
SVN-Revision: 35907
2013-03-09 18:51:39 +00:00
Gabor Juhos
26fbc15a86 kernel: update linux 3.8 to 3.8.1
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35862
2013-03-03 13:58:52 +00:00
Gabor Juhos
da79a4c698 linux/3.8: add missing config symbols
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35861
2013-03-03 13:58:10 +00:00
Gabor Juhos
23b3b3a194 kernel: update linux 3.7 to 3.7.10
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35860
2013-03-03 13:57:40 +00:00
Gabor Juhos
babd5aa2fc linux/3.8: add missing config symbols
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35726
2013-02-21 16:52:34 +00:00
Jonas Gorski
3010a0b616 generic: b53: clear SM_SW_FWD_MODE unconditionally when enabling VLAN
Setting this bit stops BCM53125 (bgmac actually) from receiving any
packets. This bit is cleared conditionally in b53_switch_reset and it
seems the same is done in bcmrobo.c which never sets that bit again.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 35723
2013-02-21 11:45:38 +00:00
Jonas Gorski
23e71c56ba generic: b53: remove empty spaces
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 35722
2013-02-21 11:45:36 +00:00
Gabor Juhos
7d0d29ab6e linux/3.8: add missing Kconfig symbols
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35686
2013-02-19 20:52:03 +00:00
Gabor Juhos
ed0f43f1e2 kernel: update linux 3.8-rcX to 3.8
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35672
2013-02-19 09:17:38 +00:00
Gabor Juhos
451dd745bd generic: ar8216: cleanup function/variable names
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35642
2013-02-17 12:48:25 +00:00
Gabor Juhos
51996304c4 generic: ar8216: rename struct ar8216_priv to ar8xxx_priv
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35641
2013-02-17 12:48:23 +00:00
Hauke Mehrtens
1a8218d6e4 brcm47xx: add initial support for kernel 3.8
This contains the following new bigger changes:
 * new partition parser which still could lake some features or have bugs
 * new nand flash driver
 * using physmap-flash flash driver for parallel flash
 * some changes to the serial flash driver

With these changes OpenWrt starts using more of the mainline flash drivers.

SVN-Revision: 35632
2013-02-16 20:28:24 +00:00
Jonas Gorski
dd77663fb0 kernel: add missing config options
r35336 exposed PTP, which has additional drivers on ixp4xx, causing it to
not build with PTP enabled.

Signed-off-by: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 35611
2013-02-16 11:39:45 +00:00
Gabor Juhos
162b8e23a5 kernel: update linux 3.7 to 3.7.8
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35604
2013-02-15 07:36:15 +00:00
Gabor Juhos
f35c369710 generic: ar8216: move PHY4 RGMII workaround code out of the loop
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35603
2013-02-14 14:55:40 +00:00
Gabor Juhos
d64888ffc0 generic: ar8216: register the switch from the probe routine
Currently the switch gets registered when an ethernet
driver connects to a PHY of the switch. This method does
not work with the ethernet drivers which are connecting
to the PHY from their ndo_open callback. With those
ethernet drivers, the driver tries to register the switch
each time when the etherned device is opened and this causes
a deadlock.

Move the switch registration into the probe routine to fix
this problem.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35602
2013-02-14 14:01:24 +00:00
Gabor Juhos
bae4bfe3f8 kernel: update linux 3.7 to 3.7.7
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35571
2013-02-12 09:51:11 +00:00
Gabor Juhos
9525a075c1 ar8216: remove superfluous code from ar8216_config_init
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35562
2013-02-11 16:57:31 +00:00
Gabor Juhos
9c86d268eb generic: ar8216: don't use ethernet device name in register_switch
The switches are accessed via an MDIO bus. Set the alias
to the name of the MDIO bus, and show that in the message
along with the name of the switch switch device.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35560
2013-02-11 16:11:31 +00:00
Gabor Juhos
3f3eba88f6 generic: ar8216: reuse the private data from ar8216_probe
The private data of the switch is already
allocated in ar8216_priv, assign that to
each PHY on the same MDIO bus. Also remove
the redundant code from ar8216_config_init.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35559
2013-02-11 16:11:30 +00:00
Gabor Juhos
1afb759b35 generic: ar8216: use phydev instead of pdev everywhere
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35555
2013-02-11 13:25:43 +00:00
Gabor Juhos
0b1fe07e8e generic: ar8216: use pr_* macros for kernel messages
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35554
2013-02-11 13:14:00 +00:00
Gabor Juhos
eea297884e generic: ar8216: fix PHY features setup
Sujith says:

This commit breaks the WAN port on my AP96 - DHCP fails.
Reverting it fixes the issue.

  commit b67cc3a0cdd02973610d4d5a63226d1c44841e94
  Author: juhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>
  Date:   Fri Feb 8 09:13:18 2013 +0000

    generic: ar8216: simplify phy features setup

    Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

    git-svn-id: svn://svn.openwrt.org/openwrt/trunk@355183c298f89-4303-0410-b956-a3cf2f4a3e73

This change restores the previous behaviour and moves
the code into the ar8216_probe function.

Reported-by: Sujith Manoharan <sujith@msujith.org>
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Tested-by: Sujith Manoharan <sujith@msujith.org>

SVN-Revision: 35549
2013-02-11 10:05:35 +00:00
Gabor Juhos
617076c613 generic: ar8216: add ar8xxx_probe_switch helper
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35547
2013-02-10 19:02:01 +00:00
Gabor Juhos
98b13e39ac generic: ar8216: rename ar8xxx_mib_cleanup to ar8xxx_mib_stop
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35546
2013-02-10 18:42:08 +00:00
Gabor Juhos
f97170a720 generic: ar8216: free mib counters from ar8xxx_free
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35545
2013-02-10 18:42:07 +00:00
Gabor Juhos
7924e517af generic: ar8216: add ar8xxx_free helper
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35544
2013-02-10 18:42:05 +00:00
Gabor Juhos
77b3c551c4 generic: ar8216: add ar8xxx_create{,mii} helpers
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35543
2013-02-10 18:42:04 +00:00
Gabor Juhos
5f70b1db2a generic: ar8216: remove redundant phy address check
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35542
2013-02-10 18:38:12 +00:00
Gabor Juhos
14fd37258b generic: ar8216: only set phy_ptr if packet mangling is used
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35541
2013-02-10 18:38:10 +00:00
Gabor Juhos
393163b098 generic: ar8216: add defines for the AR8316 POSTRIP register
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35539
2013-02-10 13:18:48 +00:00
Gabor Juhos
5ed480598d generic: ar8216: don't probe the chip multiple times
It is only needed when the private data is allocated.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35538
2013-02-10 13:05:15 +00:00
Gabor Juhos
774da6c7a4 generic: ar8216: add sanity check to ar8216_probe
Verify that the mdio bus has PHY devices with
a supported PHY ID at address 0-4.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35537
2013-02-10 13:05:14 +00:00
Gabor Juhos
4720c75cf7 generic: ar8216: skip probe on unused PHY addresses
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35536
2013-02-10 13:05:12 +00:00
Jonas Gorski
eedc3554fe generic: b53: fix reverted error check in probe
b53_switch_detect returns value returned by b53_read8, which is 0 for
success. So fail (and return error) only if b53_switch_detect returned
something else than 0. This fixes supported and advertising being zeros
for MDIO access.

Cc: Jonas Gorski <jogo@openwrt.org>
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 35534
2013-02-10 12:31:36 +00:00
Gabor Juhos
de123c4409 generic: ar8216: move sleep out of the loop
It is enough to sleep once after ANEG is enabled on
all PHYs. This reduces boot time on boards with
AR8316 switch.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35532
2013-02-09 13:26:04 +00:00
Gabor Juhos
aa04441904 generic: ar8216: simplify phy features setup
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35518
2013-02-08 09:13:18 +00:00
Gabor Juhos
9c1f95a416 generic: ar8216: don't use mdio bus specific functions in ar8216_id_chip
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35517
2013-02-08 09:13:14 +00:00
Gabor Juhos
5393efc0c7 generic: ar8216: use inline function to convert swdev to ar8216
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35514
2013-02-07 15:18:36 +00:00
Gabor Juhos
b87a1c757d generic: ar8216: add mii_bus field to struct ar8216_priv
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35513
2013-02-07 15:18:35 +00:00
Gabor Juhos
c130a3feac generic: mvswitch: add detach callback
Use the detach callback to disable packet mangling
to avoid possible NULL pointer dereference.

Compile tested only.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35512
2013-02-07 15:18:34 +00:00
Gabor Juhos
4be8c22e74 generic: ar8216: add detach callback
The current code uses the 'remove' callback to disable
packet mangle on the underlying ethernet device.
However the attached_dev is always NULL when the
'remove' callback is called by phylib, and this causes
NULL pointer dereference, like this:

  [  475.300000] CPU 0 Unable to handle kernel paging request at virtual address 000000f0, epc == 801cdcf0, ra == 801c7eac
  [  475.310000] Oops[#1]:
  [  475.310000] Cpu 0
  [  475.310000] $ 0   : 00000000 00000000 00000000 00000001
  [  475.310000] $ 4   : 828dde00 00000005 828dde08 ffffffff
  [  475.310000] $ 8   : 00380081 00380081 82902a40 00000001
  [  475.310000] $12   : 00000037 00370081 00000001 00000000
  [  475.310000] $16   : 82865000 828dde08 828dde00 00000001
  [  475.310000] $20   : 00000080 00460000 00000002 77151448
  [  475.310000] $24   : 00000000 801abfd4
  [  475.310000] $28   : 82cc2000 82cc3d58 0053c3c4 801c7eac
  [  475.310000] Hi    : 00000007
  [  475.310000] Lo    : 00000004
  [  475.310000] epc   : 801cdcf0 ar8216_remove+0x1c/0x94
  [  475.310000]     Tainted: G           O
  [  475.310000] ra    : 801c7eac phy_remove+0x4c/0x6c
  [  475.310000] Status: 1000cc03    KERNEL EXL IE
  [  475.310000] Cause : 00800008
  [  475.310000] BadVA : 000000f0
  [  475.310000] PrId  : 00019750 (MIPS 74Kc)
  [  475.310000] Modules linked in: ath79_wdt ledtrig_usbdev ledtrig_netdev ag71xx(-) nf_nat_irc nf_nat_ftp nf_conntrack_irc nf_conntrack_ft
  p ipt_MASQUERADE iptable_nat xt_nat nf_nat_ipv4 nf_nat pppoext_conntrack xt_CT iptable_raw xt_state nf_conntrack_ipv4 nf_defrag_ipv4 nf_co
  nntrack ehci_hcd pppox ipt_REJECT xt_TCPMSS xt_LOG xt_comment xt_multiport xt_mac xt_limit iptable_mangle iptable_filter ip_tables xt_tcpu
  dp x_tables ppp_async ppp_generic slhc ath9k(O) ath9k_common(O) ath9k_hw(O) ath(O) mac80211(O) usbcore usb_common nls_base crc_ccitt cfg80
  211(O) compat(O) arc4 crypto_blkcipher aead ledtrig_timer ledtrig_default_on leds_gpio gpio_button_hotplug(O)
  [  475.310000] Process rmmod (pid: 1160, threadinfo=82cc2000, task=83969920, tls=7747c440)
  [  475.310000] Stack : 828dde08 802f5004 802f4680 00000001 828ddf70 801c7eac 802f4680 801ad6d8
          82902940 00000000 828dde08 802f5004 802f4680 801ad770 00000002 80269d94
          00000000 00000001 00000080 828dde08 828dde3c 801ad7fc 82902940 00000000
          83859100 00000000 8384dd2c 8384dd2c 828dde08 801ad230 82902800 00000000
          00000000 001a0041 828dde08 828dde08 802e80e8 801aac44 00000080 00460000
          ...
  [  475.310000] Call Trace:
  [  475.310000] [<801cdcf0>] ar8216_remove+0x1c/0x94
  [  475.310000] [<801c7eac>] phy_remove+0x4c/0x6c
  [  475.310000] [<801ad770>] __device_release_driver+0x6c/0xd0
  [  475.310000] [<801ad7fc>] device_release_driver+0x28/0x40
  [  475.310000] [<801ad230>] bus_remove_device+0xd8/0x10c
  [  475.310000] [<801aac44>] device_del+0x110/0x170
  [  475.310000] [<801aacb8>] device_unregister+0x14/0x28
  [  475.310000] [<801c92b0>] mdiobus_unregister+0x4c/0x70
  [  475.310000] [<82913060>] ag71xx_remove_ar8216_header+0xdc/0x5a8 [ag71xx]
  [  475.310000]
  [  475.310000]
  Code: 1200001c  8c82017c  ac800128 <8c4500f0> 3c03ffdf  3463ffff 00a31824  ac4300f0  ac4000e0

Add a detach callback and disable packet mangling in
that to fix the problem.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35511
2013-02-07 15:18:32 +00:00
Gabor Juhos
fe61fc2d7d generic: add detach callback to struct phy_driver
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35510
2013-02-07 15:18:24 +00:00
Gabor Juhos
395d0bdc1f generic: ar8216: clear driver specific data pointer in phy_device
This is needed to avoid a NULL pointer dereference:

  [   19.525270] Unable to handle kernel paging request for data at address 0x00000018
  [   19.532750] Faulting instruction address: 0xc016e104
  [   19.537714] Oops: Kernel access of bad area, sig: 11 [#1]
  [   19.543102] P1010 RDB
  [   19.545365] Modules linked in: booke_wdt nf_nat_irc nf_nat_ftp nf_conntrack_irc nf_conntrack_ftp ipt_MASQUERADE iptable_nat xt_nat d
  [   19.590725] NIP: c016e104 LR: c0171490 CTR: 00000000
  [   19.595681] REGS: c4bc3c10 TRAP: 0300   Tainted: G        W  O (3.7.6)
  [   19.602284] MSR: 00029000 <CE,EE,ME>  CR: 82002022  XER: 20000000
  [   19.608381] DEAR: 00000018, ESR: 00000000
  [   19.612382] TASK = c4cd9c80[2070] 'ifconfig' THREAD: c4bc2000
  GPR00: 00000001 c4bc3cc0 c4cd9c80 00000000 c7811000 00000000 00000000 0000e8ec
  GPR08: 0000e8eb 00000000 00029000 00000001 00000000 100801f8 1005c51c 1005c514
  GPR16: 1005c468 1005c54c 1005c258 1005c530 10060000 00000000 c7811000 ffff8914
  GPR24: c7815030 c793e400 10063adb 00000000 c7811000 c045594c c78ca600 c7815000
  [   19.646352] NIP [c016e104] register_switch+0x98/0x2d0
  [   19.651397] LR [c0171490] ar8216_config_init+0x2d8/0x3f4
  [   19.656697] Call Trace:
  [   19.659138] [c4bc3cc0] [c0170490] ar8216_mii_read+0x64/0xc4 (unreliable)
  [   19.665835] [c4bc3d00] [c0171490] ar8216_config_init+0x2d8/0x3f4
  [   19.671835] [c4bc3d20] [c016cf8c] phy_init_hw+0x50/0x6c
  [   19.677053] [c4bc3d30] [c016d078] phy_attach_direct+0xd0/0xf8
  [   19.682793] [c4bc3d50] [c016d154] phy_connect_direct+0x24/0x68
  [   19.688621] [c4bc3d70] [c0183b70] of_phy_connect+0x48/0x6c
  [   19.694102] [c4bc3d90] [c0175aac] gfar_enet_open+0x254/0x3d8
  [   19.699755] [c4bc3db0] [c019acc4] __dev_open+0xc0/0x120
  [   19.704975] [c4bc3dd0] [c019af98] __dev_change_flags+0xd4/0x15c
  [   19.710888] [c4bc3df0] [c019b0d4] dev_change_flags+0x1c/0x60
  [   19.716544] [c4bc3e10] [c01ebb94] devinet_ioctl+0x290/0x690
  [   19.722111] [c4bc3e70] [c01ec8d4] inet_ioctl+0x88/0xbc
  [   19.727245] [c4bc3e80] [c0186b98] sock_ioctl+0x258/0x294
  [   19.732551] [c4bc3ea0] [c009c00c] do_vfs_ioctl+0x6a4/0x728
  [   19.738031] [c4bc3f10] [c009c0d4] sys_ioctl+0x44/0x70
  [   19.743077] [c4bc3f40] [c000c74c] ret_from_syscall+0x0/0x3c
  [   19.748646] --- Exception: c01 at 0x48091b34
  [   19.748646]     LR = 0x480e4b64
  [   19.756033] Instruction dump:
  [   19.758991] 2f830000 907f0050 3860fff4 419e021c 837f0000 38000000 901f0038 901f0040
  [   19.766744] 901f003c 7f600034 5400d97e 0f000000 <801b0018> 2f800000 40be0010 801b001c

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35497
2013-02-05 08:39:26 +00:00