juhosg
013dc5a5d6
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
juhosg
43d6f57e67
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
juhosg
c99c1bd913
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
juhosg
eaae1ec1de
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
juhosg
d0794e0d35
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
juhosg
815334db9c
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
juhosg
d214321c8c
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
juhosg
10a983eea1
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
juhosg
a6fcd662b4
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
juhosg
3120faed8b
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
juhosg
ad0b8c49bf
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
juhosg
5b41176cdc
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
juhosg
1e38789510
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
juhosg
9b2ee01ff5
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
juhosg
606588b4e9
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
juhosg
bbc71f5154
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
juhosg
cce4c079c4
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
juhosg
cd69289b3e
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
juhosg
202c4f386c
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
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
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
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
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
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