From patchwork Mon Apr 19 13:01:00 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Oleksij Rempel X-Patchwork-Id: 12211817 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-11.8 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9E0DBC43460 for ; Mon, 19 Apr 2021 13:03:53 +0000 (UTC) Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 634FB61107 for ; Mon, 19 Apr 2021 13:03:53 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 634FB61107 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=pengutronix.de Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding :Content-Type:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:Message-Id:Date:Subject:Cc:To:From: Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender :Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:List-Owner; bh=DHZXrI/1wHmG5ykcGcc3/KMs9dqOkNQZhEhnoi43qdk=; b=cScZ8r7Zw+0Bv4HVpcmnznOG6j gBCfda2gpD/c0P6Re0YGzAhfQy0UbnV0N2WIjQuYdzWWb/dg7Gys9aSJ0R3oF35n1loLYM5WNP1Ax hFw3zSs3UiIeJd3HBgL87QWdgd+31P+x0qEm5Rw28N04K6Wmq0w5pQFUX3M5BOX1e/1pyMw3pm/qV bejppW3UNhOlEvh6XKFJuIu8k+vwrL64SQx+9xKhmqYoWm7R1HH3iUjrQbtbZXCy0rKJifXrLbgIX NJkMYN9yo/hO4+Ao8lV95oIqjH9hoswKAZm171El7uOgCtOT3ITe4iwo04JXe8J62Ju2Bs6gg2MsM 6mZMUV5g==; Received: from localhost ([::1] helo=desiato.infradead.org) by desiato.infradead.org with esmtp (Exim 4.94 #2 (Red Hat Linux)) id 1lYTXF-009teE-O4; Mon, 19 Apr 2021 13:01:54 +0000 Received: from bombadil.infradead.org ([2607:7c80:54:e::133]) by desiato.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lYTWm-009taR-AH for linux-arm-kernel@desiato.infradead.org; Mon, 19 Apr 2021 13:01:24 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding: MIME-Version:Message-Id:Date:Subject:Cc:To:From:Sender:Reply-To:Content-Type: Content-ID:Content-Description:In-Reply-To:References; bh=xh5z0IJmB/LkqV2rPQc26HUUEASW0j3XykYBO0iivws=; b=PXTbDCbVUjSnKISB+xpRpULyiH W9YcMHqsOo0Ne87sbhm9nl0N897KpC660W/8eMMYXbACfdB/CXpXtjGTg6HyY9NNiKCFOHUwbs0Iq y/p/7IcdnAI5dYPGhweHTj7aFgGvJwneJ71Ey2bCkQ01er3DO98/iwsh41Vd8lYs97qEqj+JQEUEB 5TPwAWqJSGcLwX65pmQkpxomV0Vfv9+ANOzo2jk+trRcziZKWLLiyBMtTC3jPQ8NOY2ArjlA+tELJ r4zR33fxB3LY9u4lSeMVGpoI/ekTK99ohRz7BPYh3GSNNdFZl3JFzhqN83Qj9R24FWhn0ctaQ9Uob T4GA6Dfw==; Received: from metis.ext.pengutronix.de ([2001:67c:670:201:290:27ff:fe1d:cc33]) by bombadil.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lYTWf-00BMwO-D1 for linux-arm-kernel@lists.infradead.org; Mon, 19 Apr 2021 13:01:23 +0000 Received: from dude.hi.pengutronix.de ([2001:67c:670:100:1d::7]) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lYTWa-0003td-VS; Mon, 19 Apr 2021 15:01:12 +0200 Received: from ore by dude.hi.pengutronix.de with local (Exim 4.92) (envelope-from ) id 1lYTWW-0001le-UJ; Mon, 19 Apr 2021 15:01:08 +0200 From: Oleksij Rempel To: Shawn Guo , Sascha Hauer , Andrew Lunn , Florian Fainelli , Heiner Kallweit , Fugang Duan Cc: Oleksij Rempel , kernel@pengutronix.de, netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-imx@nxp.com, Fabio Estevam , David Jander , Russell King , Philippe Schenker Subject: [PATCH net-next v3 0/6] provide generic net selftest support Date: Mon, 19 Apr 2021 15:01:00 +0200 Message-Id: <20210419130106.6707-1-o.rempel@pengutronix.de> X-Mailer: git-send-email 2.29.2 MIME-Version: 1.0 X-SA-Exim-Connect-IP: 2001:67c:670:100:1d::7 X-SA-Exim-Mail-From: ore@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-arm-kernel@lists.infradead.org X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210419_060117_480898_7A3D331F X-CRM114-Status: GOOD ( 12.95 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org changes v3: - make more granular tests - enable loopback for all PHYs by default - fix allmodconfig build errors - poll for link status update after switching to the loopback mode changes v2: - make generic selftests available for all networking devices. - make use of net_selftest* on FEC, ag71xx and all DSA switches. - add loopback support on more PHYs. This patch set provides diagnostic capabilities for some iMX, ag71xx or any DSA based devices. For proper functionality, PHY loopback support is needed. So far there is only initial infrastructure with basic tests. Oleksij Rempel (6): net: phy: execute genphy_loopback() per default on all PHYs net: phy: genphy_loopback: add link speed configuration net: add generic selftest support net: fec: make use of generic NET_SELFTESTS library net: ag71xx: make use of generic NET_SELFTESTS library net: dsa: enable selftest support for all switches by default drivers/net/ethernet/atheros/Kconfig | 1 + drivers/net/ethernet/atheros/ag71xx.c | 20 +- drivers/net/ethernet/freescale/Kconfig | 1 + drivers/net/ethernet/freescale/fec_main.c | 7 + drivers/net/phy/phy.c | 3 +- drivers/net/phy/phy_device.c | 35 +- include/linux/phy.h | 1 + include/net/dsa.h | 2 + include/net/selftests.h | 12 + net/Kconfig | 4 + net/core/Makefile | 1 + net/core/selftests.c | 400 ++++++++++++++++++++++ net/dsa/Kconfig | 1 + net/dsa/slave.c | 21 ++ 14 files changed, 500 insertions(+), 9 deletions(-) create mode 100644 include/net/selftests.h create mode 100644 net/core/selftests.c