All of lore.kernel.org
 help / color / mirror / Atom feed
* [Intel-wired-lan] [PATCH net-next v4 0/3] dpll: add Reference SYNC feature
@ 2025-05-23 17:26 ` Arkadiusz Kubalewski
  0 siblings, 0 replies; 21+ messages in thread
From: Arkadiusz Kubalewski @ 2025-05-23 17:26 UTC (permalink / raw)
  To: donald.hunter, kuba, davem, edumazet, pabeni, horms,
	vadim.fedorenko, jiri, anthony.l.nguyen, przemyslaw.kitszel,
	andrew+netdev, aleksandr.loktionov, corbet
  Cc: netdev, linux-kernel, intel-wired-lan, linux-rdma, linux-doc,
	Arkadiusz Kubalewski

The device may support the Reference SYNC feature, which allows the
combination of two inputs into a Reference SYNC pair. In this
configuration, clock signals from both inputs are used to synchronize
the dpll device. The higher frequency signal is utilized for the loop
bandwidth of the DPLL, while the lower frequency signal is used to
syntonize the output signal of the DPLL device. This feature enables
the provision of a high-quality loop bandwidth signal from an external
source.

A capable input provides a list of inputs that can be paired to create
a Reference SYNC pair. To control this feature, the user must request a
desired state for a target pin: use ``DPLL_PIN_STATE_CONNECTED`` to
enable or ``DPLL_PIN_STATE_DISCONNECTED`` to disable the feature. Only
two pins can be bound to form a Reference SYNC pair at any given time.

Verify pins bind state/capabilities:
$ ./tools/net/ynl/pyynl/cli.py \
 --spec Documentation/netlink/specs/dpll.yaml \
 --do pin-get \
 --json '{"id":0}'
{'board-label': 'CVL-SDP22',
 'id': 0,
 [...]
 'reference-sync': [{'id': 1, 'state': 'disconnected'}],
 [...]}

Bind the pins by setting connected state between them:
$ ./tools/net/ynl/pyynl/cli.py \
 --spec Documentation/netlink/specs/dpll.yaml \
 --do pin-set \
 --json '{"id":0, "reference-sync":{"id":1, "state":"connected"}}'

Verify pins bind state:
$ ./tools/net/ynl/pyynl/cli.py \
 --spec Documentation/netlink/specs/dpll.yaml \
 --do pin-get \
 --json '{"id":0}'
{'board-label': 'CVL-SDP22',
 'id': 0,
 [...]
 'reference-sync': [{'id': 1, 'state': 'connected'}],
 [...]}

Unbind the pins by setting disconnected state between them:
$ ./tools/net/ynl/pyynl/cli.py \
 --spec Documentation/netlink/specs/dpll.yaml \
 --do pin-set \
 --json '{"id":0, "reference-sync":{"id":1, "state":"disconnected"}}'

v4:
- no change.

Arkadiusz Kubalewski (3):
  dpll: add reference-sync netlink attribute
  dpll: add reference sync get/set
  ice: add ref-sync dpll pins

 Documentation/driver-api/dpll.rst             |  25 +++
 Documentation/netlink/specs/dpll.yaml         |  19 ++
 drivers/dpll/dpll_core.c                      |  45 +++++
 drivers/dpll/dpll_core.h                      |   2 +
 drivers/dpll/dpll_netlink.c                   | 190 ++++++++++++++++--
 drivers/dpll/dpll_netlink.h                   |   2 +
 drivers/dpll/dpll_nl.c                        |  10 +-
 drivers/dpll/dpll_nl.h                        |   1 +
 .../net/ethernet/intel/ice/ice_adminq_cmd.h   |   2 +
 drivers/net/ethernet/intel/ice/ice_dpll.c     | 186 +++++++++++++++++
 include/linux/dpll.h                          |  13 ++
 include/uapi/linux/dpll.h                     |   1 +
 12 files changed, 475 insertions(+), 21 deletions(-)


base-commit: ea15e046263b19e91ffd827645ae5dfa44ebd044
-- 
2.38.1


^ permalink raw reply	[flat|nested] 21+ messages in thread
* Re: [Intel-wired-lan] [PATCH net-next v4 2/3] dpll: add reference sync get/set
@ 2025-05-25  1:05 kernel test robot
  0 siblings, 0 replies; 21+ messages in thread
From: kernel test robot @ 2025-05-25  1:05 UTC (permalink / raw)
  To: oe-kbuild; +Cc: lkp, Dan Carpenter

BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
In-Reply-To: <20250523172650.1517164-3-arkadiusz.kubalewski@intel.com>
References: <20250523172650.1517164-3-arkadiusz.kubalewski@intel.com>
TO: Arkadiusz Kubalewski <arkadiusz.kubalewski@intel.com>
TO: donald.hunter@gmail.com
TO: kuba@kernel.org
TO: davem@davemloft.net
TO: edumazet@google.com
TO: pabeni@redhat.com
TO: horms@kernel.org
TO: vadim.fedorenko@linux.dev
TO: jiri@resnulli.us
TO: anthony.l.nguyen@intel.com
TO: przemyslaw.kitszel@intel.com
TO: andrew+netdev@lunn.ch
TO: aleksandr.loktionov@intel.com
TO: corbet@lwn.net
CC: netdev@vger.kernel.org
CC: linux-kernel@vger.kernel.org
CC: intel-wired-lan@lists.osuosl.org
CC: linux-rdma@vger.kernel.org
CC: linux-doc@vger.kernel.org
CC: Arkadiusz Kubalewski <arkadiusz.kubalewski@intel.com>
CC: Milena Olech <milena.olech@intel.com>

Hi Arkadiusz,

kernel test robot noticed the following build warnings:

[auto build test WARNING on ea15e046263b19e91ffd827645ae5dfa44ebd044]

url:    https://github.com/intel-lab-lkp/linux/commits/Arkadiusz-Kubalewski/dpll-add-reference-sync-netlink-attribute/20250524-013615
base:   ea15e046263b19e91ffd827645ae5dfa44ebd044
patch link:    https://lore.kernel.org/r/20250523172650.1517164-3-arkadiusz.kubalewski%40intel.com
patch subject: [Intel-wired-lan] [PATCH net-next v4 2/3] dpll: add reference sync get/set
:::::: branch date: 31 hours ago
:::::: commit date: 31 hours ago
config: x86_64-randconfig-161-20250524 (https://download.01.org/0day-ci/archive/20250525/202505250848.GBC8s5Wc-lkp@intel.com/config)
compiler: clang version 20.1.2 (https://github.com/llvm/llvm-project 58df0ef89dd64126512e4ee27b4ac3fd8ddf6247)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Reported-by: Dan Carpenter <error27@gmail.com>
| Closes: https://lore.kernel.org/r/202505250848.GBC8s5Wc-lkp@intel.com/

New smatch warnings:
drivers/dpll/dpll_core.c:670 dpll_pin_ref_sync_pair_del() warn: iterator 'i' not incremented
drivers/dpll/dpll_netlink.c:998 dpll_pin_ref_sync_state_set() warn: iterator 'i' not incremented

Old smatch warnings:
drivers/dpll/dpll_core.c:82 dpll_xa_ref_pin_add() warn: iterator 'i' not incremented
drivers/dpll/dpll_core.c:134 dpll_xa_ref_pin_del() warn: iterator 'i' not incremented
drivers/dpll/dpll_core.c:163 dpll_xa_ref_dpll_add() warn: iterator 'i' not incremented
drivers/dpll/dpll_core.c:215 dpll_xa_ref_dpll_del() warn: iterator 'i' not incremented
drivers/dpll/dpll_core.c:235 dpll_xa_ref_dpll_first() warn: iterator 'i' not incremented
drivers/dpll/dpll_core.c:568 dpll_pin_get() warn: iterator 'i' not incremented
drivers/dpll/dpll_core.c:764 dpll_pin_on_pin_register() warn: iterator 'i' not incremented
drivers/dpll/dpll_core.c:798 dpll_pin_on_pin_unregister() warn: iterator 'i' not incremented
drivers/dpll/dpll_netlink.c:62 dpll_pin_available() warn: iterator 'i' not incremented
drivers/dpll/dpll_netlink.c:846 dpll_pin_freq_set() warn: iterator 'i' not incremented
drivers/dpll/dpll_netlink.c:1061 dpll_pin_on_pin_state_set() warn: iterator 'i' not incremented
drivers/dpll/dpll_netlink.c:1219 dpll_pin_phase_adj_set() warn: iterator 'i' not incremented
drivers/dpll/dpll_netlink.c:1366 dpll_pin_find() warn: iterator 'i' not incremented
drivers/dpll/dpll_netlink.c:1569 dpll_device_find() warn: iterator 'i' not incremented

vim +/i +670 drivers/dpll/dpll_core.c

9431063ad323ac Vadim Fedorenko      2023-09-13  664  
d487dd9d1b2560 Arkadiusz Kubalewski 2025-05-23  665  static void dpll_pin_ref_sync_pair_del(u32 ref_sync_pin_id)
d487dd9d1b2560 Arkadiusz Kubalewski 2025-05-23  666  {
d487dd9d1b2560 Arkadiusz Kubalewski 2025-05-23  667  	struct dpll_pin *pin, *ref_sync_pin;
d487dd9d1b2560 Arkadiusz Kubalewski 2025-05-23  668  	unsigned long i;
d487dd9d1b2560 Arkadiusz Kubalewski 2025-05-23  669  
d487dd9d1b2560 Arkadiusz Kubalewski 2025-05-23 @670  	xa_for_each(&dpll_pin_xa, i, pin) {
d487dd9d1b2560 Arkadiusz Kubalewski 2025-05-23  671  		ref_sync_pin = xa_load(&pin->ref_sync_pins, ref_sync_pin_id);
d487dd9d1b2560 Arkadiusz Kubalewski 2025-05-23  672  		if (ref_sync_pin) {
d487dd9d1b2560 Arkadiusz Kubalewski 2025-05-23  673  			xa_erase(&pin->ref_sync_pins, ref_sync_pin_id);
d487dd9d1b2560 Arkadiusz Kubalewski 2025-05-23  674  			__dpll_pin_change_ntf(pin);
d487dd9d1b2560 Arkadiusz Kubalewski 2025-05-23  675  		}
d487dd9d1b2560 Arkadiusz Kubalewski 2025-05-23  676  	}
d487dd9d1b2560 Arkadiusz Kubalewski 2025-05-23  677  }
d487dd9d1b2560 Arkadiusz Kubalewski 2025-05-23  678  

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2025-06-10  3:49 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-05-23 17:26 [Intel-wired-lan] [PATCH net-next v4 0/3] dpll: add Reference SYNC feature Arkadiusz Kubalewski
2025-05-23 17:26 ` Arkadiusz Kubalewski
2025-05-23 17:26 ` [Intel-wired-lan] [PATCH net-next v4 1/3] dpll: add reference-sync netlink attribute Arkadiusz Kubalewski
2025-05-23 17:26   ` Arkadiusz Kubalewski
2025-05-26  9:42   ` [Intel-wired-lan] " Jiri Pirko
2025-05-26  9:42     ` Jiri Pirko
2025-05-28  7:24   ` [Intel-wired-lan] " Paolo Abeni
2025-05-28  7:24     ` Paolo Abeni
2025-05-30  0:49   ` [Intel-wired-lan] " Jakub Kicinski
2025-05-30  0:49     ` Jakub Kicinski
2025-06-10  3:49     ` [Intel-wired-lan] " Kubalewski, Arkadiusz
2025-06-10  3:49       ` Kubalewski, Arkadiusz
2025-05-23 17:26 ` [Intel-wired-lan] [PATCH net-next v4 2/3] dpll: add reference sync get/set Arkadiusz Kubalewski
2025-05-23 17:26   ` Arkadiusz Kubalewski
2025-05-26  9:41   ` [Intel-wired-lan] " Jiri Pirko
2025-05-26  9:41     ` Jiri Pirko
2025-05-30  0:56   ` [Intel-wired-lan] " Jakub Kicinski
2025-05-30  0:56     ` Jakub Kicinski
2025-05-23 17:26 ` [Intel-wired-lan] [PATCH net-next v4 3/3] ice: add ref-sync dpll pins Arkadiusz Kubalewski
2025-05-23 17:26   ` Arkadiusz Kubalewski
  -- strict thread matches above, loose matches on Subject: below --
2025-05-25  1:05 [Intel-wired-lan] [PATCH net-next v4 2/3] dpll: add reference sync get/set kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.