summaryrefslogtreecommitdiffstats
path: root/sys/dev/smc
Commit message (Collapse)AuthorAgeFilesLines
* - Move ether_ifdetach earlier.benno2008-06-171-2/+7
| | | | | | - Drain callouts after ether_ifdetach. Suggested by: jhb
* Use callout_init_mtx to simplify locking somewhat. While we're here, rearrangebenno2008-06-132-35/+18
| | | | | | some operations in smc_detach to remove the need for the smc_shutdown variable. Suggested by: jhb
* Make sure we drain our taskqueues and stop our callouts in detach.benno2008-06-122-7/+37
|
* Switch to using a normal mutex instead of a spin mutex.benno2008-06-112-22/+30
| | | | | | | | | | | We still use the interrupt filter due to performance problems that show up if we don't. The main problem seen is that, due to the interrupt being edge triggered, we occasionally miss interrupts which leads us to not notice that we can transmit more packets. Using the new approach, which just schedules a task on a taskqueue, we are guaranteed to have the task run even if the interrupt arrived while we were already executing. If we were to use an ithread the system would mask the interrupt while the handler is run and we'd miss interrupts.
* Convert bus_space_{read,write}_* calls to bus_{read,write}_* calls.benno2008-06-112-30/+18
| | | | Suggested by: jhb
* This is a rewritten driver for the SMSC LAN91C111. It's based in part on thebenno2008-06-063-0/+1660
sn(4) driver and also looking at newer drivers. The reason for the rewrite is to support MII and to try and resolve some performance issues found when trying to use the sn(4) driver on the Gumstix network boards. For reference, the SMSC LAN91C111 is a non-PCI ethernet part whose lineage dates back to Ye Olde Days of ISA. It seems to get some use in the embedded space these days on parts lacking on-board MACs or on-board PCI controllers, such as the XScale PXA line of ARM CPUs. This also includes a driver for the SMSC LAN83C183 10/100 PHY. Man page to follow.
OpenPOWER on IntegriCloud