Commit Graph

20 Commits (dfe1972d6266e046876f7c0b2f2f80fe94ebae08)

Author SHA1 Message Date
Florian Fainelli e910e78dba [mcs814x] nuport-mac: various fixes
- properly check for the link up condition in the phylib adjust callback
- do not assign skb->dev, eth_type_trans() already does it
- handle skb allocation failures in the refill path

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33780 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-10-15 21:03:57 +00:00
Florian Fainelli f004690f1a [mcs814x] more convertions to {read,write}_relaxed I/O accessors
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33604 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-10-03 16:10:47 +00:00
Florian Fainelli 2daf0ae204 [mcs814x] use the recommended ARM I/O accessors
use {read,write}l_relaxed instead of the plain __raw_{read,write}l variants.

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33330 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-09-08 09:51:05 +00:00
Florian Fainelli a7b6531eea [mcs814x] nuport-mac: disable MAC RX and TX during interface close
Fixes sporadic crashes while reconfiguring the network interface.

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33312 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-09-03 10:26:01 +00:00
Florian Fainelli 332fbc08a1 [mcs814x] nuport-mac: delay call to napi_start() until fully able to process RX
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33079 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-08-10 07:04:21 +00:00
Florian Fainelli 8e1f8a2085 [mcs814x] nuport-mac: use dma_mapping_error() instead of checking pointers
Thanks Gabor for spotting this

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33071 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-08-09 09:06:35 +00:00
Florian Fainelli 9ded359521 [mcs814x] nuport-mac: rework PHY interrupt configuration to avoid races
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33070 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-08-08 21:51:18 +00:00
Florian Fainelli 6f503e42e0 [mcs814x] nuport-mac: close possible race condition during start
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33069 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-08-08 21:51:13 +00:00
Florian Fainelli 8aa941f17a [mcs814x] nuport-mac: unmap the DMA buffer when closing device
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33068 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-08-08 21:51:09 +00:00
Florian Fainelli c447469124 [mcs814x] nuport-mac: check dma_map_single address return values
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33067 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-08-08 21:51:04 +00:00
Florian Fainelli a8facfad2a [mcs814x] nuport-mac: properly protect the phy interrupt handler
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@32951 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-08-02 18:13:17 +00:00
Florian Fainelli 031b03b3dd [mcs814x] assume the link is up and full-duplex by default
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@32940 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-08-01 21:56:54 +00:00
Florian Fainelli d830eca387 [mcs814x] use ohci_err() instead of err()
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@32729 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-07-15 14:09:32 +00:00
Florian Fainelli 4b394c1b83 [mcs814x] make sure we properly unmap DMA mappings we created
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@32728 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-07-15 14:09:24 +00:00
Florian Fainelli 8f1bb68c38 [mcs814x] nuport-mac: add definitions of the various bits/masks used
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@32727 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-07-15 14:09:18 +00:00
Florian Fainelli 62fe65a569 [mcs814x] nuport-mac: check netif_receive_skb() return value
We did not reassign status to netif_receive_skb() return value, we thus
almost always incremented the dropped counter because the descriptor status
value never matches the NET_RX_DROP.

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@32659 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-07-11 08:29:01 +00:00
Florian Fainelli a2cd791e83 [mcs814x] remove platform specific initialization from ethernet driver
Hardware filtering must always be enabled as long as there is an Ethernet
device registered, and use device tree for setting the link activity and
buffer shifting enable/disable bit.

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@32486 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-06-23 11:03:35 +00:00
Florian Fainelli a3c7dde953 [mcs814x] remove uselss cache invalidations
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@32472 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-06-20 21:57:53 +00:00
Florian Fainelli 2c4cbaba5d [mcs814x] improve ethernet driver debugging
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@32471 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-06-20 21:57:49 +00:00
Florian Fainelli fea5404e8a [mcs814x] add Moschip MSC814x support
This target currently only supports Moschip's MCS8140 SoC, but support
for other chips in the same family (MCS8142, MCS8144) will be easy to add.

Target support is entirely using Device Tree for probing peripherals.
Drivers support include:
- PCI
- USB 1 & 2
- watchdog
- random number generator
- UART
- timer
- internal Ethernet PHY
- Ethernet MAC core

Support for the following boards is included using Device Tree
- Devolo dLAN USB Extender
- Tigal RBT-832

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@32462 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-06-19 14:48:56 +00:00