From patchwork Tue Sep 3 18:43:32 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean Anderson X-Patchwork-Id: 13789209 X-Patchwork-Delegate: kuba@kernel.org Received: from out-180.mta0.migadu.com (out-180.mta0.migadu.com [91.218.175.180]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id AAB42192587 for ; Tue, 3 Sep 2024 18:43:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=91.218.175.180 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1725389025; cv=none; b=Zze3trewuUdF3mTW8a6o5W0YQDSEqRjmrmYk7PW6FdGusNVMhwUJGzwMd8bss+AggUSlWQLlCR2MNAe7SyGFJ2lvZyCvJYiLTfgYnpLXQ09Rl6T9TIluf5GJH6QBtPMEsgdJHS8ts62X/IQ9ba2OgqX2woQgiycKdDvPS6a/jZg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1725389025; c=relaxed/simple; bh=cIDDSpZqdWOsRvNfYimdfZv8iQfBpc64WvolZFWHh68=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=L8tan5DfJhKhPUaRYlABxB+xd2XiCDMqtF1LJB89sd2T2dPvusCS5dvoSoh6K7p+BB4zpphKqdpm/TWp3dt+LCncLJCz840t9xxT+lSyk7M5ykfdUK7TUsi7E907ntIzhIlgRTVwwTInOxP3S73RNp2pkrNiw7/BhStHI4EmwH4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev; spf=pass smtp.mailfrom=linux.dev; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b=ugehQBYB; arc=none smtp.client-ip=91.218.175.180 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b="ugehQBYB" X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1725389021; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=miVlX6AWASpn/Rgevxfm45wsjcuK0SlwyRSflTtdySU=; b=ugehQBYBI5JaPFAjPagyMl042nSEprLVnVKT6vj3dJoqXxPZ+eUrThmyZairmugvjcakf9 wftGOb5lDL8Alh3Qz9mcEB4HqSn5LbTxqovwJSTjgS5Gzs2I4gZrscUqwMBQ1blHpuCQV1 aLnHp+XgIJa9gyHdJemulrL1ilzrBy4= From: Sean Anderson To: Radhey Shyam Pandey , "David S . Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , netdev@vger.kernel.org Cc: Michal Simek , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Sean Anderson Subject: [PATCH 1/3] net: xilinx: axienet: Remove unused checksum variables Date: Tue, 3 Sep 2024 14:43:32 -0400 Message-Id: <20240903184334.4150843-2-sean.anderson@linux.dev> In-Reply-To: <20240903184334.4150843-1-sean.anderson@linux.dev> References: <20240903184334.4150843-1-sean.anderson@linux.dev> Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Migadu-Flow: FLOW_OUT X-Patchwork-Delegate: kuba@kernel.org These variables are set but never used. Remove them Signed-off-by: Sean Anderson Reviewed-by: Simon Horman Reviewed-by: Radhey Shyam Pandey --- drivers/net/ethernet/xilinx/xilinx_axienet.h | 5 ----- drivers/net/ethernet/xilinx/xilinx_axienet_main.c | 12 ------------ 2 files changed, 17 deletions(-) diff --git a/drivers/net/ethernet/xilinx/xilinx_axienet.h b/drivers/net/ethernet/xilinx/xilinx_axienet.h index c301dd2ee083..b9d2d7319220 100644 --- a/drivers/net/ethernet/xilinx/xilinx_axienet.h +++ b/drivers/net/ethernet/xilinx/xilinx_axienet.h @@ -527,8 +527,6 @@ struct skbuf_dma_descriptor { * supported, the maximum frame size would be 9k. Else it is * 1522 bytes (assuming support for basic VLAN) * @rxmem: Stores rx memory size for jumbo frame handling. - * @csum_offload_on_tx_path: Stores the checksum selection on TX side. - * @csum_offload_on_rx_path: Stores the checksum selection on RX side. * @coalesce_count_rx: Store the irq coalesce on RX side. * @coalesce_usec_rx: IRQ coalesce delay for RX * @coalesce_count_tx: Store the irq coalesce on TX side. @@ -606,9 +604,6 @@ struct axienet_local { u32 max_frm_size; u32 rxmem; - int csum_offload_on_tx_path; - int csum_offload_on_rx_path; - u32 coalesce_count_rx; u32 coalesce_usec_rx; u32 coalesce_count_tx; diff --git a/drivers/net/ethernet/xilinx/xilinx_axienet_main.c b/drivers/net/ethernet/xilinx/xilinx_axienet_main.c index fe6a0e2e463f..60ec430f3eb0 100644 --- a/drivers/net/ethernet/xilinx/xilinx_axienet_main.c +++ b/drivers/net/ethernet/xilinx/xilinx_axienet_main.c @@ -2631,38 +2631,26 @@ static int axienet_probe(struct platform_device *pdev) if (!ret) { switch (value) { case 1: - lp->csum_offload_on_tx_path = - XAE_FEATURE_PARTIAL_TX_CSUM; lp->features |= XAE_FEATURE_PARTIAL_TX_CSUM; /* Can checksum TCP/UDP over IPv4. */ ndev->features |= NETIF_F_IP_CSUM; break; case 2: - lp->csum_offload_on_tx_path = - XAE_FEATURE_FULL_TX_CSUM; lp->features |= XAE_FEATURE_FULL_TX_CSUM; /* Can checksum TCP/UDP over IPv4. */ ndev->features |= NETIF_F_IP_CSUM; break; - default: - lp->csum_offload_on_tx_path = XAE_NO_CSUM_OFFLOAD; } } ret = of_property_read_u32(pdev->dev.of_node, "xlnx,rxcsum", &value); if (!ret) { switch (value) { case 1: - lp->csum_offload_on_rx_path = - XAE_FEATURE_PARTIAL_RX_CSUM; lp->features |= XAE_FEATURE_PARTIAL_RX_CSUM; break; case 2: - lp->csum_offload_on_rx_path = - XAE_FEATURE_FULL_RX_CSUM; lp->features |= XAE_FEATURE_FULL_RX_CSUM; break; - default: - lp->csum_offload_on_rx_path = XAE_NO_CSUM_OFFLOAD; } } /* For supporting jumbo frames, the Axi Ethernet hardware must have From patchwork Tue Sep 3 18:43:33 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean Anderson X-Patchwork-Id: 13789210 X-Patchwork-Delegate: kuba@kernel.org Received: from out-184.mta0.migadu.com (out-184.mta0.migadu.com [91.218.175.184]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 607081925B1 for ; Tue, 3 Sep 2024 18:43:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=91.218.175.184 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1725389027; cv=none; b=H7TWcCx8AiAUIgLvvNrmSFJc48XG//q/Sz8ErY/YgGIB+GZqrFOUzx1+U40VB065uTLF4rx1Vhz4ccVQG4DLJ5/iNp7nbYg8QOKMTYZQns4TInrbRRaD8H5YHu+vOMCjh6SeXkxaSBx2OalJ+WBYfbWaaxHhw1ekJL2qoBPKeeY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1725389027; c=relaxed/simple; bh=KeK2MGRF1ZYh5LMH0RB6iuHxz/h3nIj2WOQi1Ys8Y/I=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=On74dBhtRBF9+0arcUSls1T5PBclReAd0336Zhy0kUut6RTEooAevi6kLVqTtalKQEyI6i/of/QPEoDd3ni8cwg7G5+E05sYma03/BoBIKEy5EXiD/ZJzcNbT2DoXkxi2pAhLwVYZzUSuB+c+1hj4pSmUQeVCWf5RaJWQI5KJNs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev; spf=pass smtp.mailfrom=linux.dev; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b=NShfBAY3; arc=none smtp.client-ip=91.218.175.184 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b="NShfBAY3" X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1725389023; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=NXxxYldboyxzE9Wae39eG+jfv6vdAxMeW5NxEwKdx/M=; b=NShfBAY37foLKXLE9aUjjeK3vDl801KxB506r4Er5d3tmzGPfCbIpWBGTou+3GFI8NfF5i 90tu1l92vHrC3vdGDDMvRjlM5E4YEYHV/gvyDX1cOz3JDy5JD3dIwWl/pqlkoTeX1NpEZ3 DvYLzfI1nBmFv4c9acb/gOFBufMnt7s= From: Sean Anderson To: Radhey Shyam Pandey , "David S . Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , netdev@vger.kernel.org Cc: Michal Simek , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Sean Anderson Subject: [PATCH 2/3] net: xilinx: axienet: Enable NETIF_F_HW_CSUM for partial tx checksumming Date: Tue, 3 Sep 2024 14:43:33 -0400 Message-Id: <20240903184334.4150843-3-sean.anderson@linux.dev> In-Reply-To: <20240903184334.4150843-1-sean.anderson@linux.dev> References: <20240903184334.4150843-1-sean.anderson@linux.dev> Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Migadu-Flow: FLOW_OUT X-Patchwork-Delegate: kuba@kernel.org Partial tx chechsumming is completely generic and does not depend on the L3/L4 protocol. Signal this to the net subsystem by enabling the more-generic offload feature (instead of restricting ourselves to TCP/UDP over IPv4 checksumming only like is necessary with full checksumming). Signed-off-by: Sean Anderson Reviewed-by: Simon Horman --- drivers/net/ethernet/xilinx/xilinx_axienet_main.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/ethernet/xilinx/xilinx_axienet_main.c b/drivers/net/ethernet/xilinx/xilinx_axienet_main.c index 60ec430f3eb0..74fade5a95c2 100644 --- a/drivers/net/ethernet/xilinx/xilinx_axienet_main.c +++ b/drivers/net/ethernet/xilinx/xilinx_axienet_main.c @@ -2632,8 +2632,8 @@ static int axienet_probe(struct platform_device *pdev) switch (value) { case 1: lp->features |= XAE_FEATURE_PARTIAL_TX_CSUM; - /* Can checksum TCP/UDP over IPv4. */ - ndev->features |= NETIF_F_IP_CSUM; + /* Can checksum any contiguous range */ + ndev->features |= NETIF_F_HW_CSUM; break; case 2: lp->features |= XAE_FEATURE_FULL_TX_CSUM; From patchwork Tue Sep 3 18:43:34 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean Anderson X-Patchwork-Id: 13789211 X-Patchwork-Delegate: kuba@kernel.org Received: from out-173.mta0.migadu.com (out-173.mta0.migadu.com [91.218.175.173]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 11787192D9F for ; Tue, 3 Sep 2024 18:43:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=91.218.175.173 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1725389028; cv=none; b=MUbfa9MctIHXlhbt133IEErHchi9IH/8lq/2WGMCLPaLl/yreD3ijHP10i4wHo6A3k7YPlOCvQsXd0fn1BTpmO3ZvnwmFdzpWH+mXPURjZT1vnqgJU8z+oIJr5KjYJFV01e+OU5KH58zxaGU6AVEOqaFr8UqLZ9NYe8Bwxwpl9c= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1725389028; c=relaxed/simple; bh=MqvTS19SyIB4yU2UQI1s8+5I5c4iE8RUxXgILxCVx/8=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=cAkhlPR77oGEdf+z+PmDyUV+v3bLo+cJslKuwlR/dDJ8QUJsjAP/AWUfjencrNMQPxAjsc+orsr+lD8LuJ3bRQMmjyZpSqezhIBi6XVva6HRy9ytz2ecYV+NH7rse860nZS9P/uBSQJ5GE9gU12MTsTWvzYWnEDcbH4fWwnw3DM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev; spf=pass smtp.mailfrom=linux.dev; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b=AbGCJCJ5; arc=none smtp.client-ip=91.218.175.173 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b="AbGCJCJ5" X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1725389025; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=lO6Qw3fND5cpAM7rycrrrnZxNspjCnlupd/fVRDk9Z4=; b=AbGCJCJ508jUBRJ/mh9JRd8STPK8QfLfeMtrJJkPRmvRqVaB3yPQaRjpU6JCPlVk5piNGn +x0IxqW0VX6k/trXotrH09A4gejbumgjDHS9IGzQXVppm1S9t9iLpcSykRvANT7VeDLTSu SpfQTC04ToqwgDMR39W3uxS3JHsvTPw= From: Sean Anderson To: Radhey Shyam Pandey , "David S . Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , netdev@vger.kernel.org Cc: Michal Simek , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Sean Anderson Subject: [PATCH 3/3] net: xilinx: axienet: Relax partial rx checksum checks Date: Tue, 3 Sep 2024 14:43:34 -0400 Message-Id: <20240903184334.4150843-4-sean.anderson@linux.dev> In-Reply-To: <20240903184334.4150843-1-sean.anderson@linux.dev> References: <20240903184334.4150843-1-sean.anderson@linux.dev> Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Migadu-Flow: FLOW_OUT X-Patchwork-Delegate: kuba@kernel.org The partial rx checksum feature computes a checksum over the entire packet, regardless of the L3 protocol. Remove the check for IPv4. Additionally, packets under 64 bytes should have been dropped by the MAC, so we can remove the length check as well. Signed-off-by: Sean Anderson Reviewed-by: Simon Horman --- drivers/net/ethernet/xilinx/xilinx_axienet_main.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/drivers/net/ethernet/xilinx/xilinx_axienet_main.c b/drivers/net/ethernet/xilinx/xilinx_axienet_main.c index 74fade5a95c2..99d08a775520 100644 --- a/drivers/net/ethernet/xilinx/xilinx_axienet_main.c +++ b/drivers/net/ethernet/xilinx/xilinx_axienet_main.c @@ -1188,9 +1188,7 @@ static int axienet_rx_poll(struct napi_struct *napi, int budget) csumstatus == XAE_IP_UDP_CSUM_VALIDATED) { skb->ip_summed = CHECKSUM_UNNECESSARY; } - } else if ((lp->features & XAE_FEATURE_PARTIAL_RX_CSUM) != 0 && - skb->protocol == htons(ETH_P_IP) && - skb->len > 64) { + } else if (lp->features & XAE_FEATURE_PARTIAL_RX_CSUM) { skb->csum = be32_to_cpu(cur_p->app3 & 0xFFFF); skb->ip_summed = CHECKSUM_COMPLETE; }