IGbE: Fix writeback conditions for i8254x GbE in updated data sheet.
An older revision of the data sheet specified that txdctl.gran was 1 the granularity was based on cache block and gran being 0 is based on descriptor count. The newer version of the data sheet reverses this errata
This commit is contained in:
@@ -1923,12 +1923,12 @@ IGbE::TxDescCache::pktComplete()
|
||||
igbe->anBegin("TXS", "Desc Writeback");
|
||||
DPRINTF(EthernetDesc, "WTHRESH == 0, writing back descriptor\n");
|
||||
writeback(0);
|
||||
} else if (igbe->regs.txdctl.gran() && igbe->regs.txdctl.wthresh() >=
|
||||
} else if (!igbe->regs.txdctl.gran() && igbe->regs.txdctl.wthresh() <=
|
||||
descInBlock(usedCache.size())) {
|
||||
DPRINTF(EthernetDesc, "used > WTHRESH, writing back descriptor\n");
|
||||
igbe->anBegin("TXS", "Desc Writeback");
|
||||
writeback((igbe->cacheBlockSize()-1)>>4);
|
||||
} else if (igbe->regs.txdctl.wthresh() >= usedCache.size()) {
|
||||
} else if (igbe->regs.txdctl.wthresh() <= usedCache.size()) {
|
||||
DPRINTF(EthernetDesc, "used > WTHRESH, writing back descriptor\n");
|
||||
igbe->anBegin("TXS", "Desc Writeback");
|
||||
writeback((igbe->cacheBlockSize()-1)>>4);
|
||||
|
||||
Reference in New Issue
Block a user