netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Andrew Lunn <andrew@lunn.ch>
To: Bryan.Whitehead@microchip.com
Cc: davem@davemloft.net, netdev@vger.kernel.org,
	UNGLinuxDriver@microchip.com
Subject: Re: [PATCH v1 net-next] lan743x: Provide Read/Write Access to on chip OTP
Date: Mon, 21 Jan 2019 19:16:06 +0100	[thread overview]
Message-ID: <20190121181606.GA16212@lunn.ch> (raw)
In-Reply-To: <CY4PR1101MB23427BF9784E912D34EBE7C5FA9F0@CY4PR1101MB2342.namprd11.prod.outlook.com>

On Mon, Jan 21, 2019 at 06:06:20PM +0000, Bryan.Whitehead@microchip.com wrote:
> > On Fri, Jan 18, 2019 at 04:54:53PM -0500, Bryan Whitehead wrote:
> > > The LAN743x includes on chip One-Time-Programmable (OTP) memory.
> > >
> > > This patch extends the ethtool EEPROM read/write interface to access
> > > OTP memory space.
> > >
> > > This is done by adding the private flag OTP_ACCESS, which is used to
> > > switch between EEPROM, and OTP modes.
> > >
> > > The private flag OTP_ACCESS is configurable through the
> > >   ethtool --set-priv-flags command.
> > > And visible through the
> > >   ethtool --show-priv-flags command.
> > 
> > Hi Bryan
> > 
> > It would be good to explain what is wrong with the current code, which
> > allows you to select between the OTP and the EEPROM at write time.
> 
> Hi Andrew,
> 
> The current code does not allow OTP read access. 
> Plus the current code places unreasonable restrictions on OTP write operations.
> Such as requiring offset == 0, length == 512, 
>     and data[0] == 0xF3, which is the signature used to indicate the first OTP block is valid.
>     However if the user wanted to use the second block, then data[0] should be 0xF7,
>         And data should start at offset 513.
>     Also if you want to permanently invalidate the OTP then data[0] should be 0xFF.
> This patch allows the user the program OTP with any offset, length and data.
> And read access is necessary to confirm what is currently in the OTP.
> 
> Would you like me to submit a new patch containing this information?

Hi Bryan

Yes, please indicate why the patch is needed.

> > Is the EEPROM mandatory? Could there be designs without an EEPROM?
> > When setting the private flag here, should you probe to see if there actually
> > is an EEPROM and return -ENODEV if it is missing.
> 
> EEPROM is not mandatory. If EEPROM is not attached or contains invalid data,
> the lan743x will attempt to load configuration from on chip OTP memory.
> 
> To be honest, I'm not sure how to do a EEPROM probe with out doing a 
> Write and read back test. And it is not recommended to do that due to limited
> write cycles which cause EEPROM damage.
> 
> The current code does not do an EEPROM probe, so I don't see why the new
> code should. And we assume that the user can diagnose EEPROM presence
> using existing read/write operations.

I would also put some text in the commit message to it is possible to
swap to the EEPROM using the private setting, even when the EEPROM is
not present. The failure will only happen later. With the current
code, the failure is going to happen immediately.

      Andrew

  reply	other threads:[~2019-01-21 18:16 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-01-18 21:54 [PATCH v1 net-next] lan743x: Provide Read/Write Access to on chip OTP Bryan Whitehead
2019-01-20 19:32 ` Andrew Lunn
2019-01-21 18:06   ` Bryan.Whitehead
2019-01-21 18:16     ` Andrew Lunn [this message]
2019-01-21 20:30       ` Bryan.Whitehead
2019-01-21 18:26 ` Andrew Lunn
2019-01-21 21:12   ` Bryan.Whitehead
2019-01-21 22:33     ` Andrew Lunn
2019-01-22 19:21       ` Bryan.Whitehead

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=20190121181606.GA16212@lunn.ch \
    --to=andrew@lunn.ch \
    --cc=Bryan.Whitehead@microchip.com \
    --cc=UNGLinuxDriver@microchip.com \
    --cc=davem@davemloft.net \
    --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).