Commit Graph

104 Commits

Author SHA1 Message Date
Gabor Juhos
f5cbc0457a ramips: watchdog: use maximum possible timeout by default
As the userspace has no means to determine the maximum possible timeout, use
that as the default and let the userspace lower it when necessary.

As the result the usual OpenWrt install (with busybox's watchdog trying to set
the timeout to 60s on start) is using a 33s timeout on an RT3052 clocked at
384MHz instead of the current 20s default.

Signed-off-by: Paul Fertser <fercerpav@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33144 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-08-12 12:48:28 +00:00
John Crispin
868ad2121e [ramips] DWC otg usb: compilation fixes and trivial bugfix in slave mode
Signed-of-by: Nikolai Zhubr <n-a-zhubr@yandex.ru>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@32823 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-07-24 20:38:55 +00:00
Gabor Juhos
db37661614 ramips: Add byte queue limits support to net/ethernet/ramips_main.c
Add byte queue limits support to net/ethernet/ramips_main.c

"Byte queue limits are a mechanism to limit the size of the transmit
hardware queue on a NIC by number of bytes. The goal of these byte
limits is too reduce latency (HOL blocking) caused by excessive
queuing in hardware (aka buffer bloat) without sacrificing
throughput."

Signed-off-by: Tobias Diedrich <ranma+openwrt@tdiedrich.de>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31844 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-05-23 21:05:23 +00:00
Gabor Juhos
990c8a3efa ramips: don't read RAMIPS_RX_CALC_IDX0 register in the loop
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30733 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-02-26 10:54:13 +00:00
Gabor Juhos
d2cd4c0438 ramips: raeth: add rx_info structure
This helps to reduce code size on RX path:

add/remove: 0/0 grow/shrink: 3/1 up/down: 68/-56 (12)
function                                     old     new   delta
ramips_eth_open                             1104    1144     +40
ramips_ring_free                             212     232     +20
ramips_eth_stop                              400     408      +8
ramips_eth_rx_hw                             648     592     -56

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30732 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-02-26 10:54:12 +00:00
Gabor Juhos
1b4b107170 ramips: raeth: add tx_info structure
This helps to reduce code size on TX path:

add/remove: 0/0 grow/shrink: 1/4 up/down: 56/-92 (-36)
function                                     old     new   delta
ramips_eth_open                             1048    1104     +56
ramips_eth_tx_housekeeping                   156     148      -8
ramips_ring_free                             224     212     -12
ramips_eth_stop                              420     400     -20
ramips_eth_hard_start_xmit                   480     428     -52

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30731 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-02-26 10:54:10 +00:00
Gabor Juhos
c0d5f4346a ramips: raeth: don't process disabled interrupts
Also rename the 'fe_int' variable.

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30713 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-02-25 11:59:19 +00:00
Gabor Juhos
999cdff204 ramips: raeth: show interrupt statistics in debugfs
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30681 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-02-22 13:06:44 +00:00
Gabor Juhos
6691b88bc4 ramips: raeth: add debugfs support
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30680 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-02-22 13:06:42 +00:00
Gabor Juhos
0feb9d42c6 ramips: raeth: rename main source file
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30679 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-02-22 13:06:41 +00:00
Gabor Juhos
95b3aa418c ramips: raeth: add missing Kconfig and Makefile
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30671 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-02-21 09:44:30 +00:00
Gabor Juhos
1cd6916f8f ramips: move the ethernet driver into a separate directory
Also clean up the Kconfig symbols.

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30670 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-02-21 09:26:43 +00:00
Gabor Juhos
b35fd0a366 ramips: rename the spi driver
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30669 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-02-21 09:26:41 +00:00
Gabor Juhos
557330a449 ramips: merge 3.2 fixes
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30652 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-02-19 17:52:23 +00:00
Gabor Juhos
33bf9bc63b ramips: raeth: separate ring allocation and setup
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30573 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-02-16 08:17:50 +00:00
Gabor Juhos
92b44035cb ramips: raeth: add a helper function for skb allocation
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30555 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-02-15 18:33:42 +00:00
Gabor Juhos
4a3dcaa55d ramips: raeth: use netdev_alloc_skb
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30554 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-02-15 18:33:41 +00:00
Gabor Juhos
8d0f341a2f ramips: raeth: add '__packed __aligned(4)' annotation to dma descritor structures
This helps GCC to generare more efficient code.

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30553 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-02-15 18:33:40 +00:00
Gabor Juhos
492f15580b ramips: raeth: use 're' instead of 'priv' everywhere
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30552 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-02-15 18:33:38 +00:00
Gabor Juhos
c51e57d972 ramips: raeth: force link down in ramips_phy_stop
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30550 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-02-15 13:47:52 +00:00
Gabor Juhos
846b753561 ramips: raeth: serialize ramips_link_adjust calls
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30549 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-02-15 13:47:50 +00:00
Gabor Juhos
d50d8e09a4 ramips: raeth: add PHYLIB support
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30547 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-02-15 06:47:12 +00:00
Gabor Juhos
be0de7b856 ramips: raeth: enable MDIO code for RT3883
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30497 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-02-13 15:18:03 +00:00
Gabor Juhos
6ae4d22d3a ramips: add preliminary support for the RT3662/RT3883 SoCs
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30495 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-02-13 15:17:59 +00:00
Gabor Juhos
a01fc48535 ramips: include 'linux/module.h' in the ramips_spi driver
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30475 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-02-12 12:52:13 +00:00
Gabor Juhos
59a817f8aa ramips: add MDIO bus support for RT288X
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30455 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-02-11 16:49:56 +00:00
Gabor Juhos
bf98da9c80 ramips: raeth: make debugging messages configurable
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30450 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-02-11 15:12:10 +00:00
Gabor Juhos
69e3d1bbc4 ramips: raeth: use device pointer in DMA API calls
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30449 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-02-11 15:12:08 +00:00
Gabor Juhos
110d4ac69d ramips: raeth: add netdev pointer to private structure
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30448 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-02-11 15:12:06 +00:00
Gabor Juhos
49ec435276 ramips: raeth: cleanup DMA API usage in ramips_eth_hard_start_xmit
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30447 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-02-11 15:12:05 +00:00
Gabor Juhos
03f6e838c1 ramips: raeth: unmap rx DMA address in ramips_cleanup_dma
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30446 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-02-11 15:12:04 +00:00
Gabor Juhos
edf1212d0f ramips: raeth: add rx_dma array to store the DMA address of the rx packets
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30445 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-02-11 15:12:02 +00:00
Gabor Juhos
b527da9716 ramips: raeth: use dma_addr_t for the descriptors
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30444 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-02-11 15:12:01 +00:00
Gabor Juhos
527df10ce9 ramips: raeth: unmap DMA memory when a packet is received
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30443 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-02-11 15:11:56 +00:00
Gabor Juhos
4ab419384e ramips: raeth: add a temporary pktlen variable
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30442 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-02-11 15:11:55 +00:00
Gabor Juhos
8ecf5cdf0f ramips: raeth: protect macro parameters
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30441 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-02-11 15:11:50 +00:00
Gabor Juhos
9ab3461a35 ramips: raeth: indicate dropped packets in stats
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30440 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-02-11 15:11:49 +00:00
Gabor Juhos
6653e13884 ramips: raeth: use the NUM_TX_DESC for the tx_skb array
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30439 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-02-11 15:11:47 +00:00
John Crispin
b58ab60fff ramips: Rework ramips_eth to not require irqsave locking anymore
Previously the tx housekeeping was done in a spin_lock_irqsave critical
section which causes irqs to be disabled during that time. Since the
housekeeping is already prepared to be scheduled as a tasklet process
the housekeeping only in softirq context and revise the locking between
the tx path and the housekeeping tasklet by using a normal spin_lock
which in most situations will be a NOP anyway.

