aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/cns3xxx
Commit message (Collapse)AuthorAgeFilesLines
* [cns3xxx]: Add GW2385 supportImre Kaloz2014-03-121-0/+30
| | | | | | | | | Signed-off-by: Tim Harvey <tharvey@gateworks.com> Signed-off-by: Imre Kaloz <kaloz@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39894 3c298f89-4303-0410-b956-a3cf2f4a3e73
* [cns3xxx]: various dwc (OTG) driver fixupsImre Kaloz2014-03-128-95/+442
| | | | | | | | | Signed-off-by: Tim Harvey <tharvey@gateworks.com> Signed-off-by: Imre Kaloz <kaloz@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39892 3c298f89-4303-0410-b956-a3cf2f4a3e73
* cns3xxx: fix uImage build issueFelix Fietkau2014-03-051-1/+1
| | | | | | | | | | 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> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39778 3c298f89-4303-0410-b956-a3cf2f4a3e73
* cns3xxx: ethernet - clean up tx descs only when neededFelix Fietkau2014-02-271-4/+8
| | | | | | | | | | | 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> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39762 3c298f89-4303-0410-b956-a3cf2f4a3e73
* cns3xxx: ethernet - resolve SMP issueFelix Fietkau2014-02-271-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39761 3c298f89-4303-0410-b956-a3cf2f4a3e73
* [cns3xxx]: add uImage image buildImre Kaloz2013-11-101-26/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - add building of a standard uImage along with the combined kernel+rootfs - remove 'old' image build - that was for a very old and obsolete bootloader To update the bootloader for GW2387,GW2388,GW2391 (NOR Flash) from uboot: put latest NOR bootloader on tftp server: http://svn.gateworks.com/laguna/trunk/images/u-boot_nor.bin Laguna> setenv ipaddr <localip> Laguna> setenv ipaddr <serverip> Laguna> tftpboot 0x800000 laguna/u-boot-nor.bin Laguna> erase 0x10000000 +$(filesize) Laguna> cp.b 0x800000 0x10000000 $(filesize) Laguna> reset To update the bootloader for GW2380,GW2382,GW2383 (SPI Flash) from uboot: put latest SPI bootloader on tftp server: http://svn.gateworks.com/laguna/trunk/images/u-boot_spi.bin Laguna> setenv ipaddr <localip> Laguna> setenv ipaddr <serverip> Laguna> tftpboot 0x800000 laguna/u-boot-spi.bin Laguna> erase 0x60000000 +$(filesize) Laguna> cp.b 0x800000 0x60000000 $(filesize) Laguna> reset Signed-off-by: Tim Harvey <tharvey@gateworks.com> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38703 3c298f89-4303-0410-b956-a3cf2f4a3e73
* [cns3xxx]: add pushbutton GPIO for GW2380/82/83Imre Kaloz2013-11-101-0/+3
| | | | | | | | Signed-off-by: Tim Harvey <tharvey@gateworks.com> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38702 3c298f89-4303-0410-b956-a3cf2f4a3e73
* build: unify arm target cflagsFelix Fietkau2013-09-261-1/+2
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38211 3c298f89-4303-0410-b956-a3cf2f4a3e73
* build: unify target independent optimization optionsFelix Fietkau2013-07-291-1/+1
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37600 3c298f89-4303-0410-b956-a3cf2f4a3e73
* targets: prepare for supporting normal and initramfs imagesFlorian Fainelli2013-06-272-2/+2
| | | | | | | | | | | | In order to support both normal images and initramfs, ensure that each target sets KERNELNAME properly so that the generic kernel building code can copy the corresponding files over $(KDIR) with the appropriate extension. Update the various paths to the kernel and wrapper images from $(LINUX_DIR)/arch/$(ARCH)/boot/$(foo) to $(KDIR)/$(foo). Signed-off-by: Florian Fainelli <florian@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37049 3c298f89-4303-0410-b956-a3cf2f4a3e73
* kernel: update linux 3.8 to 3.8.13Gabor Juhos2013-05-261-1/+1
| | | | | | Signed-off-by: Gabor Juhos <juhosg@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36724 3c298f89-4303-0410-b956-a3cf2f4a3e73
* kernel: update linux 3.8 to 3.8.12Gabor Juhos2013-05-081-1/+1
| | | | | | Signed-off-by: Gabor Juhos <juhosg@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36576 3c298f89-4303-0410-b956-a3cf2f4a3e73
* kernel: update linux 3.8 to 3.8.11Gabor Juhos2013-05-011-1/+1
| | | | | | Signed-off-by: Gabor Juhos <juhosg@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36507 3c298f89-4303-0410-b956-a3cf2f4a3e73
* kernel: update linux 3.8 to 3.8.10Gabor Juhos2013-04-301-1/+1
| | | | | | Signed-off-by: Gabor Juhos <juhosg@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36493 3c298f89-4303-0410-b956-a3cf2f4a3e73
* kernel: update linux 3.8 to 3.8.9Gabor Juhos2013-04-261-1/+1
| | | | | | Signed-off-by: Gabor Juhos <juhosg@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36453 3c298f89-4303-0410-b956-a3cf2f4a3e73
* kernel: update linux 3.8 to 3.8.8Gabor Juhos2013-04-191-1/+1
| | | | | | Signed-off-by: Gabor Juhos <juhosg@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36363 3c298f89-4303-0410-b956-a3cf2f4a3e73
* kernel: update linux 3.8 to 3.8.7Gabor Juhos2013-04-141-1/+1
| | | | | | Signed-off-by: Gabor Juhos <juhosg@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36332 3c298f89-4303-0410-b956-a3cf2f4a3e73
* cns3xxx: fix USB ehci/ohci platform driverFelix Fietkau2013-04-102-4/+52
| | | | | | | | | | | Update ehci/ohci driver registration to conform to the new platform drivers. This fixes missing USB host support in 3.8.x Signed-off-by: Tim Harvey <tharvey@gateworks.com> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36309 3c298f89-4303-0410-b956-a3cf2f4a3e73
* cns3xxx: remove the watchdog IRQ from the resources, it breaks the driver ↵Felix Fietkau2013-04-072-6/+1
| | | | | | | | init and is useful only for testing Signed-off-by: Felix Fietkau <nbd@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36241 3c298f89-4303-0410-b956-a3cf2f4a3e73
* kernel: update linux 3.8 to 3.8.6Gabor Juhos2013-04-063-39/+11
| | | | | | Signed-off-by: Gabor Juhos <juhosg@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36215 3c298f89-4303-0410-b956-a3cf2f4a3e73
* kernel: update linux 3.8 to 3.8.3Gabor Juhos2013-03-152-2/+2
| | | | | | | | Also refresh the related generic/platform patches. Signed-off-by: Gabor Juhos <juhosg@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36039 3c298f89-4303-0410-b956-a3cf2f4a3e73
* cns3xxx: ethernet - clean the tx ring before refilling the rx ring to reduce ↵Felix Fietkau2013-03-111-4/+4
| | | | | | memory pressure git-svn-id: svn://svn.openwrt.org/openwrt/trunk@35953 3c298f89-4303-0410-b956-a3cf2f4a3e73
* cns3xxx: ethernet - clean the tx ring only in the poll function, not in the ↵Felix Fietkau2013-03-111-6/+11
| | | | | | xmit handler git-svn-id: svn://svn.openwrt.org/openwrt/trunk@35952 3c298f89-4303-0410-b956-a3cf2f4a3e73
* cns3xxx: increase number of ethernet driver rx buffersFelix Fietkau2013-03-101-1/+1
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@35951 3c298f89-4303-0410-b956-a3cf2f4a3e73
* cns3xxx: prevent the ethernet driver from accessing uninitialized dma ↵Felix Fietkau2013-03-101-1/+2
| | | | | | descriptor entries git-svn-id: svn://svn.openwrt.org/openwrt/trunk@35950 3c298f89-4303-0410-b956-a3cf2f4a3e73
* cns3xxx: minor ethernet driver cleanupFelix Fietkau2013-03-101-35/+19
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@35949 3c298f89-4303-0410-b956-a3cf2f4a3e73
* cns3xxx: use kmalloc instead of kzalloc for ethernet rx buffersFelix Fietkau2013-03-101-1/+1
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@35943 3c298f89-4303-0410-b956-a3cf2f4a3e73
* cns3xxx: fix an rx irq handling corner caseFelix Fietkau2013-03-101-5/+5
| | | | | | | | | | | | | | | | When an rx interrupt comes in, rx interrupts are disabled and NAPI polling is scheduled. During the NAPI poll, the driver first processes received frames in the ring, then fills the dma descriptor slots with new buffers and calls tx complete, before finally re-enabling rx interrupts and completing NAPI (if below the budget). If the hardware rx queue overflows before the napi complete is called, the hardware will not throw any further rx interrupts and rx processing stops completely. Fix this by keeping NAPI polling scheduled until it completes a poll without receiving any packets, and also handle NAPI completion before refilling rx or completing tx. git-svn-id: svn://svn.openwrt.org/openwrt/trunk@35942 3c298f89-4303-0410-b956-a3cf2f4a3e73
* cns3xxx: fix ethernet driver memory barrier usageFelix Fietkau2013-03-101-5/+8
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@35941 3c298f89-4303-0410-b956-a3cf2f4a3e73
* cns3xxx: reduce buffer allocation size to 2048 bytes, improves ethernet ↵Felix Fietkau2013-03-101-1/+1
| | | | | | performance git-svn-id: svn://svn.openwrt.org/openwrt/trunk@35917 3c298f89-4303-0410-b956-a3cf2f4a3e73
* cns3xxx: remove linux 3.3 supportFelix Fietkau2013-03-1023-1558/+0
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@35916 3c298f89-4303-0410-b956-a3cf2f4a3e73
* cns3xxx: disable CONFIG_PROC_STRIPPED and add an init script to set the ↵Felix Fietkau2013-03-102-0/+22
| | | | | | ethernet cpu affinity (improves lan<->wlan bridging performance) git-svn-id: svn://svn.openwrt.org/openwrt/trunk@35915 3c298f89-4303-0410-b956-a3cf2f4a3e73
* cns3xxx: add linux 3.8 support and use it by defaultFelix Fietkau2013-03-0931-25/+1543
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@35908 3c298f89-4303-0410-b956-a3cf2f4a3e73
* Revert "[cns3xxx]: clean up PCI bus topology" (r35079)Felix Fietkau2013-03-021-27/+0
| | | | | | It breaks PCIe IRQ mapping and possibly other things git-svn-id: svn://svn.openwrt.org/openwrt/trunk@35842 3c298f89-4303-0410-b956-a3cf2f4a3e73
* target: enable XZ BCJ decompressor code after r35097Florian Fainelli2013-01-141-0/+2
| | | | | | | | | Required to actually be able to mount squashfs xz compressed filesystems. Signed-off-by: Florian Fainelli <florian@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@35156 3c298f89-4303-0410-b956-a3cf2f4a3e73
* [cns3xxx]: clean up PCI bus topologyImre Kaloz2013-01-101-0/+27
| | | | | | | | | This makes the PCI bus topology more standard for devices behind a bridge Signed-off-by: Tim Harvey <tharvey@gateworks.com> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@35079 3c298f89-4303-0410-b956-a3cf2f4a3e73
* [cns3xxx]: clean up PCI bus topologyImre Kaloz2013-01-101-2/+2
| | | | | | | | | This makes the PCI bus topology more standard for devices behind a bridge Signed-off-by: Tim Harvey <tharvey@gateworks.com> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@35078 3c298f89-4303-0410-b956-a3cf2f4a3e73
* [cns3xxx]: add nol2x0 cmdline to disable l2x0 cacheImre Kaloz2012-12-232-2/+47
| | | | | | | | | | | | L2 cache via L2X0 cache controller available on some ARM boards can provide a performance boost in some situations but decrease performance in others. This adds a kernel cmdline to disable L2X0 for cns3xxx based boards. Signed-off-by: Tim Harvey <tharvey@gateworks.com> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34874 3c298f89-4303-0410-b956-a3cf2f4a3e73
* kernel: add missing USB configuration symbols after r34501Florian Fainelli2012-12-071-0/+2
| | | | | | Signed-off-by: Florian Fainelli <florian@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34568 3c298f89-4303-0410-b956-a3cf2f4a3e73
* cns3xxx: fix dwc_otg driver compat with udc-coreFlorian Fainelli2012-12-042-94/+0
| | | | | | | | | | | function. This removes those from the dwc_otg driver and removes the patch that comments out the linkage of udc-core so that the dwc_otg driver can co-exist happily with other USB Device Controllers. Signed-off-by: Tim Harvey <tharvey@gateworks.com> Signed-off-by: Florian Fainelli <florian@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34475 3c298f89-4303-0410-b956-a3cf2f4a3e73
* cns3xxx: advertise pcie usb usbgadget featuresFlorian Fainelli2012-12-041-1/+1
| | | | | | | Signed-off-by: Tim Harvey <tharvey@gateworks.com> Signed-off-by: Florian Fainelli <florian@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34474 3c298f89-4303-0410-b956-a3cf2f4a3e73
* remove common symbols from 3.3 configsGabor Juhos2012-11-291-2/+0
| | | | | | | | The removed symbols are present in the generic configuration. Signed-off-by: Gabor Juhos <juhosg@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34403 3c298f89-4303-0410-b956-a3cf2f4a3e73
* cns3xxx: merge gpio patchesLuka Perkov2012-11-122-206/+35
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34174 3c298f89-4303-0410-b956-a3cf2f4a3e73
* cns3xxx: fix build failure after r34168Luka Perkov2012-11-121-0/+16
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34173 3c298f89-4303-0410-b956-a3cf2f4a3e73
* [cns3xxx]: reorder, rename and refresh patchesImre Kaloz2012-11-1222-36/+25
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34169 3c298f89-4303-0410-b956-a3cf2f4a3e73
* [cns3xxx]: split spi patch, follow mainline file namingImre Kaloz2012-11-122-469/+450
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34168 3c298f89-4303-0410-b956-a3cf2f4a3e73
* [cns3xxx]: split the i2c patch, merge the retry fixupImre Kaloz2012-11-123-462/+396
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34167 3c298f89-4303-0410-b956-a3cf2f4a3e73
* [cns3xxx]: generate single images for tftp flashing as well as sysupgrade ↵Imre Kaloz2012-11-111-12/+33
| | | | | | images for boards with old u-boot git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34163 3c298f89-4303-0410-b956-a3cf2f4a3e73
* cns3xxx: convert dwc_otg patches to filesLuka Perkov2012-11-1120-22807/+22735
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34162 3c298f89-4303-0410-b956-a3cf2f4a3e73
* cns3xxx: convert ethernet patches to filesLuka Perkov2012-11-1110-2090/+1400
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34161 3c298f89-4303-0410-b956-a3cf2f4a3e73