Thread (73 messages) 73 messages, 8 authors, 2023-07-17

Re: [RFC PATCH v8 01/10] dpll: documentation on DPLL subsystem interface

From: Jiri Pirko <jiri@resnulli.us>
Date: 2023-06-14 09:27:45
Also in: intel-wired-lan, linux-clk, linux-doc, linux-rdma, lkml

Tue, Jun 13, 2023 at 06:38:01PM CEST, kuba@kernel.org wrote:
On Tue, 13 Jun 2023 11:55:11 +0200 Jiri Pirko wrote:
quoted
quoted
quoted
+``'pin': [{
+ {'clock-id': 282574471561216,
+  'module-name': 'ice',
+  'pin-dpll-caps': 4,
+  'pin-id': 13,
+  'pin-parent': [{'pin-id': 2, 'pin-state': 'connected'},
+                 {'pin-id': 3, 'pin-state': 'disconnected'},
+                 {'id': 0, 'pin-direction': 'input'},
+                 {'id': 1, 'pin-direction': 'input'}],
+  'pin-type': 'synce-eth-port'}
+}]``  
It seems like pin-parent is overloaded, can we split it into two
different nests?  
Yeah, we had it as two and converged to this one. The thing is, the rest
of the attrs are the same for both parent pin and parent device. I link
it this way a bit better. No strong feeling.
Do you mean the same attribute enum / "space" / "set"?
Yeah, that is my understanding. Arkadiusz, could you please clarify?

In the example above the attributes present don't seem to overlap.
For user space its an extra if to sift thru the objects under
pin-parent.
quoted
quoted
Also sounds like setting pin attrs and pin-parent attrs should be
different commands.  
Could be, but what't the benefit? Also, you are not configuring
pin-parent. You are configuring pin:pin-parent tuple. Basically the pin
configuration as a child. So this is mainly config of the pin itsest
Therefore does not really make sense to me to split to two comments.
Clarity of the API. If muxing everything thru few calls was the goal
we should also have very few members in struct dpll_pin_ops, and we
don't.
How the the internal kernel api related to the uapi? I mean, it's quite
common to have 1:N relationsip between cmd and op. I have to be missing
your point. Could you be more specific please?

Current code presents PIN_SET command with accepts structured set of
attribute to be set. The core-driver api is pretty clear. Squashing to
a single op would be disaster. Having one command per attr looks like an
overkill without any real benefit. How exactly do you propose to change
this?
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help