Subject: ethtool SFF-8472 issue

From: Joe Buehler <[email-masked]>
Date: Thu, 17 Oct 2019 08:16:38 -0400

In sfpdiag.c the sff8472_calibration routine does not look correct for
optical RX power.

The code is currently calculating this:

power = a + b*x + c*x + d*x // x is the raw A/D reading

First problem is that there is another term (SFF_A2_CAL_RXPWR4 in
sfpdiag.c) in SFF-8472 that has been dropped.

The more serious issue is that this computation is not correct.  The
SFF-8472 document could be a little clearer -- which is probably what
caused this -- but I think what it intends is a least-squares polynomial
fit to convert from A/D reading to RX power.

So the formula should be:

power = a + b *x + c*x*x + d*x*x*x + e*x*x*x*x

Joe Buehler