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 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 7FFCFC3DA70 for ; Tue, 30 Jul 2024 16:44:45 +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:In-Reply-To:Content-Type: MIME-Version:References:Message-ID:Subject:Cc:To:From:Date:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=LNh6U/Nj0IS+73D/gMi9L211hlO162Rw8um2k93rApM=; b=QAb8I2AtZHZ80VAI4/R9vFUjAe 3qNO6LUQui2gkWSB94bwHKuF8CgD8ICmsY2XEFH/+ci/Ef3Plof8kJCfG4lN2unVEjMWPT+VNrCt1 t2KIEAJ4d2JjyY7M06HDBbD1ACWFKYODjGTPUh+zHhZoIlfUx/ONbVWKV7q4zXB5xw7MoxREDvDvg x7/PjsuhIHTUJVePn1bEXUefKWnFZFkxO/DxJeb32D+V75K5OYLLjCE1uW7UGSD4ovp0jkTKSWtSb A1X4wE505JF+5ogbIzwc3ksZosyWzHqNPXztYMdA/sZrO970kJ5SxiiuHlGAs/VLLBvV6A3QPABTb uejLN2yQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1sYpxk-0000000Fuim-0Ygc; Tue, 30 Jul 2024 16:44:36 +0000 Received: from dfw.source.kernel.org ([2604:1380:4641:c500::1]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1sYpxI-0000000Fubn-0JXj; Tue, 30 Jul 2024 16:44:09 +0000 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id 8CF1061FFA; Tue, 30 Jul 2024 16:44:07 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id BEF2EC32782; Tue, 30 Jul 2024 16:44:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1722357847; bh=Rftd5SMFzgvkrqtKYeOg6P+2kJ52Nckqpi9+qfZgqvc=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=CLM52lnozQsI4sXRr0KOts2j9HhXwa/TsStKURYBcCScyOTqEwo8mdBIAXfH6uP+A 5lOv8LY9BPSu+BifTimHjr6LBDCDVtkMaSFDT3qDbk26yxtgvb5aadvp191B7qTRxX Bi6CW+eHp0OcxJHeKIvmL7ck2PaX3oefXgD3+1Z5QwscC4HXd/3LyH/3rhGLIZeka5 5YB0ISkkCiSPR3WjApCOJ5GqCgPlphKBiYx/cwjwTfxoXAeiyNH12chjCkWylQCn0T 8qMm1KxBlF9LN+RqaGbRfYibpVLWf5iPPnfh8G/JuHMPtJXb4fGzOg78zlVh9vugS8 go6EvMm6NPVQQ== Date: Tue, 30 Jul 2024 17:44:01 +0100 From: Simon Horman To: Marc Kleine-Budde Cc: kernel@pengutronix.de, Vincent Mailhol , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Heiko Stuebner , Philipp Zabel , Elaine Zhang , David Jander , linux-can@vger.kernel.org, netdev@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH can-next 12/21] can: rockchip_canfd: add TX PATH Message-ID: <20240730164401.GD1967603@kernel.org> References: <20240729-rockchip-canfd-v1-0-fa1250fd6be3@pengutronix.de> <20240729-rockchip-canfd-v1-12-fa1250fd6be3@pengutronix.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20240729-rockchip-canfd-v1-12-fa1250fd6be3@pengutronix.de> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240730_094408_178139_E69D2227 X-CRM114-Status: GOOD ( 15.82 ) 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 On Mon, Jul 29, 2024 at 03:05:43PM +0200, Marc Kleine-Budde wrote: > The IP core has a TX event FIFO. In other IP cores, this type of FIFO > normally contains the event that a CAN frame has been successfully > sent. However, the IP core on the rk3568v2 the FIFO also holds events > of unsuccessful transmission attempts. > > It turned out that the best way to work around this problem is to set > the IP core to self-receive mode (RXSTX), filter out the self-received > frames and insert them into the complete TX path. > > Signed-off-by: Marc Kleine-Budde ... > diff --git a/drivers/net/can/rockchip/rockchip_canfd-tx.c b/drivers/net/can/rockchip/rockchip_canfd-tx.c ... > +void rkcanfd_handle_tx_done_one(struct rkcanfd_priv *priv, const u32 ts, > + unsigned int *frame_len_p) > +{ > + struct net_device_stats *stats = &priv->ndev->stats; > + unsigned int tx_tail; > + struct sk_buff *skb; > + > + tx_tail = rkcanfd_get_tx_tail(priv); > + skb = priv->can.echo_skb[tx_tail]; nit: skb is set but otherwise unused in this function. > + stats->tx_bytes += > + can_rx_offload_get_echo_skb_queue_timestamp(&priv->offload, > + tx_tail, ts, > + frame_len_p); > + stats->tx_packets++; > +} ...