Pyun YongHyeon 81598b3e5e Reimplement Tx status error handler as recommended by datasheet.
If ste(4) encounter TX underrun or excessive collisions the TX MAC
of controller is stalled so driver should wake it up again. TX
underrun requires increasing TX threshold value to minimize
further TX underruns. Previously ste(4) used to reset controller
to recover from TX underrun, excessive collision and reclaiming
error. However datasheet says only TX underrun requires resetting
entire controller. So implement ste_restart_tx() that restarts TX
MAC and do not perform full reset except TX underrun case.
Now ste(4) uses CSR_READ_2 instead of CSR_READ_1 to read
STE_TX_STATUS register. This way ste(4) will also read frame id
value and we can write the same value back to STE_TX_FRAMEID
register instead of overwriting it to 0. The datasheet was wrong
in write back of STE_TX_STATUS so add some comments why we do so.
Also always invoke ste_txeoc() after ste_txeof() in ste_poll as
without reading TX status register can stall TX MAC.
2009-12-22 23:57:10 +00:00
..
2009-11-16 21:47:12 +00:00
2009-05-13 22:31:25 +00:00
2009-10-28 15:22:58 +00:00
2009-09-14 21:33:00 +00:00
2009-11-18 18:48:18 +00:00
2009-11-11 20:29:40 +00:00
2009-10-30 18:30:13 +00:00
2009-11-25 13:31:17 +00:00
2009-02-05 19:37:49 +00:00
2009-06-24 20:43:51 +00:00
2009-06-21 19:17:22 +00:00
2009-12-16 12:25:27 +00:00
2009-10-24 09:55:11 +00:00
2009-04-14 11:23:09 +00:00
2009-06-14 00:15:26 +00:00
2009-09-06 10:27:45 +00:00
2009-05-25 22:50:11 +00:00
2009-02-05 19:37:49 +00:00
2009-08-23 08:04:40 +00:00