From patchwork Fri Dec 20 04:17:46 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Finn Thain X-Patchwork-Id: 1213907 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=telegraphics.com.au Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 47fFwG10Kwz9sRX for ; Fri, 20 Dec 2019 15:22:54 +1100 (AEDT) Received: from localhost ([::1]:50500 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ii9oR-0000BD-D9 for incoming@patchwork.ozlabs.org; Thu, 19 Dec 2019 23:22:51 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:55893) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ii9nh-0008Ub-8F for qemu-devel@nongnu.org; Thu, 19 Dec 2019 23:22:06 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ii9nf-00023e-Fs for qemu-devel@nongnu.org; Thu, 19 Dec 2019 23:22:04 -0500 Received: from kvm5.telegraphics.com.au ([98.124.60.144]:34398) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ii9nf-0001x1-4e; Thu, 19 Dec 2019 23:22:03 -0500 Received: by kvm5.telegraphics.com.au (Postfix, from userid 502) id DA3EA27FF9; Thu, 19 Dec 2019 23:22:01 -0500 (EST) Message-Id: From: Finn Thain Subject: [PATCH v2 00/13] Fixes for DP8393X SONIC device emulation MIME-Version: 1.0 Date: Fri, 20 Dec 2019 15:17:46 +1100 To: Jason Wang , qemu-devel@nongnu.org X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x [fuzzy] X-Received-From: 98.124.60.144 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Aleksandar Rikalo , =?utf-8?q?Herv=C3=A9_?= =?utf-8?q?Poussineau?= , Laurent Vivier , qemu-stable@nongnu.org Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" 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 Tested-by: Laurent Vivier --- 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(-)