[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <ZOb/3qbGKS4+6Slu@nanopsycho>
Date: Thu, 24 Aug 2023 08:59:42 +0200
From: Jiri Pirko <jiri@...nulli.us>
To: Vadim Fedorenko <vadim.fedorenko@...ux.dev>
Cc: Jakub Kicinski <kuba@...nel.org>,
Arkadiusz Kubalewski <arkadiusz.kubalewski@...el.com>,
Jonathan Lemon <jonathan.lemon@...il.com>,
Paolo Abeni <pabeni@...hat.com>,
Milena Olech <milena.olech@...el.com>,
Michal Michalik <michal.michalik@...el.com>,
linux-arm-kernel@...ts.infradead.org, poros@...hat.com,
mschmidt@...hat.com, netdev@...r.kernel.org,
linux-clk@...r.kernel.org, Bart Van Assche <bvanassche@....org>,
intel-wired-lan@...ts.osuosl.org
Subject: Re: [PATCH net-next v6 0/9] Create common DPLL configuration API
Thu, Aug 24, 2023 at 12:52:33AM CEST, vadim.fedorenko@...ux.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': 4658613174691613800,
> 'id': 0,
> 'lock-status': 'locked-ho-acq',
> 'mode': 'automatic',
> 'mode-supported': ['automatic'],
> 'module-name': 'ice',
> 'type': 'eec'},
> {'clock-id': 4658613174691613800,
> 'id': 1,
> 'lock-status': 'locked-ho-acq',
> 'mode': 'automatic',
> 'mode-supported': ['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 '{"id":2}'
>{'board-label': 'C827_0-RCLKA',
> 'clock-id': 4658613174691613800,
> 'capabilities': 6,
> 'frequency': 1953125,
> 'id': 2,
> 'module-name': 'ice',
> 'parent-device': [{'direction': 'input',
> 'parent-id': 0,
> 'prio': 9,
> 'state': 'disconnected'},
> {'direction': 'input',
> 'parent-id': 1,
> 'prio': 9,
> 'state': 'disconnected'}],
> 'type': 'mux'}
>
>- set pin's state on dpll:
>$ sudo ./tools/net/ynl/cli.py --spec Documentation/netlink/specs/dpll.yaml \
>--do pin-set --json '{"id":2, "parent-device":{"parent-id":1, "state":2}}'
>
>- set pin's prio on dpll:
>$ sudo ./tools/net/ynl/cli.py --spec Documentation/netlink/specs/dpll.yaml \
>--do pin-set --json '{"id":2, "parent-device":{"parent-id":1, "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 '{"id":13, "parent-pin":{"parent-id":2, "state":1}}'
>
>
>Changelog:
>
>v5 -> v6:
>- change dpll-caps to pin capabilities and adjust enum accordingly
>- remove dpll.h from netdevice.h
For the record, I'm fine with this version and my signed-offs stand.
Thanks!
Powered by blists - more mailing lists