Commit Graph

101 Commits (9daebe430443deb52574cd637fc1bfa14e0a0fae)

Author SHA1 Message Date
Gabor Juhos 476af593dd 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
Gabor Juhos 420f65d3d6 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
Gabor Juhos 5647401655 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
Gabor Juhos 418e052c05 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
Gabor Juhos a0e968135a 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
Gabor Juhos cf67d0b29a 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
Gabor Juhos 404b68fcd2 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
Gabor Juhos 00bd3f47c4 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
Gabor Juhos 77a769e423 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
Gabor Juhos be87c0dac9 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
Gabor Juhos e3647801e9 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
Gabor Juhos 69e79c381f 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
Gabor Juhos 5cce2b0a05 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
Gabor Juhos 7b441cdc46 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
Gabor Juhos f549d2c926 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
Gabor Juhos a6165a962c 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
Gabor Juhos a0de90ddb3 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
Gabor Juhos 162e987f39 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
Gabor Juhos b84db9ddc3 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
Gabor Juhos 150f80a0ed 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
Gabor Juhos 6a51bbb104 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
Gabor Juhos 58e0c44256 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
Gabor Juhos bf61c26b5f 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
Gabor Juhos 8f1e2c9fdc 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
Gabor Juhos aed7757589 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
Gabor Juhos 2f687349c6 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
John Crispin 78fb561524 [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
John Crispin 99e448a10a [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
John Crispin 100904760d [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
Gabor Juhos 763125a873 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
Gabor Juhos 888efa12d8 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
Gabor Juhos 84327abca9 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
Gabor Juhos 5015ba2730 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
Gabor Juhos b227b3e3df 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
Gabor Juhos 73e450cced 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
Gabor Juhos 87b8fa8353 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
Gabor Juhos 44cff07470 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
Gabor Juhos e450aca1ee 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
Gabor Juhos 9f663a5fc9 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
Gabor Juhos 335e77a81c 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
John Crispin c9ec1904ac [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
John Crispin 87faf4bfcc [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
John Crispin caede0a0ac [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
Gabor Juhos a48af4fc64 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
Gabor Juhos 7e4f38482d 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
Gabor Juhos cb237e1264 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
Gabor Juhos 4757ce1519 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
John Crispin 9914ec2666 [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
John Crispin d87fd1b74f [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
John Crispin 5178e58cb9 [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
John Crispin d363b3d5d7 [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