[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 00/13] Fixes for DP8393X SONIC device emulation
From: |
Finn Thain |
Subject: |
[PATCH v2 00/13] Fixes for DP8393X SONIC device emulation |
Date: |
Fri, 20 Dec 2019 15:17:46 +1100 |
Hi All,
There are bugs in the DP8393X emulation that can stop packet reception.
Whilst debugging the device I found that the receiver algorithm differs
from the one described in the National Semiconductor datasheet.
These issues and others are addressed by this patch series.
This series has only been tested with Linux/m68k guests. It needs further
testing with MIPS Magnum guests such as NetBSD or Windows NT.
Note that the mainline Linux sonic driver also has bugs.
Those bugs have been fixed in a series of patches at,
https://github.com/fthain/linux/commits/mac68k
---
Changed since v1:
- Minor revisions described in patch descriptions.
- Dropped patches 4/10 and 7/10.
- Added 5 new patches.
Finn Thain (13):
dp8393x: Mask EOL bit from descriptor addresses
dp8393x: Clean up endianness hacks
dp8393x: Have dp8393x_receive() return the packet size
dp8393x: Update LLFA and CRDA registers from rx descriptor
dp8393x: Clear RRRA command register bit only when appropriate
dp8393x: Implement packet size limit and RBAE interrupt
dp8393x: Don't stop reception upon RBE interrupt assertion
dp8393x: Don't clobber packet checksum
dp8393x: Use long-word-aligned RRA pointers in 32-bit mode
dp8393x: Pad frames to word or long word boundary
dp8393x: Clear descriptor in_use field when necessary
dp8393x: Always update RRA pointers and sequence numbers
dp8393x: Correctly advance RRP
hw/net/dp8393x.c | 147 ++++++++++++++++++++++++++++++++---------------
1 file changed, 100 insertions(+), 47 deletions(-)
--
2.23.0
- [PATCH v2 00/13] Fixes for DP8393X SONIC device emulation,
Finn Thain <=
- [PATCH v2 02/13] dp8393x: Clean up endianness hacks, Finn Thain, 2019/12/19
- [PATCH v2 04/13] dp8393x: Update LLFA and CRDA registers from rx descriptor, Finn Thain, 2019/12/19
- [PATCH v2 05/13] dp8393x: Clear RRRA command register bit only when appropriate, Finn Thain, 2019/12/19
- [PATCH v2 08/13] dp8393x: Don't clobber packet checksum, Finn Thain, 2019/12/19
- [PATCH v2 09/13] dp8393x: Use long-word-aligned RRA pointers in 32-bit mode, Finn Thain, 2019/12/19
- [PATCH v2 03/13] dp8393x: Have dp8393x_receive() return the packet size, Finn Thain, 2019/12/19
- [PATCH v2 06/13] dp8393x: Implement packet size limit and RBAE interrupt, Finn Thain, 2019/12/19
- [PATCH v2 10/13] dp8393x: Pad frames to word or long word boundary, Finn Thain, 2019/12/19
- [PATCH v2 07/13] dp8393x: Don't stop reception upon RBE interrupt assertion, Finn Thain, 2019/12/19
- [PATCH v2 11/13] dp8393x: Clear descriptor in_use field when necessary, Finn Thain, 2019/12/19