1
0
mirror of git://projects.qi-hardware.com/openwrt-xburst.git synced 2024-11-25 19:50:16 +02:00
Commit Graph

62 Commits

Author SHA1 Message Date
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
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