From patchwork Wed Oct 18 02:31:36 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Gan, Yi Fang" X-Patchwork-Id: 154619 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:612c:2908:b0:403:3b70:6f57 with SMTP id ib8csp4523001vqb; Tue, 17 Oct 2023 19:35:26 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFV6uRlUCao7qNrNkaghg89MvuIBkycDyviRvJwFW0MShJ/FL5RRZQGyVCz+ZSp8U4Upyrv X-Received: by 2002:a05:6870:1f0d:b0:1e9:e605:27a1 with SMTP id pd13-20020a0568701f0d00b001e9e60527a1mr3865509oab.2.1697596525815; Tue, 17 Oct 2023 19:35:25 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1697596525; cv=none; d=google.com; s=arc-20160816; b=Az/QuCGmwCJ/9icNTeh0VnTZrbkPeVGPGSpA6p+nDrrC2CivkTJaEiHP/JKxWExRdN n+bqb4meEWCQNN+dID9q6V/6kZGn68s8SwehRO8SzqWHHjP6roYrYwKWJvvd0jF8PP+Q PSq45ZYfPcS8Wo5GliA0mz1OtHKIyIc9rwmr7JENaJQLt+joY7cqTlPeO9cN4YElyr2H HBTFLGaUaGcO77j0mK0mQfmK6S9/+YgFd+9zxxhkE28m+daMRdaRMTHdlIJ+yu4uGsrq k3Rk9KXWrqNjcWPjrv5nFu1+pAdN76B6zLxKNA1w7mFU+X1MQgMrIkYQo8BSNu37U3DY zEhg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=EN6pzje+uBGl7sBL+8zzGCIZ51USutIjj927RrUWOGk=; fh=dp6hVzrLwaoihxWaWRte+IJps3wRUXTqUMu5RJnMGec=; b=EFVluGQcGyCEFbpZAOuC2tiZ992HijuUNGMIsLCljQ6cJMz032aOZK6DP8Xh89LGeq K6Vgq8YQSRF8qZ5UC+SkXeOdks2EjJsBVu58xRmdgKFSifRCPy8UkEj5XkjCUF1aGNTI DsnKGDb594pgg7CHcOPwsVJfOPXM/kNIikklR1SaTdFPfCFDy3lPWJNEODloDarL16cW qfsvAx0kQ8b7PYzj8kIguwoQli2IFB28HwOi6Zc1JtbqSymqgapJR5flMuBj4t/fR+wa wQ5YLpO9Nm1cvDaQWdgk2cRCfrffDgBg5q149I0opqGJIF9gsrWuf5E12vHTOzgyfzta mjqQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=T9v+pSma; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from snail.vger.email (snail.vger.email. [2620:137:e000::3:7]) by mx.google.com with ESMTPS id w19-20020a63f513000000b005859c255ce8si1156388pgh.819.2023.10.17.19.35.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 17 Oct 2023 19:35:25 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) client-ip=2620:137:e000::3:7; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=T9v+pSma; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id CD7C680E06AE; Tue, 17 Oct 2023 19:35:24 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229495AbjJRCfW (ORCPT + 23 others); Tue, 17 Oct 2023 22:35:22 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54040 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229450AbjJRCfV (ORCPT ); Tue, 17 Oct 2023 22:35:21 -0400 Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.31]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 48E8AAB; Tue, 17 Oct 2023 19:35:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1697596520; x=1729132520; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=eW1nR+Vnq/ijVBW0+IDk2j8V33dp2IbrFLegJCuCDx4=; b=T9v+pSmawNy3CLXb/+KDSALHRW3hPHCyvUVVDHAb5IiLP9jCdQTy2umf WgHotEsVCK3riTu4ZXzI/uMkoOTrIHcvnsYL4Bu26jgURsppb3RuXp8L0 p/rfK7Tidzebzepi+UaLybo4kagjJ7hfyUsBbZZbX+Dc0q43TgP9LdE9C VhP4YXPynvsge2bbkk1gxCX6VYNBDT+tzMTI+Sa2Da545LwF/R91COOCT /z7g0xSYyeQhZVfYug2gaa4hdDzRu0WFJp0nX04ejGS5U1k/3Fmlbxoy4 v+ZyjzhvTFeDOCOnrqBJ3mB4PadlSPZivEXzwhJ40XxeUD5G7cLtK1+w+ Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10866"; a="450144128" X-IronPort-AV: E=Sophos;i="6.03,233,1694761200"; d="scan'208";a="450144128" Received: from fmviesa001.fm.intel.com ([10.60.135.141]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Oct 2023 19:35:19 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.03,233,1694761200"; d="scan'208";a="4333750" Received: from ssid-ilbpg3-teeminta.png.intel.com ([10.88.227.74]) by fmviesa001.fm.intel.com with ESMTP; 17 Oct 2023 19:35:17 -0700 From: "Gan, Yi Fang" To: Alexandre Torgue , Jose Abreu , "David S . Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Maxime Coquelin , Russell King , Ong Boon Leong , netdev@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Cc: Michael Sit Wei Hong , Looi Hong Aun , Voon Weifeng , Song Yoong Siang , Gan Yi Fang Subject: [PATCH net 1/1] net: stmmac: update MAC capabilities when tx queues are updated Date: Wed, 18 Oct 2023 10:31:36 +0800 Message-Id: <20231018023137.652132-1-yi.fang.gan@intel.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 X-Spam-Status: No, score=0.9 required=5.0 tests=AC_FROM_MANY_DOTS,BAYES_00, DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF, RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_NONE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Tue, 17 Oct 2023 19:35:24 -0700 (PDT) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1780058974912241983 X-GMAIL-MSGID: 1780058974912241983 From: Michael Sit Wei Hong Upon boot up, the driver will configure the MAC capabilities based on the maximum number of tx and rx queues. When the user changes the tx queues to single queue, the MAC should be capable of supporting Half Duplex, but the driver does not update the MAC capabilities when it is configured so. Using the stmmac_reinit_queues() to check the number of tx queues and set the MAC capabilities accordingly. Fixes: 0366f7e06a6b ("net: stmmac: add ethtool support for get/set channels") Cc: # 5.17+ Signed-off-by: Michael Sit Wei Hong Signed-off-by: Gan, Yi Fang --- drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c index ed1a5a31a491..7ddc33fa0cb5 100644 --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c @@ -7172,6 +7172,14 @@ int stmmac_reinit_queues(struct net_device *dev, u32 rx_cnt, u32 tx_cnt) priv->rss.table[i] = ethtool_rxfh_indir_default(i, rx_cnt); + /* Half-Duplex can only work with single tx queue */ + if (priv->plat->tx_queues_to_use > 1) + priv->phylink_config.mac_capabilities &= + ~(MAC_10HD | MAC_100HD | MAC_1000HD); + else + priv->phylink_config.mac_capabilities |= + (MAC_10HD | MAC_100HD | MAC_1000HD); + stmmac_napi_add(dev); if (netif_running(dev))