1
0
mirror of git://projects.qi-hardware.com/openwrt-xburst.git synced 2024-11-18 11:33:10 +02:00
Commit Graph

116 Commits

Author SHA1 Message Date
blogic
03810204dc 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
juhosg
b95eb02775 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
juhosg
a46cfc6bcc 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
juhosg
a6ff6c1f36 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
juhosg
8b59aa7786 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
juhosg
501b3f6109 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
juhosg
45b5e79de8 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
juhosg
8e047f5e1f 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
juhosg
f370a85b20 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
juhosg
602f2d5e4f 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
juhosg
ec52e89b08 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
juhosg
4059133e7d 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
juhosg
9e9816322c ramips: ramips_esw: add helper function to set VLAN id
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@24337 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-12-08 10:15:22 +00:00
juhosg
293e4ff8cc ramips: ramips_esw: introduce rt305x_esw_rmw{,_raw} function
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@24336 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-12-08 10:15:16 +00:00
juhosg
8b6afc3a6a ramips: ramips_esw: use rt305x_esw prefix in function names
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@24335 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-12-08 10:15:14 +00:00
juhosg
808e953c0a ramips: ramips_esw: coding style cleanup
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@24334 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-12-08 10:15:12 +00:00
juhosg
39deae4b99 ramips: ramips_esw: add defines for switch register offsets
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@24333 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-12-08 10:15:07 +00:00
juhosg
1600b801ec ramips: ramips_esw: don't touch GPIO_PURPOSE register
It must have been set by the board initialization code.

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@24332 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-12-08 10:15:04 +00:00
juhosg
bc4cb1b39f ramips: ramips_esw: convert it to be a platform driver
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@24331 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-12-08 10:15:00 +00:00
juhosg
a3373ca948 ramips: ramips_esw: move hardware initialization into a separate function
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@24330 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-12-08 10:14:58 +00:00
juhosg
1fcc0bf36c ramips: ramips_esw: use a private structure for the functions
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@24329 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-12-08 10:14:54 +00:00
juhosg
d59a23df99 ramips: Use NET_IP_ALIGN instead of hardcoding 2
Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@24124 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-11-24 10:01:18 +00:00
juhosg
37b545f00f ramips: DMA map the correct RX skb size
The skb_reserve call prior to DMA mapping the RX skb reduced the skb
data len by 2. To not allow DMA to write behind the skb we should pass
the correct skb data len to the device.

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@24123 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-11-24 10:01:16 +00:00
juhosg
c523394925 ramips: Don't trigger BUG_ON due to skb allocation failure
Instead just drop the rx'ed frame silently and reuse the already
available buffer.

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@24122 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-11-24 10:01:12 +00:00
juhosg
e0af17401f ramips: Remove unnecessary skb_put
Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@24121 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-11-24 10:01:08 +00:00
juhosg
808a6ab903 ramips: Allow ethernet interface to be taken down and up again
Taking the ramips ethernet interface down and up again resulted in the
driver not receiving any frames anymore. Fix this by correctly disabling
interrupts in the hw on ifdown.

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@23243 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-10-05 14:10:34 +00:00
juhosg
12e2f4aadf ramips: add mdio_cfg configuration for the ethernet driver
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@22211 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-07-15 19:45:40 +00:00
juhosg
fa4dd3d5de ramips: Fix bridging in ramips ethernet driver
Bridging between the ramips ethernet driver and rt2800pci was somewhat
broken. Frames received by the ethernet driver which were passed to the
wifi driver for transmission were sometimes corrupted or sent out with
huge delays.

The reason for this is the missing assignment of skb->tail in the ramips
ethernet driver's rx path resulting in skb->tail pointing to skb->data.
Since skb->tail is used by mac80211 it writes into skb->data which messes
up the frames content.

