{"id":2226446,"url":"http://patchwork.ozlabs.org/api/patches/2226446/?format=json","web_url":"http://patchwork.ozlabs.org/project/intel-wired-lan/patch/20260422123144.485930-2-grzegorz.nitka@intel.com/","project":{"id":46,"url":"http://patchwork.ozlabs.org/api/projects/46/?format=json","name":"Intel Wired Ethernet development","link_name":"intel-wired-lan","list_id":"intel-wired-lan.osuosl.org","list_email":"intel-wired-lan@osuosl.org","web_url":"","scm_url":"","webscm_url":"","list_archive_url":"","list_archive_url_format":"","commit_url_format":""},"msgid":"<20260422123144.485930-2-grzegorz.nitka@intel.com>","list_archive_url":null,"date":"2026-04-22T12:31:43","name":"[iwl-net,1/2] ice: ptp: serialize E825 PHY timer start with PTP lock","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"ead69975d3d41d22774157fd13c69e8e2f1db979","submitter":{"id":82711,"url":"http://patchwork.ozlabs.org/api/people/82711/?format=json","name":"Grzegorz Nitka","email":"grzegorz.nitka@intel.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/intel-wired-lan/patch/20260422123144.485930-2-grzegorz.nitka@intel.com/mbox/","series":[{"id":501005,"url":"http://patchwork.ozlabs.org/api/series/501005/?format=json","web_url":"http://patchwork.ozlabs.org/project/intel-wired-lan/list/?series=501005","date":"2026-04-22T12:31:42","name":"ice: ptp: fix E825 timer synchronization and locking","version":1,"mbox":"http://patchwork.ozlabs.org/series/501005/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/2226446/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2226446/checks/","tags":{},"related":[],"headers":{"Return-Path":"<intel-wired-lan-bounces@osuosl.org>","X-Original-To":["incoming@patchwork.ozlabs.org","intel-wired-lan@lists.osuosl.org"],"Delivered-To":["patchwork-incoming@legolas.ozlabs.org","intel-wired-lan@lists.osuosl.org"],"Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=osuosl.org header.i=@osuosl.org header.a=rsa-sha256\n header.s=default header.b=ymR2pBHh;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=osuosl.org\n (client-ip=2605:bc80:3010::136; helo=smtp3.osuosl.org;\n envelope-from=intel-wired-lan-bounces@osuosl.org;\n receiver=patchwork.ozlabs.org)"],"Received":["from smtp3.osuosl.org (smtp3.osuosl.org [IPv6:2605:bc80:3010::136])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g0zGp3NjRz1yD5\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 22 Apr 2026 22:36:02 +1000 (AEST)","from localhost (localhost [127.0.0.1])\n\tby smtp3.osuosl.org (Postfix) with ESMTP id 113E76179C;\n\tWed, 22 Apr 2026 12:36:01 +0000 (UTC)","from smtp3.osuosl.org ([127.0.0.1])\n by localhost (smtp3.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP\n id zgmorEFZnmNE; Wed, 22 Apr 2026 12:35:57 +0000 (UTC)","from lists1.osuosl.org (lists1.osuosl.org [140.211.166.142])\n\tby smtp3.osuosl.org (Postfix) with ESMTP id 1CDCA617A0;\n\tWed, 22 Apr 2026 12:35:57 +0000 (UTC)","from smtp1.osuosl.org (smtp1.osuosl.org [IPv6:2605:bc80:3010::138])\n by lists1.osuosl.org (Postfix) with ESMTP id 235B9183\n for <intel-wired-lan@lists.osuosl.org>; Wed, 22 Apr 2026 12:35:55 +0000 (UTC)","from localhost (localhost [127.0.0.1])\n by smtp1.osuosl.org (Postfix) with ESMTP id 0996F84236\n for <intel-wired-lan@lists.osuosl.org>; Wed, 22 Apr 2026 12:35:55 +0000 (UTC)","from smtp1.osuosl.org ([127.0.0.1])\n by localhost (smtp1.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP\n id Uz6baUr-3eyk for <intel-wired-lan@lists.osuosl.org>;\n Wed, 22 Apr 2026 12:35:51 +0000 (UTC)","from mgamail.intel.com (mgamail.intel.com [198.175.65.18])\n by smtp1.osuosl.org (Postfix) with ESMTPS id 7F4AE8421E\n for <intel-wired-lan@lists.osuosl.org>; Wed, 22 Apr 2026 12:35:51 +0000 (UTC)","from fmviesa007.fm.intel.com ([10.60.135.147])\n by orvoesa110.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 22 Apr 2026 05:35:51 -0700","from gklab-003-001.igk.intel.com ([10.91.173.48])\n by fmviesa007.fm.intel.com with ESMTP; 22 Apr 2026 05:35:50 -0700"],"X-Virus-Scanned":["amavis at osuosl.org","amavis at osuosl.org"],"X-Comment":"SPF check N/A for local connections - client-ip=140.211.166.142;\n helo=lists1.osuosl.org; envelope-from=intel-wired-lan-bounces@osuosl.org;\n receiver=<UNKNOWN> ","DKIM-Filter":["OpenDKIM Filter v2.11.0 smtp3.osuosl.org 1CDCA617A0","OpenDKIM Filter v2.11.0 smtp1.osuosl.org 7F4AE8421E"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=osuosl.org;\n\ts=default; t=1776861357;\n\tbh=AYylWayqaQ5q7uaQcXpISp9j+vUIt2FvcgSsJt9L9Z8=;\n\th=From:To:Date:In-Reply-To:References:Subject:List-Id:\n\t List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe:\n\t Cc:From;\n\tb=ymR2pBHhOB0VQMAcRtnu90JHLmYyd0+5qWdIZ51FVy9jpIXpWCI82hL7Oz/bjJN/b\n\t PbzU1wo1LmluKYMARRh8SZU9DukKPhmGmLwj8zuUnK7YXNU2hmki4ZMWX1L76rIid8\n\t cHbzVjHaUwcVMx/Dk9EO6wlGxOzi59uMU7SgOeuL/HxsD0Ojku0yiwr7shwCdF7Xvf\n\t mTl07JRgsdDfM32xtgpApDCVxCQmlEsekI+oVcjZLds4B+de9IQgMiNdfMu4QVYyY3\n\t 1FbI6cz5iOIg84JrJc2qfL8LCDy2Ip6wzzod+nrbxp9/zUJlQx+zJQ/+q1Snh2XH+4\n\t 2YO5lSOoL2Odw==","Received-SPF":"Pass (mailfrom) identity=mailfrom; client-ip=198.175.65.18;\n helo=mgamail.intel.com; envelope-from=grzegorz.nitka@intel.com;\n receiver=<UNKNOWN>","DMARC-Filter":"OpenDMARC Filter v1.4.2 smtp1.osuosl.org 7F4AE8421E","X-CSE-ConnectionGUID":["Z1uSC+xIR42LDqunX+2DqQ==","8BLrhsojRN2Vwhg1bkaKJQ=="],"X-CSE-MsgGUID":["Ig0cSxGuQ3uKU8jJM8BHUw==","eEEtCP66TeS8G38XyhnfBw=="],"X-IronPort-AV":["E=McAfee;i=\"6800,10657,11764\"; a=\"77826161\"","E=Sophos;i=\"6.23,192,1770624000\"; d=\"scan'208\";a=\"77826161\"","E=Sophos;i=\"6.23,192,1770624000\"; d=\"scan'208\";a=\"229167432\""],"X-ExtLoop1":"1","From":"Grzegorz Nitka <grzegorz.nitka@intel.com>","To":"intel-wired-lan@lists.osuosl.org","Date":"Wed, 22 Apr 2026 14:31:43 +0200","Message-Id":"<20260422123144.485930-2-grzegorz.nitka@intel.com>","X-Mailer":"git-send-email 2.39.3","In-Reply-To":"<20260422123144.485930-1-grzegorz.nitka@intel.com>","References":"<20260422123144.485930-1-grzegorz.nitka@intel.com>","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","X-Mailman-Original-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple;\n d=intel.com; i=@intel.com; q=dns/txt; s=Intel;\n t=1776861352; x=1808397352;\n h=from:to:cc:subject:date:message-id:in-reply-to:\n references:mime-version:content-transfer-encoding;\n bh=dfDAicP/XUpFlFpPbHueZb36ts8STy9ge9syiUh7sgQ=;\n b=NeXoUpljaegDh2td3nhjLgbXvo0KppNtTvJ5bebdK46YxSuhlybzL4SQ\n 9mrsI7bQqnqmwG8iPmBEjZu7vz2zWgtKyIKz3jQqvCx06Gr22QXaSNekq\n VAi+Qs/JjnOKLpWmR3Wz8OWMjn1aD/sMF8KnGcYDh79YMWq3WM0yyIsT3\n 7sod6Y2ENkiTfUxmjD/Z8DyCIXDcFhFVRdE6//hr1T9vnwVtilRvfqWYd\n Xb/vw0UNCZqbU/kxDRWweKi1kiz4rVjCRGM6ioJ86LkjvKHeQMAfkSsK7\n s9Hr6APd0yJy2vfAGiurRRSwEMfRCN6Ju0Qeq4SMrM295+LJrfapJgXew\n A==;","X-Mailman-Original-Authentication-Results":["smtp1.osuosl.org;\n dmarc=pass (p=none dis=none)\n header.from=intel.com","smtp1.osuosl.org;\n dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com\n header.a=rsa-sha256 header.s=Intel header.b=NeXoUplj"],"Subject":"[Intel-wired-lan] [PATCH iwl-net 1/2] ice: ptp: serialize E825 PHY\n timer start with PTP lock","X-BeenThere":"intel-wired-lan@osuosl.org","X-Mailman-Version":"2.1.30","Precedence":"list","List-Id":"Intel Wired Ethernet Linux Kernel Driver Development\n <intel-wired-lan.osuosl.org>","List-Unsubscribe":"<https://lists.osuosl.org/mailman/options/intel-wired-lan>,\n <mailto:intel-wired-lan-request@osuosl.org?subject=unsubscribe>","List-Archive":"<http://lists.osuosl.org/pipermail/intel-wired-lan/>","List-Post":"<mailto:intel-wired-lan@osuosl.org>","List-Help":"<mailto:intel-wired-lan-request@osuosl.org?subject=help>","List-Subscribe":"<https://lists.osuosl.org/mailman/listinfo/intel-wired-lan>,\n <mailto:intel-wired-lan-request@osuosl.org?subject=subscribe>","Cc":"netdev@vger.kernel.org,\n Arkadiusz Kubalewski <Arkadiusz.kubalewski@intel.com>,\n anthony.l.nguyen@intel.com, przemyslaw.kitszel@intel.com","Errors-To":"intel-wired-lan-bounces@osuosl.org","Sender":"\"Intel-wired-lan\" <intel-wired-lan-bounces@osuosl.org>"},"content":"ice_start_phy_timer_eth56g() programs TIMETUS registers and issues\nINIT_INCVAL without holding the global PTP semaphore.\n\nThis allows concurrent PTP command paths to interleave with PHY timer\nstart, which can make the sequence fail and leave timer initialization\ninconsistent.\n\nTake the PTP lock around TIMETUS registers programming and INIT_INCVAL\ncommand execution, and make sure the lock is released on all error paths.\n\nKeep the subsequent sync step outside of this critical section, since\nice_sync_phy_timer_eth56g() takes the same semaphore internally.\n\nFixes: 7cab44f1c35f (\"ice: Introduce ETH56G PHY model for E825C products\")\nReviewed-by: Arkadiusz Kubalewski <Arkadiusz.kubalewski@intel.com>\nSigned-off-by: Grzegorz Nitka <grzegorz.nitka@intel.com>\n---\n drivers/net/ethernet/intel/ice/ice_ptp_hw.c | 15 +++++++++++++--\n 1 file changed, 13 insertions(+), 2 deletions(-)","diff":"diff --git a/drivers/net/ethernet/intel/ice/ice_ptp_hw.c b/drivers/net/ethernet/intel/ice/ice_ptp_hw.c\nindex 672218e5d1f9..8bb94e785f2a 100644\n--- a/drivers/net/ethernet/intel/ice/ice_ptp_hw.c\n+++ b/drivers/net/ethernet/intel/ice/ice_ptp_hw.c\n@@ -2141,16 +2141,23 @@ int ice_start_phy_timer_eth56g(struct ice_hw *hw, u8 port)\n \t}\n \tincval = (u64)hi << 32 | lo;\n \n+\tif (!ice_ptp_lock(hw)) {\n+\t\tdev_err(ice_hw_to_dev(hw), \"Failed to acquire PTP semaphore\\n\");\n+\t\treturn -EBUSY;\n+\t}\n+\n \terr = ice_write_40b_ptp_reg_eth56g(hw, port, PHY_REG_TIMETUS_L, incval);\n \tif (err)\n-\t\treturn err;\n+\t\tgoto err_ptp_unlock;\n \n \terr = ice_ptp_one_port_cmd(hw, port, ICE_PTP_INIT_INCVAL);\n \tif (err)\n-\t\treturn err;\n+\t\tgoto err_ptp_unlock;\n \n \tice_ptp_exec_tmr_cmd(hw);\n \n+\tice_ptp_unlock(hw);\n+\n \terr = ice_sync_phy_timer_eth56g(hw, port);\n \tif (err)\n \t\treturn err;\n@@ -2166,6 +2173,10 @@ int ice_start_phy_timer_eth56g(struct ice_hw *hw, u8 port)\n \tice_debug(hw, ICE_DBG_PTP, \"Enabled clock on PHY port %u\\n\", port);\n \n \treturn 0;\n+\n+err_ptp_unlock:\n+\tice_ptp_unlock(hw);\n+\treturn err;\n }\n \n /**\n","prefixes":["iwl-net","1/2"]}