This makes sure that interrupts are only disabled for a short time
since in the worst case the housekeeping might have to free up to 256
skbs.

Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29762 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-01-17 11:23:11 +00:00
Gabor Juhos
c9bc227e9d ramips: initial support for Sitecom WL-351 v1 002
This add support for the Sitecom WL-351 v1 002.
In principle the Engenius ESR9850 should also work with this, but I
don't have the hardware to test it.

Since an external gigabit switch (RTL8366RB) is used,
I had to modify the ramips_esw driver to add a 'bypass' mode, which
just configures it to not filter the vlan tags.
Also two initialization words (FCT2 and FPA2) are set to different
values by u-boot than what the driver is using and it only seems to
work correctly when they not overridden by the driver, so I
added them to the platform specific data as reg_initval_fct2 and
reg_initval_fpa2.

With this wired lan works as expected, however I'm still having some
trouble with the wireless lan:
It only works after I rmmod & re-insmod rt2800pci and then
reconfigure it in the webinterface, but not directly after
rebooting.

The symptom of this is wpad saying:
Dec 20 15:45:09 OpenWrt daemon.info hostapd: wlan1: STA <notebookmac> IEEE 802.11: associated (aid 1)
Dec 20 15:45:09 OpenWrt daemon.info hostapd: wlan1: STA <notebookmac> WPA: pairwise key handshake completed (RSN)
Dec 20 15:45:22 OpenWrt daemon.info hostapd: wlan1: STA <notebookmac> IEEE 802.11: authenticated

But wpa_supplicant on the client saying:
Authentication with <wl351mac> timed out.

Signed-off-by: Tobias Diedrich <ranma+openwrt@tdiedrich.de>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29604 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-12-23 14:27:16 +00:00
Gabor Juhos
20b3755c63 ramips: add support for the Senao/EnGenius ESR-9753 board
Signed-off-by: Artur Wronowski <arteqw@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29603 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-12-23 14:27:10 +00:00
Gabor Juhos
48128d4827 ramips: rt305x: add dwc_otg driver
Based on a patch by Layne Edwards <ledwards@astrumtech.net>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27997 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-08-15 14:11:55 +00:00
Gabor Juhos
2fd3aff0ad ramips: allow to specify port layout for the switch of the RT305x/RT3350
Based on a patch by Roman Yeryomin <roman@advem.lv>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27990 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-08-15 14:11:43 +00:00
Gabor Juhos
a5c4fa9526 ramips: add SPI controller driver
Based on a patch by Sergiy <piratfm@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27809 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-07-28 10:56:25 +00:00
Gabor Juhos
356abe23cf ramips: fix a section mismatch warning
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27382 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-07-03 15:01:46 +00:00
Gabor Juhos
f141ac688e ramips: add watchdog driver
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@25126 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-01-26 20:48:41 +00:00
Gabor Juhos
f8f6fc147b ramips: ramips_esw: fix typos
Patch from #8577.

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@24898 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-01-04 13:44:05 +00:00
Gabor Juhos
ecee65d7f6 ramips: ramips_esw: add more definitions
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@24340 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-12-08 10:15:33 +00:00
Gabor Juhos
c1bae026dc ramips: ramips_esw: add helper function to set pvid
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@24339 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-12-08 10:15:28 +00:00
Gabor Juhos
dc512ca5aa ramips: ramips_esw: add helper function to set vlan members
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@24338 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-12-08 10:15:25 +00:00