Message ID | 20230616100409.164583-1-alexis.lothore@bootlin.com (mailing list archive) |
---|---|
Headers | show
Return-Path: <linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org> 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 38985EB64DA for <linux-arm-kernel@archiver.kernel.org>; Fri, 16 Jun 2023 10:06:04 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-ID:Date:Subject:Cc :To:From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=pMNOfrs1Ba12FeRDGGm0AiTn3tRkDg42K/MWHKIw7hM=; b=fAn1OjHg0jKfKI aUQd/aTbmVlEzR1h0ee8UZKHqgcq0ciPvGBJT7ejGiw2iKgtxzktAUCea7Sf4o4oDaZDVoa/rWmuF oDR2awrFe3Gkf3oXezE9aeqPKs4WDlQTPaKKvtUNU7ImNDs9RXdU0FFqQGkVTfnhtwsGBT6LA4zRV 16dMJvibwJ3QR4fLjTVFb3Xvo55b5NBvZOPe63ggLMIW+GqiQDM3UeRTmZAzq3NAsbqHB7zzO3Zb3 xdojlER4C2+XY6lyWqLCG8bSBCgUJhUu4m7JsxLMGYOX21+1XX6JLxDt+QMo/pe193q4zcpgFj0W0 G6NMpvBN5It/30He70uA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qA6Kq-00HXsS-2X; Fri, 16 Jun 2023 10:05:40 +0000 Received: from relay7-d.mail.gandi.net ([2001:4b98:dc4:8::227]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qA6Km-00HXpX-1J for linux-arm-kernel@lists.infradead.org; Fri, 16 Jun 2023 10:05:38 +0000 X-GND-Sasl: alexis.lothore@bootlin.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1686909930; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/bEp3l+mxj4OHOGsH5hIH6F032OIg4YoPj77OR1PVdg=; b=CN6oOlMdpm4WJSEG9Jbl2Wjd46tk4pOqx3PJpvQUFS28VyPKOhJIzXXMAmdKxbZoDJBCBF JoQnBH/1OwhyK5EYtNKFAuTuYLn+wKnQdm5d3148b84eqOEbb2GqpStIXBULMgr/GqI3PW inIn+uWZzm9eOjKfFpWdkhjEkTwz6RwRoz6xQwCI+wz5YYweGyHzlPMVg8oKmCdbp64wbg b6lrf5upm8vJsR1FMAU5BV7kmFasB9rdxsrghFRdpDIF6FqNJx8qqNSfDk32ehYr9aCG1L 7aP1VRYxjRJChWBxI3Hw9YKDxnz9LKauQv0hEUHRIGdxJuC7TpCb6pEcFk/8iA== X-GND-Sasl: alexis.lothore@bootlin.com X-GND-Sasl: alexis.lothore@bootlin.com X-GND-Sasl: alexis.lothore@bootlin.com X-GND-Sasl: alexis.lothore@bootlin.com X-GND-Sasl: alexis.lothore@bootlin.com X-GND-Sasl: alexis.lothore@bootlin.com X-GND-Sasl: alexis.lothore@bootlin.com X-GND-Sasl: alexis.lothore@bootlin.com X-GND-Sasl: alexis.lothore@bootlin.com X-GND-Sasl: alexis.lothore@bootlin.com X-GND-Sasl: alexis.lothore@bootlin.com X-GND-Sasl: alexis.lothore@bootlin.com X-GND-Sasl: alexis.lothore@bootlin.com X-GND-Sasl: alexis.lothore@bootlin.com Received: by mail.gandi.net (Postfix) with ESMTPSA id ABFB320004; Fri, 16 Jun 2023 10:05:28 +0000 (UTC) From: alexis.lothore@bootlin.com To: Giuseppe Cavallaro <peppe.cavallaro@st.com>, Alexandre Torgue <alexandre.torgue@foss.st.com>, Jose Abreu <joabreu@synopsys.com>, "David S. Miller" <davem@davemloft.net>, Eric Dumazet <edumazet@google.com>, Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>, Maxime Coquelin <mcoquelin.stm32@gmail.com>, Richard Cochran <richardcochran@gmail.com> Cc: linux-kernel@vger.kernel.org, netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-stm32@st-md-mailman.stormreply.com, Thomas Petazzoni <thomas.petazzoni@bootlin.com>, Nicolas Carrier <nicolas.carrier@nav-timing.safrangroup.com> Subject: [PATCH net-next 0/8] net: stmmac: enable timestamp snapshots for DWMAC1000 Date: Fri, 16 Jun 2023 12:04:01 +0200 Message-ID: <20230616100409.164583-1-alexis.lothore@bootlin.com> X-Mailer: git-send-email 2.41.0 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230616_030536_769805_95AF812D X-CRM114-Status: GOOD ( 13.99 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: <linux-arm-kernel.lists.infradead.org> List-Unsubscribe: <http://lists.infradead.org/mailman/options/linux-arm-kernel>, <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe> List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/> List-Post: <mailto:linux-arm-kernel@lists.infradead.org> List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help> List-Subscribe: <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>, <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org> Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org |
Series |
net: stmmac: enable timestamp snapshots for DWMAC1000
|
expand
|
From: Alexis Lothoré <alexis.lothore@bootlin.com> While trying to use the recently implemented auxiliary snapshot feature ([1]) on Cyclone V platform (embedding DWMAC1000 IP), I realized that some parts are too tightly coupled to GMAC4 version of the IP. For example, timestamp_interrupt function in stmmac_hwtstamp.c reads some timestamp status (GMAC_TIMESTAMP_STATUS), which offset is relevant for GMAC4 (ptpaddr + 0x20), but not for GMAC3 (which should be ptpaddr + 0x28). Another example is that auxiliary snapshot trigger configuration is done in a dedicated register for GMAC4, while it is in the general Timestamp control register for DWMAC1000. This series proposes to split those too specific parts in each IP variant file. DWMAC1000 mapping is based on Cyclone V HPS register map ([2]) while GMAC4 mapping has been checked based on some Elkhart Lake range processors mapping ([3]) One point I am not sure about is for all other variants: sun8i-dwmac, dwxgmac2 and dwmac100. I have no clue about registers layout for those platforms. I then had to possible approaches to enable feature on DWMAC1000: - ensure that current behaviour is preserved for dwxgmac2, sun8i-dwmac and dwmac100; keep auxiliary snapshot feature in stmmac_ptp.c and add dwmac1000 behaviour as an "exception" - assume auxiliary snaspshots controls are different for each, then move the controls in each IP version file (XXXX_core.c) I felt like stmmac_ptp.c should remain independant from the IP version, so I chose the second option, but since I do not know about other versions layout (and do not have the hardware), I did not wire "blindly" the feature on those platform. Please let me know if I am wrong and/or if I should come with a more conservative approach (ie first version) Tested on Cyclone V with testptp [1] https://lore.kernel.org/netdev/20210414001617.3490-1-vee.khee.wong@linux.intel.com/ [2] https://cdrdv2.intel.com/v1/dl/getContent/666962?fileName=cv_5v4-683126-666962.pdf [3] https://cdrdv2.intel.com/v1/dl/getContent/636722?fileName=636722_EHL+Datasheet+V2+Book+2_rev003.pdf Alexis Lothoré (8): net: stmmac: add IP-specific callbacks for auxiliary snapshot net: stmmac: populate dwmac4 callbacks for auxiliary snapshots net: stmmac: move PTP interrupt handling to IP-specific DWMAC file net: stmmac: move common defines in stmmac_ptp.h net: stmmac: set number of snapshot external triggers for GMAC3 net: stmmac: introduce setter/getter for timestamp configuration net: stmmac: do not overwrite other flags when writing timestamp control net: stmmac: enable timestamp external trigger for dwmac1000 .../ethernet/stmicro/stmmac/dwmac-socfpga.c | 2 + .../net/ethernet/stmicro/stmmac/dwmac1000.h | 12 ++- .../ethernet/stmicro/stmmac/dwmac1000_core.c | 83 ++++++++++++++++++ drivers/net/ethernet/stmicro/stmmac/dwmac4.h | 29 +++++-- .../net/ethernet/stmicro/stmmac/dwmac4_core.c | 85 +++++++++++++++++++ drivers/net/ethernet/stmicro/stmmac/hwif.h | 17 +++- .../ethernet/stmicro/stmmac/stmmac_hwtstamp.c | 62 ++------------ .../net/ethernet/stmicro/stmmac/stmmac_main.c | 14 +-- .../net/ethernet/stmicro/stmmac/stmmac_ptp.c | 29 ++----- .../net/ethernet/stmicro/stmmac/stmmac_ptp.h | 26 +----- 10 files changed, 246 insertions(+), 113 deletions(-)