From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.11]) (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 AF1FE3D7A15; Tue, 26 May 2026 09:39:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.175.65.11 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779788358; cv=none; b=tp+asxLZHRjNTBHQBciNfq2wCWOnHByvBqZmHbkt/79AG03b/cLIhJWLoMFMCJ67rwe2enj2/k04DwIEk4IDmWlc5uAYKjxCvIsBo01pGWmGLYtTNFeK3kjl2iFM5wtUodAIUSO/7QtPrqG//xnEYsi0xPNPPwyOpOVlE63rX5U= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779788358; c=relaxed/simple; bh=yELbH/N33frtytYbC6mYbn9Eld572tIB0EhFSXzpi10=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=DYdpsVRbXA19Ojdd3zik286yqqjLA3aq6q9nmosfrgIZFJs9/u+49pkAB6nCrKrgtnNnCi1ZS8bd+zYDwePa+kxuSgPs3Oo4kpk2XWyLjPhc91MHR5DSGy5da4/kFQFocfJlTGRp1JhCVe9AXKdEyia3ssYxXSEtfitcpsonwMs= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=ZIT8/y5K; arc=none smtp.client-ip=198.175.65.11 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="ZIT8/y5K" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1779788356; x=1811324356; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=yELbH/N33frtytYbC6mYbn9Eld572tIB0EhFSXzpi10=; b=ZIT8/y5KZQNhgAdaoc5qF4FfEbJmuRx80WveFo4NlSPZpl2CbotVYRuj 2d263mlyMGsXyahSlymD0qRjSxX098rbQ4D2MTfGywFtKdr1tHXGspTQC JwWzLjMmCWA5a4sbljvgSlw6GXEJHSMjJuvFUkRh9mxeZQ38hXvIpsm+i 5C8llfjORBZsZUeYB5U6NzagLtDRW0ZVqHik3Xk/npH2f2vsU7tIBiwyZ QykxhlEcn01lQIqDH2MC28584gnn72ArrJ3guPNn6V4UXLRpVr08LrwEN MNtTzfEOsTmTwiczpyojbGgXZyvMxMSN5B2t3LLPZ6Ef4LafK8QgqMz7N Q==; X-CSE-ConnectionGUID: 4cIo9sDiT9KGMmcRScBvoA== X-CSE-MsgGUID: U8ajSCWHT+mSSAPA7jGU2g== X-IronPort-AV: E=McAfee;i="6800,10657,11797"; a="90897169" X-IronPort-AV: E=Sophos;i="6.24,169,1774335600"; d="scan'208";a="90897169" Received: from orviesa010.jf.intel.com ([10.64.159.150]) by orvoesa103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 26 May 2026 02:39:16 -0700 X-CSE-ConnectionGUID: gm1U09flQJySAcVfP+fpIw== X-CSE-MsgGUID: X24OyAPDSr6CVzFO8bAcWA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.24,169,1774335600"; d="scan'208";a="241027176" Received: from gklab-003-001.igk.intel.com ([10.91.173.48]) by orviesa010.jf.intel.com with ESMTP; 26 May 2026 02:39:10 -0700 From: Grzegorz Nitka To: netdev@vger.kernel.org Cc: linux-kernel@vger.kernel.org, intel-wired-lan@lists.osuosl.org, poros@redhat.com, richardcochran@gmail.com, andrew+netdev@lunn.ch, przemyslaw.kitszel@intel.com, anthony.l.nguyen@intel.com, Prathosh.Satish@microchip.com, ivecera@redhat.com, jiri@resnulli.us, arkadiusz.kubalewski@intel.com, vadim.fedorenko@linux.dev, donald.hunter@gmail.com, horms@kernel.org, pabeni@redhat.com, kuba@kernel.org, davem@davemloft.net, edumazet@google.com, Grzegorz Nitka , Aleksandr Loktionov Subject: [PATCH v11 net-next 1/8] dpll: add generic DPLL type Date: Tue, 26 May 2026 11:34:12 +0200 Message-Id: <20260526093419.639220-2-grzegorz.nitka@intel.com> X-Mailer: git-send-email 2.39.3 In-Reply-To: <20260526093419.639220-1-grzegorz.nitka@intel.com> References: <20260526093419.639220-1-grzegorz.nitka@intel.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Add DPLL_TYPE_GENERIC to represent DPLL devices which do not fit the existing PPS or EEC classes. The UAPI type is intentionally generic. During netdev discussion, maintainers pointed out that introducing identifiers tied to a specific placement or single design does not scale across ASICs and vendors. The role of a DPLL is already inferable from the spawning driver, bus device, and pin topology, without encoding additional purpose-specific taxonomy in the type name. Using a generic type keeps the UAPI extensible and avoids premature naming that may become incorrect as new hardware topologies are exposed through the DPLL subsystem. Expose the new type through UAPI and netlink specification as "generic". Reviewed-by: Aleksandr Loktionov Signed-off-by: Grzegorz Nitka --- Documentation/netlink/specs/dpll.yaml | 3 +++ drivers/dpll/dpll_nl.c | 2 +- include/uapi/linux/dpll.h | 2 ++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/Documentation/netlink/specs/dpll.yaml b/Documentation/netlink/specs/dpll.yaml index 91a172617b3a..2bf83f6732ab 100644 --- a/Documentation/netlink/specs/dpll.yaml +++ b/Documentation/netlink/specs/dpll.yaml @@ -138,6 +138,9 @@ definitions: - name: eec doc: dpll drives the Ethernet Equipment Clock + - + name: generic + doc: generic dpll type for devices outside PPS/EEC classes render-max: true - type: enum diff --git a/drivers/dpll/dpll_nl.c b/drivers/dpll/dpll_nl.c index b1d9182c7802..ed3bbe9841ea 100644 --- a/drivers/dpll/dpll_nl.c +++ b/drivers/dpll/dpll_nl.c @@ -37,7 +37,7 @@ const struct nla_policy dpll_reference_sync_nl_policy[DPLL_A_PIN_STATE + 1] = { static const struct nla_policy dpll_device_id_get_nl_policy[DPLL_A_TYPE + 1] = { [DPLL_A_MODULE_NAME] = { .type = NLA_NUL_STRING, }, [DPLL_A_CLOCK_ID] = { .type = NLA_U64, }, - [DPLL_A_TYPE] = NLA_POLICY_RANGE(NLA_U32, 1, 2), + [DPLL_A_TYPE] = NLA_POLICY_RANGE(NLA_U32, 1, 3), }; /* DPLL_CMD_DEVICE_GET - do */ diff --git a/include/uapi/linux/dpll.h b/include/uapi/linux/dpll.h index cb363cccf2e2..55eaa82f5f98 100644 --- a/include/uapi/linux/dpll.h +++ b/include/uapi/linux/dpll.h @@ -109,10 +109,12 @@ enum dpll_clock_quality_level { * enum dpll_type - type of dpll, valid values for DPLL_A_TYPE attribute * @DPLL_TYPE_PPS: dpll produces Pulse-Per-Second signal * @DPLL_TYPE_EEC: dpll drives the Ethernet Equipment Clock + * @DPLL_TYPE_GENERIC: generic dpll type for devices outside PPS/EEC classes */ enum dpll_type { DPLL_TYPE_PPS = 1, DPLL_TYPE_EEC, + DPLL_TYPE_GENERIC, /* private: */ __DPLL_TYPE_MAX, -- 2.39.3