From mboxrd@z Thu Jan 1 00:00:00 1970 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 smtp3.osuosl.org (smtp3.osuosl.org [140.211.166.136]) (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 5ED58E77180 for ; Mon, 16 Dec 2024 06:48:59 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp3.osuosl.org (Postfix) with ESMTP id 11DE5608A2; Mon, 16 Dec 2024 06:48:59 +0000 (UTC) X-Virus-Scanned: amavis at osuosl.org Received: from smtp3.osuosl.org ([127.0.0.1]) by localhost (smtp3.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP id 3-h_AtZy53zz; Mon, 16 Dec 2024 06:48:58 +0000 (UTC) X-Comment: SPF check N/A for local connections - client-ip=140.211.166.142; helo=lists1.osuosl.org; envelope-from=intel-wired-lan-bounces@osuosl.org; receiver= DKIM-Filter: OpenDKIM Filter v2.11.0 smtp3.osuosl.org 60D5C608F9 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=osuosl.org; s=default; t=1734331738; bh=IXtrVspXTpN0LMWGS+r8eO+Gu/6kWCTgzAqb2BHWNFE=; h=From:To:Cc:Date:In-Reply-To:References:Subject:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From; b=QL3sxkMlnOD9ubMAFyXO8EjTs9VL9NcRlK9b0oudAlQ12Ev71lRXgWeRDfc6TNAjJ ixvQhWW/zD2Fr8UTSkeEVhCkOYOd3QtdQEWpI/3ZU3WTow5AFrA8e+KTwmasPDIv/y x4RzLL+KqibJZ1UqZhN+fmGy8ywqOFZLnnEyBxe2/c8DUJauaqYYku39jlfY5NZG04 Q/PaBx4ytNfXy+hsj9UXDR6ld1OKSBVWd/XsEl4z2Zp1Lsif8JmAT4FXRyNoNdAXmq /oJ8YCH0tZgZVSt3E4/7MCNhUIOMYc6qAeJgbJwEfw3J7SXKft2a+Wd8NZXLzHYWo6 7edDpA5n8xh2g== Received: from lists1.osuosl.org (lists1.osuosl.org [140.211.166.142]) by smtp3.osuosl.org (Postfix) with ESMTP id 60D5C608F9; Mon, 16 Dec 2024 06:48:58 +0000 (UTC) Received: from smtp1.osuosl.org (smtp1.osuosl.org [IPv6:2605:bc80:3010::138]) by lists1.osuosl.org (Postfix) with ESMTP id 654D5C1 for ; Mon, 16 Dec 2024 06:48:57 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp1.osuosl.org (Postfix) with ESMTP id 5345881BC6 for ; Mon, 16 Dec 2024 06:48:57 +0000 (UTC) X-Virus-Scanned: amavis at osuosl.org Received: from smtp1.osuosl.org ([127.0.0.1]) by localhost (smtp1.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP id ooc4AvAl78_V for ; Mon, 16 Dec 2024 06:48:56 +0000 (UTC) Received-SPF: None (mailfrom) identity=mailfrom; client-ip=198.175.65.16; helo=mgamail.intel.com; envelope-from=faizal.abdul.rahim@linux.intel.com; receiver= DMARC-Filter: OpenDMARC Filter v1.4.2 smtp1.osuosl.org 848E381B8A DKIM-Filter: OpenDKIM Filter v2.11.0 smtp1.osuosl.org 848E381B8A Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.16]) by smtp1.osuosl.org (Postfix) with ESMTPS id 848E381B8A for ; Mon, 16 Dec 2024 06:48:56 +0000 (UTC) X-CSE-ConnectionGUID: 0tSHieogQH2d3rLaqyXcRA== X-CSE-MsgGUID: WcAqdOBtQx+dXO/4wd/Qkg== X-IronPort-AV: E=McAfee;i="6700,10204,11287"; a="34848205" X-IronPort-AV: E=Sophos;i="6.12,237,1728975600"; d="scan'208";a="34848205" Received: from fmviesa001.fm.intel.com ([10.60.135.141]) by orvoesa108.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Dec 2024 22:48:56 -0800 X-CSE-ConnectionGUID: SsYkkiMFS5+xDZspKZwaww== X-CSE-MsgGUID: BjoyvCGVQUyitmnScZcIjw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.12,224,1728975600"; d="scan'208";a="128101859" Received: from mohdfai2-ilbpg12-1.png.intel.com ([10.88.227.73]) by fmviesa001.fm.intel.com with ESMTP; 15 Dec 2024 22:48:52 -0800 From: Faizal Rahim To: Tony Nguyen , Przemek Kitszel , Andrew Lunn , "David S . Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Alexei Starovoitov , Daniel Borkmann , Jesper Dangaard Brouer , John Fastabend , Vinicius Costa Gomes Cc: Faizal Rahim , intel-wired-lan@lists.osuosl.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, bpf@vger.kernel.org Date: Mon, 16 Dec 2024 01:47:14 -0500 Message-Id: <20241216064720.931522-4-faizal.abdul.rahim@linux.intel.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20241216064720.931522-1-faizal.abdul.rahim@linux.intel.com> References: <20241216064720.931522-1-faizal.abdul.rahim@linux.intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Mailman-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1734331737; x=1765867737; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=SH1knRUZnCuOeW48/BTbg9x3crY0Xqb3zWnodThDr08=; b=EfGDCoobXY8CA163Rj+EjTnRED6pKhrXx5TcVnd23+gI+d8c5c0Y+f2R 2DAUvHeE/ZRQeCSuddc+RC//7jqUvm+C6Q/SjAbbxmdDU2OZ4LHbYx+I/ /j3lJRzKKI5kPrHm3m1gphuAXHlq42dXO7jzw6K8VBdBqO8agjnzp9cHY Yi95oR/NzB6Z+fBNv7FmbGRL8GybRS03GXYwUIKK8ySCzJFhOvvP4/Ssc qVzfs3Huzs/9wrE+Y/OD0dDCSjYMvRh8CZqPLSfAAteXrUPJ2nwUXT5Ar BivKg56Ga0nje0bOaVMnCGjlfy9sNvQ7VibJuqlozspFKjBybUE+QJ40y A==; X-Mailman-Original-Authentication-Results: smtp1.osuosl.org; dmarc=none (p=none dis=none) header.from=linux.intel.com X-Mailman-Original-Authentication-Results: smtp1.osuosl.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.a=rsa-sha256 header.s=Intel header.b=EfGDCoob Subject: [Intel-wired-lan] [PATCH iwl-next 3/9] igc: Set the RX packet buffer size for TSN mode X-BeenThere: intel-wired-lan@osuosl.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Intel Wired Ethernet Linux Kernel Driver Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-wired-lan-bounces@osuosl.org Sender: "Intel-wired-lan" From: Vinicius Costa Gomes 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. 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 1f63a523faf2..3a78753ab050 100644 --- a/drivers/net/ethernet/intel/igc/igc_defines.h +++ b/drivers/net/ethernet/intel/igc/igc_defines.h @@ -400,7 +400,10 @@ #define I225_TXPBSIZE_DEFAULT 0x04000014 /* TXPBSIZE default */ #define IGC_RXPBS_CFG_TS_EN 0x80000000 /* Timestamp in Rx buffer */ +/* The total (RX + TX) packet buffers must sum to less than 64KB */ #define IGC_TXPBSIZE_TSN 0x041c71c7 /* 7k bytes buffer for each queue + 4KB for BMC*/ +#define IGC_RXPBSIZE_TSN 0x0000f08f /* 15KB for EXP + 15KB for BE + 2KB for BMC */ +#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); -- 2.25.1