On Mon, 2 Jul 2007 14:37:06 +0100 "Daniel J Blueman" <[EMAIL PROTECTED]> wrote:
> Hi Stephen, > > When the sky2 driver initialises, it sets the the ISR timer register > (STAT_ISR_TIMER_INI) to 125 * 20 = 2500, whereas the vendor sk98lin > driver sets it to 400, irrespective of the clockspeed of the NIC > processor. > > I guess you found more performance/stability from this value...? > > I've checked through the errata workarounds common to my rev-1 and 2 > Yukon-EC chips...the HWF_WA_DEV_4167 "oversize receive hang" > workaround checks and can reset the (as I understand) bus master unit > of the NIC (in CheckRxPath) in a periodic timer that is fired, where > is finds no progress is made. > My best guess at what that is handling is the chip (bug) that causes the receiver to hang if a packet larger than the receive DMA buffer is received. The sky2 driver doesn't need this because it allocates a slightly larger buffer than necessary, and truncates the oversize packet. This works because the hardware has a truncation register that was probably designed for use when packet sniffing. -- Stephen Hemminger <[EMAIL PROTECTED]> - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html