From nobody Fri Sep 25 10:37:47 2026 Received: from smtpout-02.galae.net (smtpout-02.galae.net [185.246.84.56]) (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 249843F166A for ; Mon, 14 Sep 2026 08:34:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=185.246.84.56 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789374843; cv=none; b=N5LPBj6n5tjL3kQNYK585GuJr5RF7LOHGqw/TAkq1ZdogOK8024H1reWVzBAnTDMmOxeTSVcJ9SXVOw5/H2QxBOarTQaXDzXRAUj3DW4n76EOhDJbK5TYq8+511RWJ7we7P7xlENdY0duR52Dj0PqJ0SEWoMyJpHBCj6W28I6rw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789374843; c=relaxed/simple; bh=Fr43OwQSMJF5lVue8z+acADolENdoITfa6IP9fb9US8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:To:Cc; b=mKCnPmlA6OirEK2JQqCul8T5z3srtHNuqcPVSfPOIoWTHB5Wf9EIV+LtP3aviej3yDN2lsWz2j1d1d64Pazr2glItbxzOpnPqRnaTrS1thS7rpnSnifmmiL1Y1PMjWTiolWmmRO1d+RkYmHviUID7JSoTv70YHACWWoEL6yJgEM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com; spf=pass smtp.mailfrom=bootlin.com; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b=IOR8Boe6; arc=none smtp.client-ip=185.246.84.56 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bootlin.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b="IOR8Boe6" Received: from smtpout-01.galae.net (smtpout-01.galae.net [212.83.139.233]) by smtpout-02.galae.net (Postfix) with ESMTPS id 973CD1A0606; Mon, 14 Sep 2026 08:34:00 +0000 (UTC) Received: from mail.galae.net (mail.galae.net [212.83.136.155]) by smtpout-01.galae.net (Postfix) with ESMTPS id 68C4360323; Mon, 14 Sep 2026 08:34:00 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id 1561811C7AFDB; Mon, 14 Sep 2026 10:33:52 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=dkim; t=1789374839; h=from:subject:date:message-id:to:cc:mime-version:content-type: content-transfer-encoding; bh=PeLVjuGbstuhVlvHBxThm6mjqWcPlcS3KrEkWoO+f7s=; b=IOR8Boe6l6SO8A0EM5wkQgu0ZwHEvDsaMorvOguoHqTIzPqFNdkhTxfuL3iEQJnlXZUq5D faVN1lPeKfqAqAMb672zNXwtmCafEPleDb61H5d1IOnBHv53LaI1uNSdIJ+X3msup9D3c6 vqFvVgvBT3Vr+5kTUKWgbfsUY+rd6XsacBM2GWiQHwtJaVA9ej7UMRxkty88ELmDHEFuc9 qnXeZUzX+0ivd+lMfk2HKW06aMzQm28dwLMKWmHijciEoF0Rr7Hm4og/ykAvoZOOOMrnMA ck3nXWuiE5BbOl2BTLXIUySxg+8nG9QAYfNSC01gvxIqsjlVmimSIzV1qKPIaQ== From: "Bastien Curutchet (Schneider Electric)" Date: Mon, 14 Sep 2026 10:33:51 +0200 Subject: [PATCH net] net: dsa: microchip: Save the periodic output flags and index Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260914-fix-perout-v1-1-9f45531a7585@bootlin.com> X-B4-Tracking: v=1; b=H4sIAAAAAAAC/x2MQQqAIBAAvxJ7bsEkSvtKdCjdai8Wa0Ug/j3pO AwzCSIJU4ShSiD0cOQjFGjqCtw+h42QfWHQSnfKNi2u/OJJctwXOuNsrxdjfb9CCU6hYv/ZCIE umHL+APFkXHthAAAA X-Change-ID: 20260914-fix-perout-c8c972b89d7f To: Woojung Huh , UNGLinuxDriver@microchip.com, Andrew Lunn , Vladimir Oltean , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Richard Cochran , Christian Eggers , Arun Ramadoss Cc: Pascal Eberhard , =?utf-8?q?Miqu=C3=A8l_Raynal?= , Thomas Petazzoni , netdev@vger.kernel.org, linux-kernel@vger.kernel.org, stable@vger.kernel.org, "Bastien Curutchet (Schneider Electric)" X-Mailer: b4 0.14.3 X-Last-TLS-Session-Version: TLSv1.3 When the periodic output is restarted, the request flags and index are always set to 0. So if a pin other than the first one was used, or if a flag was set in the request that triggered the periodic output, it is lost when the output is restarted. Save the request's flags and index when the periodic output is initialized. Use the save flags and index when the periodic output is reset Cc: stable@vger.kernel.org Fixes: 1f12ae5b6760 ("net: dsa: microchip: ptp: add periodic output signal") Signed-off-by: Bastien Curutchet (Schneider Electric) --- drivers/net/dsa/microchip/ksz_ptp.c | 6 ++++-- drivers/net/dsa/microchip/ksz_ptp.h | 2 ++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/drivers/net/dsa/microchip/ksz_ptp.c b/drivers/net/dsa/microchi= p/ksz_ptp.c index 39cc70d65900..4f924df9e32b 100644 --- a/drivers/net/dsa/microchip/ksz_ptp.c +++ b/drivers/net/dsa/microchip/ksz_ptp.c @@ -222,6 +222,8 @@ static int ksz_ptp_enable_perout(struct ksz_device *dev, return 0; } =20 + ptp_data->perout_flags =3D request->flags; + ptp_data->perout_index =3D request->index; ptp_data->perout_target_time_first.tv_sec =3D request->start.sec; ptp_data->perout_target_time_first.tv_nsec =3D request->start.nsec; =20 @@ -795,8 +797,8 @@ static int ksz_ptp_restart_perout(struct ksz_device *de= v) request.start.nsec =3D next.tv_nsec; request.period.sec =3D ptp_data->perout_period.tv_sec; request.period.nsec =3D ptp_data->perout_period.tv_nsec; - request.index =3D 0; - request.flags =3D 0; + request.index =3D ptp_data->perout_index; + request.flags =3D ptp_data->perout_flags; =20 return ksz_ptp_enable_perout(dev, &request, 1); } diff --git a/drivers/net/dsa/microchip/ksz_ptp.h b/drivers/net/dsa/microchi= p/ksz_ptp.h index 7067ec9bd1e6..da6a2efb23d7 100644 --- a/drivers/net/dsa/microchip/ksz_ptp.h +++ b/drivers/net/dsa/microchip/ksz_ptp.h @@ -31,6 +31,8 @@ struct ksz_ptp_data { enum ksz_ptp_tou_mode tou_mode; struct timespec64 perout_target_time_first; /* start of first pulse */ struct timespec64 perout_period; + unsigned int perout_flags; + unsigned int perout_index; }; =20 int ksz_ptp_clock_register(struct dsa_switch *ds); --- base-commit: cee9395acd8043be0644b25c34bfa86623f2b935 change-id: 20260914-fix-perout-c8c972b89d7f Best regards, --=20 Bastien Curutchet (Schneider Electric)