This patch adds support for the PCIe controller
In addition to the PCIe controller a sprom is now provided by a device
tree driver to bcma from some nvram.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 40880
Support is added only for kernel 3.14 - do not show it until
the switch is made.
Following uboot env changes are needed to make it work on stock uboot:
550-ubifs-symlink-xattr-support.patch contains a reference to the
by now obsolete config symbol CONFIG_UBIFS_FS_XATTR which leads to
the functionality originally added by the patch in r30794 being
left-out during compile since commit 1bdcc63112a0
("UBIFS: remove xattr Kconnfig option") in v3.5.
Fix this by removing the #ifdef from all affected kernels as XATTR
support is now always enabled for UBIFS as well.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
SVN-Revision: 40864
Revert the tagged + untagged rework for now due to regressions in
vlan setup on certain AR83xx switches.
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
SVN-Revision: 40842
The most important one is qca_force_host_mode, which also sets the
'Stream Disable' bit in the usbmode register.
Fixes usb stability issues on AR933x and AR7241/AR7242
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
SVN-Revision: 40841
Replace the global "vlan_tagged" variable with an array storing the
tagging state per vlan.
The code was taken from #12181, tested and cleaned up by Saverio Proto
with additional bug fixes supplied by Álvaro Fernández.
Tested-by: Jo-Philipp Wich <jow@openwrt.org>
Signed-off-by: Saverio Proto <zioproto@gmail.com>
Signed-off-by: Álvaro Fernández <noltari@gmail.com>
SVN-Revision: 40777
We should be more careful and don't generate 128K JFFS2 images for
devices with flashes using 64K blocks (nor the other way).
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
SVN-Revision: 40762
The change is the same as ("kernel/generic: modify mtd related
patches"). Since these files are under files directory, not a files
directory of specific kernel version, better to also change them. So
it will avoid adding files to future specific files directory
(e.g. files-3.14) for this mtd related change.
Signed-off-by: Zhao, Gang <gamerh2o@gmail.com>
SVN-Revision: 40732
Function register_mtd_parser always returned 0 (at least since v3.3)
before being changed to return void in v3.14-rc1~65^2~93 (mtd: make
register_mtd_parser return void), so it's not needed to check the
return value of this function. Also add __init flag to caller.
This fix compile errors in 3.14 kernel like:
drivers/mtd/mtdsplit_seama.c: In function 'mtdsplit_seama_init':
drivers/mtd/mtdsplit_seama.c:99:2: error: void value not ignored as it ought to be
return register_mtd_parser(&mtdsplit_seama_parser);
^
Signed-off-by: Zhao, Gang <gamerh2o@gmail.com>
SVN-Revision: 40731
While at it, make spelling at little bit more consistent,
at least for my taste :-)
Signed-off-by: Michael Heimpold <mhei@heimpold.de>
SVN-Revision: 40679
There are two packages with the name kmod-usb-mxs-phy in OpenWrt which
causes warnings on every build.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 40663
With gcc-4.8 I get a compile error with kernel 3.3.
This patch fixes this problem by backporting a patch from a more recent kernel version.
CC arch/mips/mm/page.o
arch/mips/mm/page.c:89:6: error: 'clear_page' alias in between function and variable is not supported
void clear_page(void *page) __attribute__((alias("clear_page_array")));
^
arch/mips/mm/page.c:84:12: error: 'clear_page_array' aliased declaration [-Werror]
static u32 clear_page_array[0x120 / 4];
^
arch/mips/mm/page.c:108:6: error: 'copy_page' alias in between function and variable is not supported
void copy_page(void *to, void *from) __attribute__((alias("copy_page_array")));
^
arch/mips/mm/page.c:102:12: error: 'copy_page_array' aliased declaration [-Werror]
static u32 copy_page_array[0x540 / 4];
^
arch/mips/mm/page.c:108:6: error: 'copy_page' alias in between function and variable is not supported
void copy_page(void *to, void *from) __attribute__((alias("copy_page_array")));
^
arch/mips/mm/page.c:102:12: error: 'copy_page_array' aliased declaration [-Werror]
static u32 copy_page_array[0x540 / 4];
^
arch/mips/mm/page.c:89:6: error: 'clear_page' alias in between function and variable is not supported
void clear_page(void *page) __attribute__((alias("clear_page_array")));
^
arch/mips/mm/page.c:84:12: error: 'clear_page_array' aliased declaration [-Werror]
static u32 clear_page_array[0x120 / 4];
^
cc1: all warnings being treated as errors
make[7]: *** [arch/mips/mm/page.o] Error 1
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 40619
From 9158e3282db592e78fb32a2c8a0903ef21b97f5c Mon Sep 17 00:00:00 2001
From: Owen Kirby <osk@exegin.com>
Date: Fri, 11 Apr 2014 18:28:56 -0700
Subject: [PATCH 3/3] [at91] Add AT91 board and model name to /tmp/sysinfo.
This patch extracts the board name and model information from the /proc/device-tree
node in order to provide something a little more friendly on the LuCI sysinfo page
than just "AT91SAM9 (Device Tree)"
Signed-off-by: Owen Kirby <osk@exegin.com>
SVN-Revision: 40598
From 272f548fe8d0b811e0589e535f650f0507f6bccd Mon Sep 17 00:00:00 2001
From: Owen Kirby <osk@exegin.com>
Date: Fri, 11 Apr 2014 17:59:55 -0700
Subject: [PATCH 2/3] [at91] AT91SAM9G20-EK fixes.
While testing the 3.10 kernel update, I found that the out-of-the-box device tree for the
the AT91SAM9G20EK uses a UBIFS rootfs and stores the DTB separately from the zImage.
Signed-off-by: Owen Kirby <osk@exegin.com>
SVN-Revision: 40597
Remove get_c0_compare_int fix which is useless for latest kernels.
Tested on Ubnt Bullet2, which could successfully boot without this
workaround.
Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
SVN-Revision: 40593
This reverts commit 0772ab938c0aedd7f4cc7127059d6ce8cf929dfa.
Trying to optimize calls to eth_complete_tx in this fasion causes a regression
where when sending only the tx queue can get disabled until a packet is
received. This original call to eth_schedule_poll() is scheduled so it
should not cause a performance issue.
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
SVN-Revision: 40592
r40587 added some kernel config options, on which these two ones depend.
This fixes the build of the buildbots.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 40588
The 7Links PX-4885 is a small battery-powered wireless router.
It is based on a RT5350F WiSoC and features one ethernet port and one
USB port. It is a Hame MPR-A1 clone, except it has different GPIOs,
a different battery and more RAM (32 MB).
This patch adds a profile for this board, the corresponding device tree
file and the adequate base-files changes (incl. sysupgrade).
Signed-off-by: Hugo Grostabussiat <bonstra@bonstra.fr.eu.org>
SVN-Revision: 40554
This patch adds port status information and MIB counters to the ADM6996
switch driver.
The driver supports also the older ADM6996L-variant, but I'm not able to
test this patch on that chip. According to the datasheet the same
registers exist there as well, so I think it should work, but any
feedback is appreciated.
Signed-off-by: Matti Laakso <malaakso at elisanet.fi>
SVN-Revision: 40542
The total ethernet frame length should be written to the hardware
register LTQ_ETOP_IGPLEN instead of just the value of the MTU. This
patch fixes network issues on various Danube boards, especially when
VLAN tagging is enabled.
Signed-off-by: Matti Laakso <malaakso at elisanet.fi>
SVN-Revision: 40541
The canbus package was recently changed to a more active project. This patch
updates the default package names to include the same functionality as before.
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
SVN-Revision: 40531
The RB91x boards are suffering from ethernet packet loss after a cold
boot. The cause of the problem is that the AR8035 PHYs requires special
register settings to work reliably on these boards.
Enable the RGMII TX, RX delays and disable SmartEE functionality of
the AR8035 PHYs. Also enable the RXD delay in the ETH_CFG register
to fix the issue.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 40509
Add a patch for the at803x phy driver, in order to be able
to configure some register settings via platform data.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 40507
Forgotten patch to fix ethernet for rt2880.
Based on previously submitted patch from Claudio.
Signed-off-by: Roman Yeryomin <roman@advem.lv>
SVN-Revision: 40504
Signed-off-by: André Valentin <avalentin@marcant.net>
Patchwork: http://patchwork.openwrt.org/patch/5101/
[juhosg: use zyxel prefix in LED names]
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 40500
With this patch OpenWRT supports the following on the ZyXEL NBG 6716:
-WiFi 2G (ath9k)
-WiFi 5G (ath10k)
-NAND flash
-2 Ethernet interfaces
-USB 2.0
-LEDs including switch
-reasonale defaults at first boot
Signed-off-by: André Valentin <avalentin@marcant.net>
Patchwork: http://patchwork.openwrt.org/patch/5101/
[juhosg:
- rename and refresh kernel patch,
- fix a few typos,
- change button key codes,
- use zyxel prefix in LED names]
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 40499
This patch moves ARV7519RW definitions to VR9 section from the AR9 section and removes a whitespace that breaks jffs2 image generation.
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
SVN-Revision: 40495
Based on the the WNDR3700v4 support patch from Ralph Perlich:
http://patchwork.openwrt.org/patch/4763/
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 40481
Apart from the wireless chip, the WNDR3700 v4 and the WNDR4300
is the same device. Indicate this in the kernel files.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 40479
The 5V power of the USB is controlled by a GPIO pin of
the external WiFi chip. Setup the GPIO bitmasks in the
platform data of the WiFi chip to ensure that the 5V
power gets enabled by the ath9k driver.
Based on the the WNDR3700v4 support patch from Ralph Perlich:
http://patchwork.openwrt.org/patch/4763/
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 40478
Based on the the WNDR3700v4 support patch from Ralph Perlich:
http://patchwork.openwrt.org/patch/4763/
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 40477
Based on the the WNDR3700v4 support patch from Ralph Perlich:
http://patchwork.openwrt.org/patch/4763/
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 40475
The bootloader does not initializes the output function
correctly for all LEDs. DO that from the board setup code.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 40474
The hardware manual says amber so change the color part of
the LED names to reflect that. Also update the constant names.
Based on the the WNDR3700v4 support patch from Ralph Perlich:
http://patchwork.openwrt.org/patch/4763/
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 40473
Adds support for the received signal strength indicator LEDs of the
Bullet M, Nanostation M and Rocket M devices.
Signed-off-by: Felix Kaechele <heffer@fedoraproject.org>
Patchwork: http://patchwork.openwrt.org/patch/5108/
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 40471
According to Christophe, the kernel boots on the Soekris net5501
board.
Reported-by: Christophe Prevotaux <cprevotaux@nltinc.com>
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 40468
Move the comments out from the shell script to fix build
breakage introduced in r40464.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 40466
The C7v2 has 16 MB flash and QCA9880-BR4A rev 2 supported by ath10k driver.
The C7v1 had 8 MB flash and the unsupported QCA9880-AR1A rev 1.
Signed-off-by: Adam Serbinski <adam@serbinski.com>
Patchwork: http://patchwork.openwrt.org/patch/5071/
[juhosg:
- remove the v2 specific profile add the ath10k driver to the existing
Archer C7 profile instead. Although on v1 devices it does not change
the non-working behaviour, but the ath10k driver is useful for users
whom have replaced the wifi card with a supported one in their units.
- update image/Makefile to build firmware image for both boards if the
Archer C7 profile is selected]
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 40463
* atm module needs to be loaded before linux-atm
* use absolute firmware paths
* extended validation
* add a script for mounting an optional firmware partition
Signed-off-by: John Crispin <blogic@openwrt.org>
SVN-Revision: 40460
Place the previous selection (3.3.8) into the only subtarget that did
not override it to 3.10
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
SVN-Revision: 40454
This bgmac patch was an attempt to fix/workaround bug reported in
https://dev.openwrt.org/ticket/7198 noticed on WNR3500L.
Patch assumed length reported by the hardware was 0 and was trying to
read it until getting a different value. This was actually the opposite.
Lenghts were some invalid & huge values that resulted in skb_over_panic.
For example:
skbuff: skb_over_panic: text:83b21074 len:57222 (...)
skbuff: skb_over_panic: text:87af1024 len:43226 (...)
skbuff: skb_over_panic: text:87af5024 len:8739 (...)
So instead of that not-working patch checking for 0, write a new one
checking for huge values. In case something like that happens, dump
hardware state and drop the packet.
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
SVN-Revision: 40424
this should really be auto detected by the kernel, lets used this workaround until the real
solution is ready
Signed-off-by: John Crispin <blogic@openwrt.org>
SVN-Revision: 40418
Everything seems to be working fine. Potential issues:
* VLAN port IDs are reversed with regard to the numbers on the case.
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
SVN-Revision: 40400
I don't have access to the specs, so I'm not sure about every detail, but I
haven't seen any problems with my test system, a TL-WR841N v9. It looks pretty
much like a QCA955x without PCI, a little twist in the clock calculation and
a AR9331-compatible switch.
Features not yet supported:
* EHCI (my test system doesn't have USB)
* ? (I have no idea if the QCA953x has any other features I don't know about
that aren't used by the TL-WR841N v9)
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
SVN-Revision: 40399
mempy_fromio seems to be randomly failing when the destination is
unaligned; work around it by forcing the name to be aligned in memory.
Should fix jffs2 and SMP for now, but needs to be some additional
looking into as it does not fix the source.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 40396
Now that 3.13 will be EOL soon, switch to 3.14.
Known issues:
* 74x164 is not available because upstream dropped non-DT support
* jffs2 breaks with SMP
Unknown issues:
* probably plenty
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 40380
Handle it by creating a new patch for simple database changes.
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 40345
These patches add support for the Astoria ARV7519RW aka Livebox 2.1
The PCI and PCIe interfaces have been disabled. Also, because there are
two revisions of this board with different GPHY firmwares, two targets
were defined.
V2: rewrote partitions to work with an u-boot specifically made for
these boards.
Signed off by: Esteban Benito <estebanjbs@gmail.com>
Signed off by: Carles Gadea <carlesgrg@gmail.com>
Tested by: José Vázquez Fernández <ppvazquezfer@gmail.com>
SVN-Revision: 40329
ARV7510PW22, ARV752DPW and ARV752DPW22 have the RT2860 eeprom stored in
flash as big-endian, but the driver needs it in little-endian format. We
have to swab it before handing it over. This requires my earlier patch
for busybox.
Funnily enough, ARV752DPW works also with the incorrect eeprom, but
undoubtedly unoptimally. I have a hunch that also the final remaining
Lantiq board would require this swabbing, but I'm not sure, so I just
swab it in the three boards that I know about.
v2:
* Swab also on ARV7510PW22 based on feedback from Alvaro Rojas
* Fix the offset with bs=2
Signed-off-by: Matti Laakso <malaakso at elisanet.fi>
SVN-Revision: 40328
The existing code only tries to split a parition with name "rootfs"
while actually looking for kernel+rootfs, where usually "firmware" is
used as a partition name. This doesn't make sense, as even if there
was a partition 'rootfs' given by mtdparts or via device-tree, this
code would lead to another partition called 'rootfs' being created
which would not be properly distinguished in the current user-space
code.
While potentially we could use CONFIG_MTD_SPLIT_FIRMWARE_NAME to make
that configurable, the lack of users of brnboot and the fact that we
can freely decide the partition name made me simply change the
hard-coded string constant from "rootfs" to "firmware".
(I'm going to add support for ARV7506PW which run brnboot and needs
this change)
SVN-Revision: 40324
This patch adds almost full support for this board.
- WiFi is still not working
- USB will not power up. According to some reports, it may be a passive port
Signed-off-by: Antonios Vamporakis <ant@area128.com>
SVN-Revision: 40319
This patch adds almost full support for this board. WiFi is still not working.
The FXS ports are not functional due to missing support for the TAPI driver on
VR9 SoC.
Signed-off-by: Antonios Vamporakis <ant@area128.com>
Tested-by: Luka Perkov <luka@openwrt.org>
SVN-Revision: 40317
Both the GPL driver from ZyXEL and the xrx200 driver have this error. The flags
are reversed. Full duplex is marked as half and the other way around. With this
fix the switch will push full GBit speeds.
Signed-off-by: Antonios Vamporakis <ant@area128.com>
SVN-Revision: 40312
Export the ubi_num and vol_id into the sysfs record of the gluebi-
emulated mtd device. Previously userspace didn't have a way to
map gluebi-emulated devices back to their corresponding ubi volumes.
SVN-Revision: 40306
If the CPU port is not forced up, the link, at least on this board, is lost after
changes are applied. This makes sure that the link is restored. Regression tests
should confirm it doesn't break other boards.
Signed-off-by: Antonios Vamporakis <ant@area128.com>
SVN-Revision: 40305
- hide port pvid - vlan index relation
- switch initialises with vlans disabled so port isolation is not used
- remove special treatment of cpu port
Signed-off-by: Antonios Vamporakis <ant@area128.com>
SVN-Revision: 40304
Changes to:
- show the correct "enable_vlan" value under "Global attributes"
- show tagged ports under "Vlan: ports"
- use get_port_link method to report link status
Signed-off-by: Antonios Vamporakis <ant@area128.com>
SVN-Revision: 40303
The version of TL-WDR4300 sold in Israel comes with a different
hardware id.
Patch-by: Daniel <daniel@makrotopia.org>
Patchwork: http://patchwork.openwrt.org/patch/5001/
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 40038
Patch-by: Lars Bøgild Thomsen <lth@cow.dk>
Patchwork: http://patchwork.openwrt.org/patch/4922/
[juhosg: use correct board name in uci-defaults/02_network]
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 40033
Patch-by: Lars Bøgild Thomsen <lth@cow.dk>
Patchwork: http://patchwork.openwrt.org/patch/4922/
[juhosg:
- use a separate patch for kernel changes,
- reorder Kconfig and Makefile entries,
- change function and variable names to be lowercase only
and fix misaligned tabs in mach-gs-oolite.c,
... ]
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 40032
Function move_config should be called after or during preinit_mount_root
hook in do_mount_root function. At this state sysupgrade.tgz is not in its
place during that time when do_mount_root is called. Function move_config
is called later so the sysupgrade.tgz stays in root directory to the second
restart when it is unpacked properly.
This patch adds move_config function to preinit_mount_root hook instead
of preinit_main and changes the filename of script to be called before
80_mount_root is called. It will prepare the sysupgrade archive for do_mount_root
within preinit_mount_root hook.
This issue was introduced for target x86. Since the target for x86_64 is
similar to x86, this issue is present also in this target. It solves the
ticket #15042 and #14088.
Signed-off-by: Jiri Slachta <slachta@cesnet.cz>
Tested-By: Stefan Hellermann <stefan@the2masters.de>
SVN-Revision: 39997
Function move_config should be called after or during preinit_mount_root
hook in do_mount_root function. At this state sysupgrade.tgz is not in its
place during that time when do_mount_root is called. Function move_config
is called later so the sysupgrade.tgz stays in root directory to the second
restart when it is unpacked properly.
This patch adds move_config function to preinit_mount_root hook instead
of preinit_main and changes the filename of script to be called before
80_mount_root is called. It will prepare the sysupgrade archive for do_mount_root
within preinit_mount_root hook.
This patch solves ticket #15042 and #14088.
Signed-off-by: Jiri Slachta <slachta@cesnet.cz>
SVN-Revision: 39996
Patch 642-bridge_port_isolate.patch needs to be updated
for kernels 3.12, 3.13 and 3.14 as the define for BR_ISOLATE_MODE
conflicts with BR_LEARNING
Signed-off-by: Jonas Eymann <j.eymann@gmx.net>
SVN-Revision: 39955
Now that GCC 4.8 is the default, make sure that we have the relevant
memset fixes to avoid nasty kernel crashes.
Signed-off-by: Florian Fainelli <florian@openwrt.org>
SVN-Revision: 39902
The flash address passed to rb_init_info() is bogus,
use the predefined AR71XX_SPI_BASE macro instead.
Compile tested only.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 39891
sizeof(array_from_function_definition) gives back the size of the pointer.
sizeof(type) * array_size should be used in memset.
Signed-off-by: David Völgyes <david.volgyes@gmail.com>
Patchwork: http://patchwork.openwrt.org/patch/4950/
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 39890
And while at it, fix the nomenclature, BCM947xx/953xx refer to specific boards,
while BCM47xx/BCM53xx refer to chip identification number.
Signed-off-by: Florian Fainelli <florian@openwrt.org>
SVN-Revision: 39841
The uImage target will always fail on a clean build due to dependency issues.
Building the uImage isn't necessary anyway as its re-built with correct
entry points in image/Makefile so remove it.
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
SVN-Revision: 39778
Update our copies of the brcm2708 patches to the latest rpi-3.10-y
rebased against linux-3.10.y stable (3.10.32). This should hopefully
make it easier for us in the future to leverage the raspberry/rpi-*
branches.
Signed-off-by: Florian Fainelli <florian@openwrt.org>
SVN-Revision: 39770
Define KERNELNAME to Image to get the build system to copy this image
over $(KDIR) automatically for us.
Signed-off-by: Florian Fainelli <florian@openwrt.org>
SVN-Revision: 39768
We already clean up tx descriptors in the napi eth_poll() function so it
would likely be rare to run out of available descriptors in eth_xmit. Thus
we can clean them up only when needed and return busy only when we
still don't have enough.
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
SVN-Revision: 39762
The combination of r35942 and r35952 causes an issue where eth_schedule_poll()
can be called from a different CPU between the call to napi_complete() and the
setting of cur_index which can break the rx ring accounting and cause ethernet
latency and/or ethernet stalls. The issue can be easilly created by adding
a couple of artificial delays such as:
@@ -715,6 +715,7 @@ static int eth_poll(struct napi_struct *napi, int budget)
if (!received) {
napi_complete(napi);
+udelay(1000);
enable_irq(IRQ_CNS3XXX_SW_R0RXC);
}
@@ -727,6 +728,7 @@ static int eth_poll(struct napi_struct *napi, int budget)
rx_ring->cur_index = i;
wmb();
+udelay(1000);
enable_rx_dma(sw);
return received;
This patch moves the setting of cur_index back up where it needs to be and
addresses the original corner case that r35942 was trying to catch in an
improved fashion by checking to see if the rx descriptor ring has become
full before interrupts were re-enabled so that a poll can be scheduled again
and avoid an rx stall caused by rx interrupts ceasing to fire again.
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
SVN-Revision: 39761
The IMX6 SoC uses an ARM Cortext-A9 which has both NEON and VFPv3 hardware
blocks. This will tune gcc to use neon instead of vfpv3 which will outperform
VFPv3.
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
SVN-Revision: 39760
The OpenWrt build system uses MACHINE_FEATURES of fpu to set the HAS_FPU which
in turn sets the default of CONFIG_SOFT_FLOAT as well as uClibc configuration.
As the IMX6 SoC has both vfpv3 and NEON hardware support we want to add fpu
to the feature list. This will default the IMX6 target to use -mfloat-abi=hard
which will the be most efficient use of floating point.
When switching to hard float, we also need to enable VFP support in the kernel.
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
SVN-Revision: 39759
We were copying the actual vmlinux-initramfs.elf kernel which cannot be
launched by QEMU or a real bootloader, use zImage-initramfs instead.
Signed-off-by: Florian Fainelli <florian@openwrt.org>
SVN-Revision: 39756
The ar71xx platform always uses the eth0 interface to provide
access to the device in failsafe mode. Due to this, failsafe
access is broken on devices where the LAN ports are connected
to the 'eth1' interface.
Update the relevant script to correctly set the ifname variable
for these devices.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 39752
Add support for 3.13 as a development kernel. Mostly untested, only net
booted. If flashed may brick your router or kill your cat.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 39746
Let the switch start the carrier and set the duplex mode independently
if this nic is up of not.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 39733