Dear Paul Burton, > On 10/11/13 20:02, Marek Vasut wrote: > > Dear Paul Burton, > > > >> On relatively slow boards (such as the MIPS Malta with an FPGA core > >> card) it can be extremely common for transmits to underflow - to the > >> point where it appears they simply do not work at all. Setting the > >> NOUFLO bit causes the ethernet controller to not begin transmission on > >> the wire until a transmit start point is reached. Setting that transmit > >> start point to the full packet will cause the controller to only > >> transmit the packet once it has buffered it entirely thus preventing any > >> transmit underflows from occuring and allowing the controller to > >> function on slower boards. > >> > >> Signed-off-by: Paul Burton <paul.bur...@imgtec.com> > >> --- > >> > >> Changes in v2: > >> - rebase atop master > >> > >> --- > >> > >> drivers/net/pcnet.c | 15 +++++++++++++++ > >> 1 file changed, 15 insertions(+) > >> > >> diff --git a/drivers/net/pcnet.c b/drivers/net/pcnet.c > >> index 7b87660..5b248be 100644 > >> --- a/drivers/net/pcnet.c > >> +++ b/drivers/net/pcnet.c > >> @@ -312,6 +312,21 @@ static int pcnet_init(struct eth_device *dev, bd_t > >> *bis) pcnet_write_bcr(dev, 32, val); > >> > >> /* > >> > >> + * Enable NOUFLO on supported controllers, with the transmit > >> + * start point set to the full packet. This will cause entire > >> + * packets to be buffered by the ethernet controller before > >> + * transmission, eliminating underflows which are common on > >> + * slower devices. Controllers which do not support NOUFLO will > >> + * simply be left with a larger transmit FIFO threshold. > >> + */ > >> + val = pcnet_read_bcr(dev, 18); > >> + val |= 1 << 11; > >> + pcnet_write_bcr(dev, 18, val); > >> + val = pcnet_read_csr(dev, 80); > >> + val |= 0x3 << 10; > >> + pcnet_write_csr(dev, 80, val); > > > > Would be nice to fix this so we don't have so many magic numbers there. > > > > Best regards, > > Marek Vasut > > I agree, the whole file is full of them. I'll submit a cleanup patch > later if nobody else beats me to it.
Thank you, that'd be really nice of you to do. Best regards, Marek Vasut _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot