netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Andrew Lunn <andrew@lunn.ch>
To: Parthiban.Veerasooran@microchip.com
Cc: netdev@vger.kernel.org, Jan.Huber@microchip.com,
	Thorsten.Kummermehr@microchip.com
Subject: Re: Clarification on user configurable parameters implementation in PHY driver
Date: Sat, 19 Mar 2022 16:33:15 +0100	[thread overview]
Message-ID: <YjX3u7FvPCaVmsmp@lunn.ch> (raw)
In-Reply-To: <e8521999-7f3a-8aa9-4e63-a81c6175c088@microchip.com>

On Fri, Mar 18, 2022 at 12:30:47PM +0000, Parthiban.Veerasooran@microchip.com wrote:
> Hi All,
> 
> Microchip LAN8670 is a high-performance 10BASE-T1S single-pair Ethernet 
> PHY transceiver for 10 Mbit/s half-duplex networking over a single pair 
> of conductors. The LAN8670 is designed for use in high-reliability cost 
> sensitive industrial, back plane, and building automation 
> sensor/actuator applications.
> 
> Physical Layer Collision Avoidance (PLCA) is one of the features in this 
> PHY which allows for high bandwidth utilization by avoiding collisions 
> on the physical layer and burst mode for transmission of multiple 
> packets for high packet rate latency-sensitive applications. This PLCA 
> feature uses the following user configurable parameters to be configured 
> through PHY driver.
> 
>      1. PLCA node id
>      2. PLCA node count
>      3. PLCA transmit opportunity time
>      4. PLCA max burst count
>      5. PLCA max burst time
>      6. PLCA enable/disable

Hi Parthiban

I just had a quick read of 802.3cg.

As far as i see, it does not define the registers used to control
PLCA. So i guess each vendor will define there own registers in the
vendor section of clause 45? This also means there will not be a
shared implementation in linux, so the API you define needs to go all
the way down into the PHY driver.

What is defined are the management objects. Table 30-11, PLCA
capabilities defines:

aPLCAAdminState ATTRIBUTE GET
aPLCAStatus ATTRIBUTE GET
aPLCABurstTimer ATTRIBUTE GET-SET
aPLCALocalNodeID ATTRIBUTE GET-SET
aPLCAMaxBurstCount ATTRIBUTE GET-SET
aPLCANodeCount ATTRIBUTE GET-SET
aPLCATransmitOpportunityTimer ATTRIBUTE GET-SET

This is basically what you listed above. 

So i suggest you define a netlink API around these, as part of the
Ethtool API. You can reference the standard when defining the API, so
making it clear what the netlink attributes mean, what unit they use
etc.

	Andrew

      parent reply	other threads:[~2022-03-19 15:33 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-03-18 12:30 Clarification on user configurable parameters implementation in PHY driver Parthiban.Veerasooran
2022-03-19  0:54 ` Andrew Lunn
2022-03-19 15:33 ` Andrew Lunn [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=YjX3u7FvPCaVmsmp@lunn.ch \
    --to=andrew@lunn.ch \
    --cc=Jan.Huber@microchip.com \
    --cc=Parthiban.Veerasooran@microchip.com \
    --cc=Thorsten.Kummermehr@microchip.com \
    --cc=netdev@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).