Thread (37 messages) 37 messages, 4 authors, 2023-08-22

Re: [PATCH net-next v4 0/9] Create common DPLL configuration API

From: Jiri Pirko <jiri@resnulli.us>
Date: 2023-08-12 06:22:14
Also in: intel-wired-lan, linux-clk, netdev

Fri, Aug 11, 2023 at 10:03:31PM CEST, vadim.fedorenko@linux.dev wrote:
Implement common API for DPLL configuration and status reporting.
The API utilises netlink interface as transport for commands and event
notifications. This API aims to extend current pin configuration 
provided by PTP subsystem and make it flexible and easy to cover
complex configurations.

Netlink interface is based on ynl spec, it allows use of in-kernel
tools/net/ynl/cli.py application to control the interface with properly
formated command and json attribute strings. Here are few command
examples of how it works with `ice` driver on supported NIC:

- dump dpll devices
$ sudo ./tools/net/ynl/cli.py --spec Documentation/netlink/specs/dpll.yaml \
--dump device-get
[{'clock-id': 282574471561216,
 'id': 0,
 'lock-status': 'unlocked',
 'mode': 'automatic',
 'module-name': 'ice',
 'type': 'eec'},
{'clock-id': 282574471561216,
 'id': 1,
 'lock-status': 'unlocked',
 'mode': 'automatic',
 'module-name': 'ice',
 'type': 'pps'}]

- get single pin info:
$ sudo ./tools/net/ynl/cli.py --spec Documentation/netlink/specs/dpll.yaml \
--do pin-get --json '{"pin-id":2}'
{'clock-id': 282574471561216,
'module-name': 'ice',
'pin-board-label': 'C827_0-RCLKA',
'pin-dpll-caps': 6,
'pin-frequency': 1953125,
'pin-id': 2,
'pin-parent-device': [{'id': 0,
                        'pin-direction': 'input',
                        'pin-prio': 11,
                        'pin-state': 'selectable'},
                       {'id': 1,
                        'pin-direction': 'input',
                        'pin-prio': 9,
                        'pin-state': 'selectable'}],
'pin-type': 'mux'}

- set pin's state on dpll:
$ sudo ./tools/net/ynl/cli.py --spec Documentation/netlink/specs/dpll.yaml \
--do pin-set --json '{"pin-id":2, "pin-parent-device":{"id":1, "pin-state":2}}'

- set pin's prio on dpll:
$ sudo ./tools/net/ynl/cli.py --spec Documentation/netlink/specs/dpll.yaml \
--do pin-set --json '{"pin-id":2, "pin-parent-device":{"id":1, "pin-prio":4}}'

- set pin's state on parent pin:
$ sudo ./tools/net/ynl/cli.py --spec Documentation/netlink/specs/dpll.yaml \
--do pin-set --json '{"pin-id":13, \
                     "pin-parent-pin":{"pin-id":2, "pin-state":1}}'
For the record, I'm fine with this patchset version now.
Please merge and make this jurney to be over. Thanks!


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help