From patchwork Wed Mar 5 13:00:21 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Faizal Rahim X-Patchwork-Id: 14002809 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id B9EBDC28B23 for ; Wed, 5 Mar 2025 14:18:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Content-Transfer-Encoding: MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:To:From:Reply-To: Cc:Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=Nns2pb75X82OiRUnuI2QHZ6PcDEQCoIyJJLFfE3oNG0=; b=4pFBFeZLXLJADyAvAxKhuO7Lzq gylG26aHh+snAlpCGKg3Mjt7nvPraN01L2iMxWRS3EYuTxlRd5Cm1HB3Qyvg7K0fQ6Bkvu6FyRo3f kWxLUAAuyROVK4sDZjh8bVDO2WnFWmQeJtee8cqgK1Aa8ZfII9znSNQy3kVdZd1qVHzQ6AQw6l8im 7trhCYm8t5i6DPMbOG1OZv65zoen/BaOK318N+eCnDvEXSZj6hlSaD1SIrlA22nZ8UG6Jr6jHD5Ol 7EF/R5rMwaEe1SJhhzqL8ydoenJzTQ2Zvag7T/ejCcenzzr2J9zvtPKWT6eOUB3TuJk5BmHPLjQed HAGxq+Wg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tppa6-00000008Js9-2NNn; Wed, 05 Mar 2025 14:18:42 +0000 Received: from desiato.infradead.org ([2001:8b0:10b:1:d65d:64ff:fe57:4e05]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tpoNo-000000086Z7-2Yam for linux-arm-kernel@bombadil.infradead.org; Wed, 05 Mar 2025 13:01:56 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=desiato.20200630; h=Content-Transfer-Encoding:MIME-Version :References:In-Reply-To:Message-Id:Date:Subject:To:From:Sender:Reply-To:Cc: Content-Type:Content-ID:Content-Description; bh=Nns2pb75X82OiRUnuI2QHZ6PcDEQCoIyJJLFfE3oNG0=; b=JTFpxzbvllBfaPV55QY5xshjRv sFWdzZvA5HU3+eL/NRTpdqZ1xQXqeR4on6nUAEQBSMm4r53exzJHDh6WWGvC53SisFJ8nE8ULckRs 0U3rUu7VlD1a2GcIXe4OzMnh4BGuY6gUN+om3Ytd4cL/kq1RyM0+NSdGpokn0olM9TL8hwz0VV4J3 caXpgOL72xZxLFcL3YvYxnOBVsEdWaUjMgAgfVzA4GmTcP16ThUqyjAlZb0dpWEcPkD5AyK3sWgf0 M15cTqkjBeTFNfEEPoH1ow5TQeyXOlFVY18F1TYIFFFw3LxVSoFQ3/jlHDHjDgu6aW1iTnRqRMO2m 72R4uF8A==; Received: from mgamail.intel.com ([198.175.65.15]) by desiato.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tpoNl-00000000XBw-23j4 for linux-arm-kernel@lists.infradead.org; Wed, 05 Mar 2025 13:01:55 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1741179714; x=1772715714; h=from:to:subject:date:message-id:in-reply-to:references: mime-version:content-transfer-encoding; bh=2Msp7YoBmanu425m0MXmljH1/c1Or8M2lkzZSA8x+50=; b=AGp9a/S06l/aPbhiygWV8m50Tc3Y/YHGLH0E/Pm/DsA0aS+8se8ywQSM KHqkVSaFgou5Kk1rbiLYE3W9cG7JibYZAvjgFga/R8t1rwy6bTO1rCbAC kMrHAa9LvZT4EpI7Dodhbs/gQbtMOwc5kSbmJ3pLjtX3xysYWL9e9RolJ GbxfT3CCzpy8ExKfKYehzww0pmD5uxtYnUVF4I/ODvdcF3rTz0LSMwbrb 8ULAGVovdv+ReV3KEQ3IxDERWMJwoyjz9rdE/Kf74dj7jchbQs4XroNYl WKuU8PChiVhTs6L95b2/dEUWNUgdlWCVoUMxpDro6kTjwwmA+WjS9aPMk Q==; X-CSE-ConnectionGUID: sFFoxOqXTyGMVVQdAMW16g== X-CSE-MsgGUID: gPScpO++SeenYNflMI5e8Q== X-IronPort-AV: E=McAfee;i="6700,10204,11363"; a="45795045" X-IronPort-AV: E=Sophos;i="6.14,223,1736841600"; d="scan'208";a="45795045" Received: from fmviesa005.fm.intel.com ([10.60.135.145]) by orvoesa107.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Mar 2025 05:01:45 -0800 X-CSE-ConnectionGUID: xQgVjQU7RRCRvWCDSeerzQ== X-CSE-MsgGUID: TF0vvx1aSsaNv7LIwQ9VCg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.14,223,1736841600"; d="scan'208";a="123277066" Received: from mohdfai2-ilbpg12-1.png.intel.com ([10.88.227.73]) by fmviesa005.fm.intel.com with ESMTP; 05 Mar 2025 05:01:38 -0800 From: Faizal Rahim To: Tony Nguyen , Przemek Kitszel , Andrew Lunn , "David S . Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Maxime Coquelin , Alexandre Torgue , Simon Horman , Russell King , Alexei Starovoitov , Daniel Borkmann , Jesper Dangaard Brouer , John Fastabend , Furong Xu <0x1207@gmail.com>, Russell King , Vladimir Oltean , Serge Semin , Xiaolei Wang , Suraj Jaiswal , Kory Maincent , Gal Pressman , Jesper Nilsson , Choong Yong Liang , Chwee-Lin Choong , Faizal Rahim , Kunihiko Hayashi , Vinicius Costa Gomes , intel-wired-lan@lists.osuosl.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, bpf@vger.kernel.org Subject: [PATCH iwl-next v8 06/11] igc: set the RX packet buffer size for TSN mode Date: Wed, 5 Mar 2025 08:00:21 -0500 Message-Id: <20250305130026.642219-7-faizal.abdul.rahim@linux.intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250305130026.642219-1-faizal.abdul.rahim@linux.intel.com> References: <20250305130026.642219-1-faizal.abdul.rahim@linux.intel.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250305_130153_877457_363DD7B6 X-CRM114-Status: GOOD ( 12.47 ) 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 In preparation for supporting frame preemption, when entering TSN mode set the receive packet buffer to 16KB for the Express MAC, 16KB for the Preemptible MAC and 2KB for the BMC, according to the datasheet section 7.1.3.2. Co-developed-by: Vinicius Costa Gomes Signed-off-by: Vinicius Costa Gomes Signed-off-by: Faizal Rahim --- drivers/net/ethernet/intel/igc/igc_defines.h | 3 +++ drivers/net/ethernet/intel/igc/igc_tsn.c | 13 +++++++++++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/drivers/net/ethernet/intel/igc/igc_defines.h b/drivers/net/ethernet/intel/igc/igc_defines.h index 516ef70c98e9..b19ac6f30dac 100644 --- a/drivers/net/ethernet/intel/igc/igc_defines.h +++ b/drivers/net/ethernet/intel/igc/igc_defines.h @@ -402,6 +402,9 @@ /* 7KB bytes buffer for each tx queue (total 4 queues) + 4KB for BMC*/ #define IGC_TXPBSIZE_TSN 0x041c71c7 +/* 15KB for EXP + 15KB for BE + 2KB for BMC */ +#define IGC_RXPBSIZE_TSN 0x0000f08f +#define IGC_RXPBSIZE_SIZE_MASK 0x0001FFFF #define IGC_DTXMXPKTSZ_TSN 0x19 /* 1600 bytes of max TX DMA packet size */ #define IGC_DTXMXPKTSZ_DEFAULT 0x98 /* 9728-byte Jumbo frames */ diff --git a/drivers/net/ethernet/intel/igc/igc_tsn.c b/drivers/net/ethernet/intel/igc/igc_tsn.c index 1e44374ca1ff..f0213cfce07d 100644 --- a/drivers/net/ethernet/intel/igc/igc_tsn.c +++ b/drivers/net/ethernet/intel/igc/igc_tsn.c @@ -132,13 +132,17 @@ static int igc_tsn_disable_offload(struct igc_adapter *adapter) { u16 queue_per_tc[4] = { 3, 2, 1, 0 }; struct igc_hw *hw = &adapter->hw; - u32 tqavctrl; + u32 tqavctrl, rxpbs; int i; wr32(IGC_GTXOFFSET, 0); wr32(IGC_TXPBS, I225_TXPBSIZE_DEFAULT); wr32(IGC_DTXMXPKTSZ, IGC_DTXMXPKTSZ_DEFAULT); + rxpbs = rd32(IGC_RXPBS) & ~IGC_RXPBSIZE_SIZE_MASK; + rxpbs |= I225_RXPBSIZE_DEFAULT; + wr32(IGC_RXPBS, rxpbs); + if (igc_is_device_id_i226(hw)) igc_tsn_restore_retx_default(adapter); @@ -194,7 +198,7 @@ static int igc_tsn_enable_offload(struct igc_adapter *adapter) { struct igc_hw *hw = &adapter->hw; u32 tqavctrl, baset_l, baset_h; - u32 sec, nsec, cycle; + u32 sec, nsec, cycle, rxpbs; ktime_t base_time, systim; int i; @@ -202,6 +206,11 @@ static int igc_tsn_enable_offload(struct igc_adapter *adapter) wr32(IGC_DTXMXPKTSZ, IGC_DTXMXPKTSZ_TSN); wr32(IGC_TXPBS, IGC_TXPBSIZE_TSN); + rxpbs = rd32(IGC_RXPBS) & ~IGC_RXPBSIZE_SIZE_MASK; + rxpbs |= IGC_RXPBSIZE_TSN; + + wr32(IGC_RXPBS, rxpbs); + if (igc_is_device_id_i226(hw)) igc_tsn_set_retx_qbvfullthreshold(adapter);