RE: [PATCH net-next v2 2/2] net: ethtool: Add support for writing firmware blocks using EPL payload

From: Danielle Ratson
Date: Fri Sep 13 2024 - 03:29:49 EST


> From: Andrew Lunn <andrew@xxxxxxx>
> Sent: Wednesday, 11 September 2024 20:38
> To: Danielle Ratson <danieller@xxxxxxxxxx>
> Cc: Simon Horman <horms@xxxxxxxxxx>; netdev@xxxxxxxxxxxxxxx;
> davem@xxxxxxxxxxxxx; edumazet@xxxxxxxxxx; kuba@xxxxxxxxxx;
> pabeni@xxxxxxxxxx; yuehaibing@xxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx;
> Petr Machata <petrm@xxxxxxxxxx>
> Subject: Re: [PATCH net-next v2 2/2] net: ethtool: Add support for writing
> firmware blocks using EPL payload
>
> > Hi Andrew,
> >
> > In both cases we transfer the same size of data, which corresponds to the
> size of the firmware image, to the module.
> > Moreover, in both cases the same size of data is passing on the wire, which
> depends on the wire obligations.
> >
> > But, instead of running #n "0103h: Write FW Block LPL" commands (see
> section 9.7.4 in CMIS 5.2) with up to 128 bytes, we are running #n/16
> "0104h: Write FW Block EPL" commands (see section 9.7.5 in CMIS 5.2) with
> up to 2048 bytes.
> > That means that instead of processing #n commands and sending back to
> the core the status for each one, we do it for only #n/16.
>
> O.K, thanks.
>
> > The standard does not say anything about the I2C layer, but the
> > speedup doesn’t lie in that.
>
> What does your hardware do? Can it do 2048 byte I2C bus transfers? Or is it
> getting chopped up into smaller chunks?

No, it can not transfer 2048 bytes in one chunks, it is getting chopped in the driver.

Thanks,
Danielle

>
> Thanks
> Andrew