netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Michael Walle <michael@walle.cc>
To: Andrew Lunn <andrew@lunn.ch>
Cc: Jiri Pirko <jiri@resnulli.us>, Jakub Kicinski <kuba@kernel.org>,
	Heiner Kallweit <hkallweit1@gmail.com>,
	Russell King <linux@armlinux.org.uk>,
	netdev@vger.kernel.org, Keller Jacob E <jacob.e.keller@intel.com>
Subject: Re: PHY firmware update method
Date: Tue, 24 Jan 2023 18:11:07 +0100	[thread overview]
Message-ID: <ced75f7f596a146b58b87dd2d6bad210@walle.cc> (raw)
In-Reply-To: <Yzbi335GQGbGLL4k@lunn.ch>

[sorry for the very late response, but I was working on getting an
acceptable license for the PHY binary in the meantime]

>> Yeah, I tend to agree here. I believe that phylib should probably find 
>> a
>> separate way to to the flash.
>> 
>> But perhaps it could be a non-user-facing flash. I mean, what if 
>> phylib
>> has internal routine to:
>> 1) do query phy fw version
>> 2) load a fw bin related for this phy (easy phy driver may provide the
>> 				       path/name of the file)
>> 3) flash if there is a newer version available
> 
> That was my first suggestion. One problem is getting the version from
> the binary blob firmware. But this seems like a generic problem for
> linux-firmware, so maybe somebody has worked on a standardised header
> which can be preppended with this meta data?

In my case, the firmware binary blob has some static offset to get
firmware version (I need to double check that one with the vendor).
Of course we could put that PLDM thingy around it. But it seems we are
mangling with the binary provided by the vendor before putting it into
linux-firmware.git. If I understand Jacob correct, Intel will already
provide the binaries in PLDM format.

Another problem I see is how we can determine if a firmware update
is possible at all - or if we just try it anyway if that is possible.
In my case there is already an integrated firmware and the external
flash is optional. The PHY will try to boot from external flash and
fall back to the internal one. AFAIK you can read out where the PHY
was booted from. If the external flash is empty, you cannot detect if
you could update the firmware.

So if you'd do this during the PHY probe, it might try to update the
firmware on every boot and fail. Would that be acceptable?

How long could can a firmware update during probe run? Do we need
to do it in the background with the PHY being offline. Sounds like
not something we want.

-michael

  parent reply	other threads:[~2023-01-24 17:11 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-09-28 11:27 PHY firmware update method Michael Walle
2022-09-28 12:28 ` Andrew Lunn
2022-09-29  7:04   ` Jiri Pirko
2022-09-29 12:28     ` Andrew Lunn
2022-09-29 14:12       ` Jakub Kicinski
2022-09-29 14:53         ` Andrew Lunn
2022-09-30  8:25           ` Jiri Pirko
2022-09-30 12:36             ` Andrew Lunn
2022-09-30 14:45               ` Jakub Kicinski
2022-09-30 16:49                 ` Keller, Jacob E
2022-10-03 12:18                 ` Russell King (Oracle)
2022-10-03 14:42                   ` Jakub Kicinski
2022-10-03 17:53                     ` Keller, Jacob E
2022-10-03 18:04                   ` Jacob Keller
2023-01-24 17:13                   ` Michael Walle
2023-01-24 17:11               ` Michael Walle [this message]
2023-01-24 20:42                 ` Andrew Lunn
2023-01-31 16:10                   ` Michael Walle
2023-01-31 16:29                     ` Russell King (Oracle)
2023-01-31 17:48                       ` Michael Walle
2023-01-31 18:36                         ` Jacob Keller
2023-01-31 18:41                       ` Jakub Kicinski
2023-01-31 19:56                         ` Jacob Keller
2023-01-31 21:07                           ` Jakub Kicinski
2023-01-24 22:28                 ` Jacob Keller

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=ced75f7f596a146b58b87dd2d6bad210@walle.cc \
    --to=michael@walle.cc \
    --cc=andrew@lunn.ch \
    --cc=hkallweit1@gmail.com \
    --cc=jacob.e.keller@intel.com \
    --cc=jiri@resnulli.us \
    --cc=kuba@kernel.org \
    --cc=linux@armlinux.org.uk \
    --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).