Subject: Re: [patch net-next] cxgb3: update firmware version

From: Ben Hutchings <[email-masked]>
Date: Tue, 14 Feb 2012 05:08:36 +0000

On Mon, 2012-02-13 at 20:49 -0800, Divy Le Ray wrote:
> On Monday, February 13, 2012 5:59:14 PM, Ben Hutchings wrote:
> >
> > On Mon, 2012-02-13 at 13:39 -0800, Divy Le Ray wrote:
> >>
> >> On Monday, February 13, 2012 12:43:37 PM, David Woodhouse wrote:
> >>>
> >>>
> >>> On Mon, 2012-02-13 at 12:28 -0800, Divy Le Ray wrote:
> >>>>
> >>>>
> >>>> This patch updates the firmware version cxgb3 is requesting to 7.12.0.
> >>>
> >>>
> >>>
> >>> I'm confused. Your patch doesn't change anything in the driver, except
> >>> the firmware version. So why is it a "major" change?
> >>
> >>
> >> Hi David,
> >>
> >> cxgb3 embeds the firmware file name it will request at load time.
> >> It uses the FW_VERSION_* defs to construct the firmware name FW_FNAME
> >> before calling request_firmware().
> >> Hence the need to update the firmware minor version.
> >>
> >> On the other hand, the driver version update is not a strict requirement
> >> here.
> >> I would prefer keeping it though.
> >
> >
> > The problems with this are:
> > 1. Older kernel versions don't benefit from the firmware update.
> > 2. The old firmware has to be kept in linux-firmware to support those
> > old kernel versions, and distributions may have to package more
> > versions.
> >
> > To avoid this, the firmware filename should only be changed if you make
> > incompatible changes in the driver/firmware interface.
> 
> Hi Ben,
> 
> The scheme for cxgb3 firmware update was designed in coordination with 
> OEMs in the early stages of the driver existence back in 2007.

I'm aware that some OEMs have specifications for flash firmware updates
and version numbers.  I don't recall seeing anything about naming
firmware files that are loaded by the driver at boot.

In any case, whatever your OEMs want in out-of-tree driver packages is
not necessarily relevant to mainline Linux.

> Committing FW 7.12.0 under the name of t3fw-7.10.0.bin would be 
> confusing, in my mind.

Indeed it would, but I was speaking in general terms - that it would be
preferable to use something like t3fw-<major>.bin.

I assume that the firmware blob has a version embedded in it, so that
the driver would still be able to report the exact version through
ethtool_ops::get_drvinfo.

> Some distributions have explicitly requested the FW rev number to be 
> appended to the firmware file name.

Did they really want the full version there or did they want you to
distinguish incompatible versions?  Did they assume that the file would
be installed by a package (so that the package carries a version number)
or not?

Ben.

-- 
Ben Hutchings
Beware of programmers who carry screwdrivers. - Leonard Brandwein