From patchwork Tue Nov 12 17:06:54 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Maxime Chevallier X-Patchwork-Id: 13872660 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 6B34AD42BB7 for ; Tue, 12 Nov 2024 17:28: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:Cc:To:From: Reply-To:Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=JpUCuhSkHtWF9OeH4XyNxAJf2CxJ+XC2B1fk8Kli6Z0=; b=uvoGt8J9TOOtgNxjRhFWiNVAxX /wWRycNBA8fnt4WWZomhg1CiKK9ZH2GIbOCdTQxItFgpHfX1CZw8s5x28bNzQ2IutSbghqnlyfy/W 4TNkqGCvKiehcRtiveEcmQWEHjltzAqa9+5LsDMKYy0OLoVUd4AVqBmkZDBKSRJ/QdhQ3agHg93Bn t0cYq1xHv4rvht370Hf/kQgN8tnnBZX5QpnAxGEdB2dTUoJVErcw5P/but0wRrZPA7Vs+u16wBWE0 /V4wSNLzIfUetTd+9EDYTE6HPfLdofnJV55eO3DTYCy7eQVLAxwnIJK3u0SrqQmfwGfUR5X6mQP9Y svYZkUcw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tAugx-00000004Meb-1WWK; Tue, 12 Nov 2024 17:28:39 +0000 Received: from relay4-d.mail.gandi.net ([217.70.183.196]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tAuM8-00000004IB7-4412 for linux-arm-kernel@lists.infradead.org; Tue, 12 Nov 2024 17:07:10 +0000 Received: by mail.gandi.net (Postfix) with ESMTPSA id BC671E000D; Tue, 12 Nov 2024 17:07:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1731431227; 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=JpUCuhSkHtWF9OeH4XyNxAJf2CxJ+XC2B1fk8Kli6Z0=; b=Ytekury5gdFXSXmU+zzqb3irnJBxDuDcnfrJdrj4fdYJXDSebxzyEp/hsM5/kagAJqaJfO EyCXhyj8U4qBc8txVs8HkBrkRCca1uhLekoBlSF64Hyu7Ui/toUTbcw93d4fwzcemrj2sW 15f+YJ72AYKqXXLFse8o5gIvmPVgI2Ykjdj9CvxfR5lgRoiu8BrQRoBf7o7R4OrfYzXe14 s8Gj9mq8+GBgVPJ45ikw9plxtWgM1v0kQdZ23QL0BK8z1DUxBZlUwamarEldeiluiYtYt8 lx4abxj5c42AfQQYDWRl61ZDtKZjaawT5No03O6ZH+lkfIv3UuiZIFMV+iSUdA== From: Maxime Chevallier To: Alexandre Torgue , Jose Abreu , Andrew Lunn , davem@davemloft.net, Eric Dumazet , Jakub Kicinski , Paolo Abeni , Maxime Coquelin , Richard Cochran Cc: Maxime Chevallier , =?utf-8?q?Alexis_Loth?= =?utf-8?q?or=C3=A9?= , Thomas Petazzoni , netdev@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, Daniel Machon , linux-kernel@vger.kernel.org Subject: [PATCH net-next v4 6/9] net: stmmac: Enable timestamping interrupt on dwmac1000 Date: Tue, 12 Nov 2024 18:06:54 +0100 Message-ID: <20241112170658.2388529-7-maxime.chevallier@bootlin.com> X-Mailer: git-send-email 2.47.0 In-Reply-To: <20241112170658.2388529-1-maxime.chevallier@bootlin.com> References: <20241112170658.2388529-1-maxime.chevallier@bootlin.com> MIME-Version: 1.0 X-GND-Sasl: maxime.chevallier@bootlin.com X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20241112_090709_213738_B69CF50D X-CRM114-Status: GOOD ( 11.00 ) 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 The default configuration for the interrupts on dwmac1000 have the timestamping interrupt masked. Now that the timestamping has been adapted to dwmac1000, enable the timestamping interrupt on these platforms. On dwmac1000, the external snapshot interrupt is configured through a dedicated bit, that is set as reserved on other dwmac variants. The timestaming interrupt is acknowledged by reading the GMAC3_X_TIMESTAMP_STATUS register. Make sure that this interrupt is enabled when snapshot is enabled, and masked when disabled. Reviewed-by: Daniel Machon Signed-off-by: Maxime Chevallier --- .../net/ethernet/stmicro/stmmac/dwmac1000_core.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac1000_core.c b/drivers/net/ethernet/stmicro/stmmac/dwmac1000_core.c index 73bba4fdc2e4..96bcda0856ec 100644 --- a/drivers/net/ethernet/stmicro/stmmac/dwmac1000_core.c +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac1000_core.c @@ -595,6 +595,20 @@ void dwmac1000_timestamp_interrupt(struct stmmac_priv *priv) /* DWMAC 1000 ptp_clock_info ops */ +static void dwmac1000_timestamp_interrupt_cfg(struct stmmac_priv *priv, bool en) +{ + void __iomem *ioaddr = priv->ioaddr; + + u32 intr_mask = readl(ioaddr + GMAC_INT_MASK); + + if (en) + intr_mask &= ~GMAC_INT_DISABLE_TIMESTAMP; + else + intr_mask |= GMAC_INT_DISABLE_TIMESTAMP; + + writel(intr_mask, ioaddr + GMAC_INT_MASK); +} + int dwmac1000_ptp_enable(struct ptp_clock_info *ptp, struct ptp_clock_request *rq, int on) { @@ -628,6 +642,8 @@ int dwmac1000_ptp_enable(struct ptp_clock_info *ptp, 10, 10000); mutex_unlock(&priv->aux_ts_lock); + + dwmac1000_timestamp_interrupt_cfg(priv, on); break; default: