Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp822495yba; Wed, 15 May 2019 10:30:51 -0700 (PDT) X-Google-Smtp-Source: APXvYqyv0oQWA5kAWMQUt6qPFCL0h8Za0Fou9nRGbGh8vcw+5x/1ALTxBeWW9g2Zb6Xnpn4d3NxY X-Received: by 2002:a63:2ace:: with SMTP id q197mr44771914pgq.371.1557941451455; Wed, 15 May 2019 10:30:51 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1557941451; cv=none; d=google.com; s=arc-20160816; b=yPyVCTc8leYlRyxm0d2ewBDfQTbEZArUXTAMltO7t6r+E+cwcHw/u+rwfiwyFavhh+ iyLsR7hX/A8dYMIEN/Itb5OCGE1sbLSdR7Cq2HRD8VaZfzf1hpt8InOPduN6PsJ08G5F /XAy2RE2ECodyB7LBGcvRdjppc3OSEtkZee/nJZuZN1FM3G7HzligzW3JDS49QjZhFCe dPwtpqQ7dj7GDAtoEmvrhd18EuhWUVjLASyeIokyubvINcAylJ3MxJMvpwqvIFp22ll4 l6zIMBQrp6nUXbj5TFcWEHrAdqUzNcuwkFTIoEYPck3I4HyuVJNoU+Tm8ZJ2N7zs7u5l YvFQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:dkim-signature; bh=Sf803I4SA3JX3Pgek3tMwi+IRlPrJZxRDuXTa88rrUY=; b=gUCQpM7AwaN7xcVmPVk9oCeYq+afc68Ei0/QEuvdY0iU5kYGIdwnpCA8WgqtwHqgBS uTwIHSfFXGO++ZCqKupFlWDAGCC1+RTeafOpyWREKKT3a+RzeV2uC09h5kKMoFkJ15O4 ohTFTHY78NMENmNT/oFpxrqTnVeEzuLatypgJuiFI+60Z6PWptSsyXqHHCQjddjRFszw ABamMmmjYF+Vnxm/arWUQehu8DhnoayTZobedElohVgerAlUCpvMAv6sXWM89I9ZQFJr zYXBmSLqCvy2ELmlgAxQwbjBGMwR7Y7J8NN/yyxwE3DHxn1XWNsk+gfpYu7XOfdthsSM 6+xg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=DnyOqQkx; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id t19si2321777pgv.91.2019.05.15.10.30.35; Wed, 15 May 2019 10:30:51 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=DnyOqQkx; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727069AbfEOR32 (ORCPT + 99 others); Wed, 15 May 2019 13:29:28 -0400 Received: from mail-wm1-f68.google.com ([209.85.128.68]:40051 "EHLO mail-wm1-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725974AbfEOR32 (ORCPT ); Wed, 15 May 2019 13:29:28 -0400 Received: by mail-wm1-f68.google.com with SMTP id h11so815045wmb.5; Wed, 15 May 2019 10:29:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=Sf803I4SA3JX3Pgek3tMwi+IRlPrJZxRDuXTa88rrUY=; b=DnyOqQkxQIwZ/WAS4mXcFGsIp4mCMKvXCRPaefVzp8GXB8fBCID4v4MFFUnNGgqnA9 cvF2IOmnOTKaRupcYuKKCCsOOfrkSJh8DjouBJ8AKbBunotXnIEzHHy7tU2ED4kCOXl7 to1bSHy2Fs3FQYKClxT87YLmgek3s9UBpWi0AvA55zfSYZq2YYAPP3dNDMvYbEdIv05j Lodnyku8NidsRDPl4diqyw8krPWgVs3q9/wn2h94JDl0s+erdy4NM5P9G6ZkO7cxVgFR 8tXUuWXeh6xvv9Y6Zil6Mn5gklJ4LZrZp35KywddCAjF+ieDnhyJgjfuiRsYmoT7v1h0 /PpA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=Sf803I4SA3JX3Pgek3tMwi+IRlPrJZxRDuXTa88rrUY=; b=XPb7+wR+rK0EHfvb7+avNZv6T//A1QvLwlSQ0ycjF20nYsfjaWc9gQC009bfPOE4VE T5M0UTfee+ndo5WQTrIqmxOF2/J2NyWTtlB7lPZUlEvt5wz6KWgXg53oBHSsV+o0CUjX K1lamCcnkau5rZfWzb6sSg8usdRgNCOj+DOkqiT7SUWVafkuLXZ3vA0sXhLw8wufklFU gVeR/dXWDQIwnXBINJ1wmV6ZhbkHawcOYwx0BbsKPSkFLoFVPIDXtSf92U6VL9WnmWTm Uw+t+zooi7gSASrHPqPumzskzYGr0jpV3vPSCU9OrHjRZ1M1jiYFyiPTOftaRuraPEUb /VDw== X-Gm-Message-State: APjAAAXZNHCWkOp+3d3AYeFfxZXNxOYXXAoT0pWt5HC39enucdZzRl8z 0BrM1rP43S/nTzRpshtHguk8rcNG X-Received: by 2002:a1c:494:: with SMTP id 142mr25121736wme.115.1557941365627; Wed, 15 May 2019 10:29:25 -0700 (PDT) Received: from Red ([2a01:cb1d:147:7200:2e56:dcff:fed2:c6d6]) by smtp.googlemail.com with ESMTPSA id u17sm1778872wmj.1.2019.05.15.10.29.24 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 15 May 2019 10:29:24 -0700 (PDT) Date: Wed, 15 May 2019 19:29:22 +0200 From: Corentin Labbe To: Jose Abreu Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Joao Pinto , "David S . Miller" , Giuseppe Cavallaro , Alexandre Torgue , Andrew Lunn Subject: Re: [RFC net-next v2 00/14] net: stmmac: Selftests Message-ID: <20190515172922.GA30321@Red> References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.10.1 (2018-07-13) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, May 14, 2019 at 05:45:22PM +0200, Jose Abreu wrote: > [ Submitting with net-next closed for proper review and testing. ] > > This introduces selftests support in stmmac driver. We add 9 basic sanity > checks and MAC loopback support for all cores within the driver. This way > more tests can easily be added in the future and can be run in virtually > any MAC/GMAC/QoS/XGMAC platform. > > Having this we can find regressions and missing features in the driver > while at the same time we can check if the IP is correctly working. > > We have been using this for some time now and I do have more tests to > submit in the feature. My experience is that although writing the tests > adds more development time, the gain results are obvious. > > I let this feature optional within the driver under a Kconfig option. > > Cc: Joao Pinto > Cc: David S. Miller > Cc: Giuseppe Cavallaro > Cc: Alexandre Torgue > Cc: Corentin Labbe > Cc: Andrew Lunn > > Corentin Labbe (1): > net: ethernet: stmmac: dwmac-sun8i: Enable control of loopback > > Jose Abreu (13): > net: stmmac: Add MAC loopback callback to HWIF > net: stmmac: dwmac100: Add MAC loopback support > net: stmmac: dwmac1000: Add MAC loopback support > net: stmmac: dwmac4/5: Add MAC loopback support > net: stmmac: dwxgmac2: Add MAC loopback support > net: stmmac: Switch MMC functions to HWIF callbacks > net: stmmac: dwmac1000: Also pass control frames while in promisc mode > net: stmmac: dwmac4/5: Also pass control frames while in promisc mode > net: stmmac: dwxgmac2: Also pass control frames while in promisc mode > net: stmmac: Introduce selftests support > net: stmmac: dwmac1000: Fix Hash Filter > net: stmmac: dwmac1000: Clear unused address entries > net: stmmac: dwmac4/5: Fix Hash Filter > > drivers/net/ethernet/stmicro/stmmac/Kconfig | 9 + > drivers/net/ethernet/stmicro/stmmac/Makefile | 2 + > drivers/net/ethernet/stmicro/stmmac/common.h | 1 + > drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c | 13 + > drivers/net/ethernet/stmicro/stmmac/dwmac1000.h | 1 + > .../net/ethernet/stmicro/stmmac/dwmac1000_core.c | 22 +- > .../net/ethernet/stmicro/stmmac/dwmac100_core.c | 13 + > drivers/net/ethernet/stmicro/stmmac/dwmac4.h | 3 + > drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c | 19 +- > drivers/net/ethernet/stmicro/stmmac/dwxgmac2.h | 2 + > .../net/ethernet/stmicro/stmmac/dwxgmac2_core.c | 15 +- > drivers/net/ethernet/stmicro/stmmac/hwif.c | 9 + > drivers/net/ethernet/stmicro/stmmac/hwif.h | 21 + > drivers/net/ethernet/stmicro/stmmac/mmc.h | 4 - > drivers/net/ethernet/stmicro/stmmac/mmc_core.c | 13 +- > drivers/net/ethernet/stmicro/stmmac/stmmac.h | 22 + > .../net/ethernet/stmicro/stmmac/stmmac_ethtool.c | 8 +- > drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 4 +- > .../net/ethernet/stmicro/stmmac/stmmac_selftests.c | 846 +++++++++++++++++++++ > 19 files changed, 1014 insertions(+), 13 deletions(-) > create mode 100644 drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c > > -- > 2.7.4 > Tested-by: Corentin LABBE Tested-on: sun7i-a20-cubieboard2 Tested-on: sun50i-a64-bananapi-m64 Tested-on: meson-gxl-s905x-libretech-cc For information the output is: On sun50i-a64-bananapi-m64 ethtool --test eth0 offline The test result is PASS The test extra info: 1. MAC Loopback 0 2. PHY Loopback -95 3. MMC Counters -95 4. EEE -95 5. Hash Filter MC 0 6. Perfect Filter UC 0 7. MC Filter 0 8. UC Filter 0 9. Flow Control -95 with onine I got dwmac-sun8i 1c30000.ethernet eth0: Only offline tests are supported on sun7i-a20-cubieboard2: ethtool --test eth0 offline The test result is PASS The test extra info: 1. MAC Loopback 0 2. PHY Loopback -95 3. MMC Counters -95 4. EEE -95 5. Hash Filter MC 0 6. Perfect Filter UC 0 7. MC Filter 0 8. UC Filter 0 9. Flow Control -95 With online I got: sun7i-dwmac 1c50000.ethernet eth0: Only offline tests are supported on meson-gxl-s905x-libretech-cc: ethtool --test eth0 offline The test result is FAIL The test extra info: 1. MAC Loopback 0 2. PHY Loopback -95 3. MMC Counters -1 4. EEE -95 5. Hash Filter MC 0 6. Perfect Filter UC 0 7. MC Filter 0 8. UC Filter 0 9. Flow Control -95 with onine I got meson8b-dwmac c9410000.ethernet eth0: Only offline tests are supported I will try to investigate the MMC failure. Does -1 (vs other -EXXXX) is the right error code to return from the driver ?