Fix this by using skb_put to correctly set skb->len and skb->tail.

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


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@22172 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-07-13 16:52:07 +00:00
juhosg
c60a96964d ramips_eth: cleanup mac_address changing
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19464 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-31 17:56:36 +00:00
juhosg
1ca6778f34 ramips_eth: update register offsets
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19463 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-31 17:56:33 +00:00
juhosg
1630830019 ramips_eth: pass sys_clk via platform_data
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19462 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-31 17:56:30 +00:00
juhosg
0e069faefd ramips_eth: add helper functions to {ed,dis}able interrupts
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19446 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-31 12:48:53 +00:00
juhosg
48f3d520ec ramips_eth: remove unnecessary typecasts
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19445 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-31 12:48:51 +00:00
juhosg
2e8d8d35d9 ramips_eth: simplify tx_next computation
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19444 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-31 12:48:48 +00:00
juhosg
85ef0c49c7 ramips_eth: simplify tx descriptor initialization
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19443 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-31 12:48:46 +00:00
juhosg
52182673e4 ramips_eth: pass 'raeth_priv' struct directly to dma specific functions
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19442 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-31 12:48:43 +00:00
juhosg
d46c0be6b4 ramips_eth: convert to use netdev_ops
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19440 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-31 12:48:38 +00:00
juhosg
0ed414aa74 ramips_eth: fix invalid register writes
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19417 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-30 15:26:02 +00:00
juhosg
7fff48fa3a ramips_eth: move memset call out from the loop
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19416 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-30 15:25:59 +00:00
juhosg
4235b93588 ramips_eth: header file cleanup
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19415 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-30 15:25:57 +00:00
juhosg
06901dcfd6 ramips_eth: coding style cleanup
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19414 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-30 15:25:55 +00:00
blogic
7a9d219092 [ramips] missing header file changes, and fix mtu value
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@18220 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-10-30 09:18:40 +00:00
blogic
f46dbe37e1 [ramips] fixes rx path for eth, spinlock it, increases buffer size, board now survives ping -f
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@18212 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-10-29 21:08:11 +00:00
blogic
7616e48d77 [ramips] hopefully fixes dma issues seen on ethernet driver when under high load
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@18203 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-10-29 12:51:45 +00:00
juhosg
4497cf8437 ramips: move 'arch/mips/include/asm/mach-ralink/eth.h' to 'drivers/net/ramips_eth.h'
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@18176 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-10-26 17:17:51 +00:00
juhosg
e1a6f94b64 ramips: move ramips_eth_platform_data into a separate file
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@18174 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-10-26 17:17:45 +00:00
juhosg
6e0afb85b9 ramips: request_irq prior to dma allocation, and handle the case if it fails
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@18173 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-10-26 17:17:42 +00:00
juhosg
fae14fc50e ramips: add error handling to ramips_alloc_dma
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@18172 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-10-26 17:17:39 +00:00
juhosg
8fee1ed8aa ramips: free allocated skbs in ramips_cleanup_dma
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@18171 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-10-26 17:17:37 +00:00
juhosg
9f1a8f089c ramips: add ramips_setup_dma helper to the ethernet driver
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@18170 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-10-26 17:17:34 +00:00
juhosg
1d4a083881 ramips: add ramips_cleanup_dma helper
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@18169 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-10-26 17:17:29 +00:00
juhosg
7a797f4b8f ramips: remove unnecessary includes in the ethernet driver
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@18168 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-10-26 17:17:26 +00:00
juhosg
a07eab49bf ramips: fix dma api usage in the ethernet driver
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@18167 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-10-26 17:17:22 +00:00
juhosg
487693fb19 ramips: use resource to pass irq and base address to the ethernet driver
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@18166 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-10-26 17:17:18 +00:00
juhosg
90e4aa2386 ramips: add error-path handling to the ramips_eth_plat_probe
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@18165 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-10-26 17:17:13 +00:00
blogic
59b7de5623 [ramips] fixes licenses
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@18152 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-10-25 17:41:01 +00:00
blogic
4c7c2a504c [ramips] clean up dma api of ethernet driver
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@18150 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-10-25 16:58:00 +00:00
blogic
6c7f40ae71 [ramips] fixes dma bug in eth driver, that was caused under high net load. the dma ring was not initialized on time
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@18149 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-10-25 14:34:55 +00:00
juhosg
f4feacd7f3 ramips: nuke net_device stats from the private data of the ethernet driver
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@18147 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-10-25 09:37:30 +00:00
juhosg
5305a949f4 ramips: remove unnecessary type-castings in the ethernet driver
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@18146 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-10-25 09:37:27 +00:00
juhosg
5c1de285e2 ramips: change debug message levels, and add missing LFs
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@18145 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-10-25 09:37:24 +00:00
juhosg
5244481045 ramips: make ethernet fuctions static
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@18144 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-10-25 09:37:21 +00:00
blogic
15585654b9 [ramips] fixes dma hangups in eth
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@18139 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-10-25 00:11:08 +00:00
blogic
c75080b25f [ramips] make ethernet a platform device
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@18135 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-10-24 20:58:41 +00:00
blogic
c52c16271e [ramips] make default llll/w vlan setup in esw
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@18133 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-10-24 20:56:31 +00:00
blogic
4f3a09388f [ramips] adds ethernet driver, esw needs to be moved to swconfig, driver is missing rt288x support, not a platform device yet
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@18128 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-10-23 16:51:51 +00:00