Message ID | 1469788731-5361-1-git-send-email-akarwar@marvell.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 75696fe704774039e0e2ca65be24d79739ed206d |
Delegated to: | Kalle Valo |
Headers | show |
Hi, On Fri, Jul 29, 2016 at 04:08:51PM +0530, Amitkumar Karwar wrote: > The patch corrects the revision id register and uses it along with > magic value and chip version registers to download appropriate firmware > image. > > PCIe8997 Z chipset variant code has been removed, as it won't be used in > production. > > Signed-off-by: Amitkumar Karwar <akarwar@marvell.com> > --- > drivers/net/wireless/marvell/mwifiex/pcie.c | 35 ++++++++++------------------- > drivers/net/wireless/marvell/mwifiex/pcie.h | 14 +++++------- > 2 files changed, 18 insertions(+), 31 deletions(-) [...] > diff --git a/drivers/net/wireless/marvell/mwifiex/pcie.h b/drivers/net/wireless/marvell/mwifiex/pcie.h > index f6992f0..46f99ca 100644 > --- a/drivers/net/wireless/marvell/mwifiex/pcie.h > +++ b/drivers/net/wireless/marvell/mwifiex/pcie.h > @@ -32,12 +32,9 @@ > #define PCIE8897_DEFAULT_FW_NAME "mrvl/pcie8897_uapsta.bin" > #define PCIE8897_A0_FW_NAME "mrvl/pcie8897_uapsta_a0.bin" > #define PCIE8897_B0_FW_NAME "mrvl/pcie8897_uapsta.bin" > -#define PCIE8997_DEFAULT_FW_NAME "mrvl/pcieusb8997_combo_v2.bin" > -#define PCIEUART8997_FW_NAME_Z "mrvl/pcieuart8997_combo.bin" > -#define PCIEUART8997_FW_NAME_V2 "mrvl/pcieuart8997_combo_v2.bin" > -#define PCIEUSB8997_FW_NAME_Z "mrvl/pcieusb8997_combo.bin" > -#define PCIEUSB8997_FW_NAME_V2 "mrvl/pcieusb8997_combo_v2.bin" > -#define PCIE8997_DEFAULT_WIFIFW_NAME "mrvl/pcie8997_wlan.bin" > +#define PCIEUART8997_FW_NAME_V4 "mrvl/pcieuart8997_combo_v4.bin" > +#define PCIEUSB8997_FW_NAME_V4 "mrvl/pcieusb8997_combo_v4.bin" > +#define PCIE8997_DEFAULT_WIFIFW_NAME "mrvl/pcie8997_wlan_v4.bin" Why do version bumps require firmware renames? Is this just to make sure you don't load the new firmware on old chip revs that you don't plan to support for production (i.e., only early revs like the _Z you're dropping)? This doesn't seems like a good long-term solution, at least once you start getting this silicon out in the wild. At some point, I'd expect to see a stable file name. Brian > > #define PCIE_VENDOR_ID_MARVELL (0x11ab) > #define PCIE_VENDOR_ID_V2_MARVELL (0x1b4b) > @@ -47,9 +44,10 @@ > > #define PCIE8897_A0 0x1100 > #define PCIE8897_B0 0x1200 > -#define PCIE8997_Z 0x0 > -#define PCIE8997_V2 0x471 > +#define PCIE8997_A0 0x10 > +#define PCIE8997_A1 0x11 > #define CHIP_VER_PCIEUART 0x3 > +#define CHIP_MAGIC_VALUE 0x24 > > /* Constants for Buffer Descriptor (BD) rings */ > #define MWIFIEX_MAX_TXRX_BD 0x20 -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Hi Brian, > From: Brian Norris [mailto:briannorris@chromium.org] > Sent: Wednesday, August 10, 2016 12:14 AM > To: Amitkumar Karwar > Cc: linux-wireless@vger.kernel.org; Cathy Luo; Nishant Sarmukadam; > linux-kernel@vger.kernel.org > Subject: Re: mwifiex: PCIe8997 chip specific handling > > Hi, > > On Fri, Jul 29, 2016 at 04:08:51PM +0530, Amitkumar Karwar wrote: > > The patch corrects the revision id register and uses it along with > > magic value and chip version registers to download appropriate > > firmware image. > > > > PCIe8997 Z chipset variant code has been removed, as it won't be used > > in production. > > > > Signed-off-by: Amitkumar Karwar <akarwar@marvell.com> > > --- > > drivers/net/wireless/marvell/mwifiex/pcie.c | 35 > > ++++++++++------------------- > > drivers/net/wireless/marvell/mwifiex/pcie.h | 14 +++++------- > > 2 files changed, 18 insertions(+), 31 deletions(-) > > [...] > > > diff --git a/drivers/net/wireless/marvell/mwifiex/pcie.h > > b/drivers/net/wireless/marvell/mwifiex/pcie.h > > index f6992f0..46f99ca 100644 > > --- a/drivers/net/wireless/marvell/mwifiex/pcie.h > > +++ b/drivers/net/wireless/marvell/mwifiex/pcie.h > > @@ -32,12 +32,9 @@ > > #define PCIE8897_DEFAULT_FW_NAME "mrvl/pcie8897_uapsta.bin" > > #define PCIE8897_A0_FW_NAME "mrvl/pcie8897_uapsta_a0.bin" > > #define PCIE8897_B0_FW_NAME "mrvl/pcie8897_uapsta.bin" > > -#define PCIE8997_DEFAULT_FW_NAME "mrvl/pcieusb8997_combo_v2.bin" > > -#define PCIEUART8997_FW_NAME_Z "mrvl/pcieuart8997_combo.bin" > > -#define PCIEUART8997_FW_NAME_V2 "mrvl/pcieuart8997_combo_v2.bin" > > -#define PCIEUSB8997_FW_NAME_Z "mrvl/pcieusb8997_combo.bin" > > -#define PCIEUSB8997_FW_NAME_V2 "mrvl/pcieusb8997_combo_v2.bin" > > -#define PCIE8997_DEFAULT_WIFIFW_NAME "mrvl/pcie8997_wlan.bin" > > +#define PCIEUART8997_FW_NAME_V4 "mrvl/pcieuart8997_combo_v4.bin" > > +#define PCIEUSB8997_FW_NAME_V4 "mrvl/pcieusb8997_combo_v4.bin" > > +#define PCIE8997_DEFAULT_WIFIFW_NAME "mrvl/pcie8997_wlan_v4.bin" > > Why do version bumps require firmware renames? Is this just to make sure > you don't load the new firmware on old chip revs that you don't plan to > support for production (i.e., only early revs like the _Z you're > dropping)? This doesn't seems like a good long-term solution, at least > once you start getting this silicon out in the wild. At some point, I'd > expect to see a stable file name. > > Brian > We haven't yet submitted any firmware image upstream for 8997 chipset. pcieuart8997_combo_v4.bin/pcieusb8997_combo_v4.bin would be our firmware candidate for upstream submission. The filename would remain same hereafter. pcie*8997_combo_v2.bin had support only for A0 chipset pcie*8997_combo_v3.bin was our internal development version which had support for A1 chipset pcie*8997_combo_v4.bin has support for both A0 and A1 chipsets and this is the version that shall be released to customers/upstream from now on. Regards, Amitkumar Karwar -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Hi, On Wed, Aug 10, 2016 at 12:07 AM, Amitkumar Karwar <akarwar@marvell.com> wrote: > Hi Brian, > >> From: Brian Norris [mailto:briannorris@chromium.org] >> Sent: Wednesday, August 10, 2016 12:14 AM >> To: Amitkumar Karwar >> Cc: linux-wireless@vger.kernel.org; Cathy Luo; Nishant Sarmukadam; >> linux-kernel@vger.kernel.org >> Subject: Re: mwifiex: PCIe8997 chip specific handling >> >> Hi, >> >> On Fri, Jul 29, 2016 at 04:08:51PM +0530, Amitkumar Karwar wrote: >> > The patch corrects the revision id register and uses it along with >> > magic value and chip version registers to download appropriate >> > firmware image. >> > >> > PCIe8997 Z chipset variant code has been removed, as it won't be used >> > in production. >> > >> > Signed-off-by: Amitkumar Karwar <akarwar@marvell.com> >> > --- >> > drivers/net/wireless/marvell/mwifiex/pcie.c | 35 >> > ++++++++++------------------- >> > drivers/net/wireless/marvell/mwifiex/pcie.h | 14 +++++------- >> > 2 files changed, 18 insertions(+), 31 deletions(-) >> >> [...] >> >> > diff --git a/drivers/net/wireless/marvell/mwifiex/pcie.h >> > b/drivers/net/wireless/marvell/mwifiex/pcie.h >> > index f6992f0..46f99ca 100644 >> > --- a/drivers/net/wireless/marvell/mwifiex/pcie.h >> > +++ b/drivers/net/wireless/marvell/mwifiex/pcie.h >> > @@ -32,12 +32,9 @@ >> > #define PCIE8897_DEFAULT_FW_NAME "mrvl/pcie8897_uapsta.bin" >> > #define PCIE8897_A0_FW_NAME "mrvl/pcie8897_uapsta_a0.bin" >> > #define PCIE8897_B0_FW_NAME "mrvl/pcie8897_uapsta.bin" >> > -#define PCIE8997_DEFAULT_FW_NAME "mrvl/pcieusb8997_combo_v2.bin" >> > -#define PCIEUART8997_FW_NAME_Z "mrvl/pcieuart8997_combo.bin" >> > -#define PCIEUART8997_FW_NAME_V2 "mrvl/pcieuart8997_combo_v2.bin" >> > -#define PCIEUSB8997_FW_NAME_Z "mrvl/pcieusb8997_combo.bin" >> > -#define PCIEUSB8997_FW_NAME_V2 "mrvl/pcieusb8997_combo_v2.bin" >> > -#define PCIE8997_DEFAULT_WIFIFW_NAME "mrvl/pcie8997_wlan.bin" >> > +#define PCIEUART8997_FW_NAME_V4 "mrvl/pcieuart8997_combo_v4.bin" >> > +#define PCIEUSB8997_FW_NAME_V4 "mrvl/pcieusb8997_combo_v4.bin" >> > +#define PCIE8997_DEFAULT_WIFIFW_NAME "mrvl/pcie8997_wlan_v4.bin" >> >> Why do version bumps require firmware renames? Is this just to make sure >> you don't load the new firmware on old chip revs that you don't plan to >> support for production (i.e., only early revs like the _Z you're >> dropping)? This doesn't seems like a good long-term solution, at least >> once you start getting this silicon out in the wild. At some point, I'd >> expect to see a stable file name. >> >> Brian >> > > We haven't yet submitted any firmware image upstream for 8997 chipset. > pcieuart8997_combo_v4.bin/pcieusb8997_combo_v4.bin would be our firmware candidate for upstream submission. The filename would remain same hereafter. > > pcie*8997_combo_v2.bin had support only for A0 chipset > pcie*8997_combo_v3.bin was our internal development version which had support for A1 chipset > pcie*8997_combo_v4.bin has support for both A0 and A1 chipsets and this is the version that shall be released to customers/upstream from now on. > Seems to me then it should just be named pcie*8997_wlan.bin. A version number shouldn't be part of the file name in this case. Having to update the driver for a firmware name change is silly. Most wireless drivers have different names for different hardware/chip revs and/or an incompatible API change. Most distributions would typically only carry a single instance of the firmware for a particular chip. Speaking for the ones I work with, I usually keep the original filename intact (with a version number) and make a symlink to it with the name the driver expects. eg: fw-4.bin -> fw_v3.4.0.94.bin fw_v3.2.0.144.bin fw_v3.4.0.94.bin That way I can keep track of the version in my filesystem, but I'm not hacking the driver every couple of weeks. And we do issue new firmware every few weeks. I can't imagine asking our customers to keep updating the driver for each firmware enhancement. IMHO changing the driver to rename the firmwares on new versions seems both inconvenient to people using it, and extra non-useful commit noise. - Steve -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
SGkgU3RldmUsDQoNCj4gRnJvbTogU3RldmUgZGVSb3NpZXIgW21haWx0bzpkZXJvc2llckBnbWFp bC5jb21dDQo+IFNlbnQ6IFRodXJzZGF5LCBBdWd1c3QgMTEsIDIwMTYgMjozOSBBTQ0KPiBUbzog QW1pdGt1bWFyIEthcndhcg0KPiBDYzogQnJpYW4gTm9ycmlzOyBsaW51eC13aXJlbGVzc0B2Z2Vy Lmtlcm5lbC5vcmc7IENhdGh5IEx1bzsgTmlzaGFudA0KPiBTYXJtdWthZGFtOyBsaW51eC1rZXJu ZWxAdmdlci5rZXJuZWwub3JnOyBXZWktTmluZyBIdWFuZw0KPiBTdWJqZWN0OiBSZTogbXdpZmll eDogUENJZTg5OTcgY2hpcCBzcGVjaWZpYyBoYW5kbGluZw0KPiANCj4gSGksDQo+IA0KPiBPbiBX ZWQsIEF1ZyAxMCwgMjAxNiBhdCAxMjowNyBBTSwgQW1pdGt1bWFyIEthcndhciA8YWthcndhckBt YXJ2ZWxsLmNvbT4NCj4gd3JvdGU6DQo+ID4gSGkgQnJpYW4sDQo+ID4NCj4gPj4gRnJvbTogQnJp YW4gTm9ycmlzIFttYWlsdG86YnJpYW5ub3JyaXNAY2hyb21pdW0ub3JnXQ0KPiA+PiBTZW50OiBX ZWRuZXNkYXksIEF1Z3VzdCAxMCwgMjAxNiAxMjoxNCBBTQ0KPiA+PiBUbzogQW1pdGt1bWFyIEth cndhcg0KPiA+PiBDYzogbGludXgtd2lyZWxlc3NAdmdlci5rZXJuZWwub3JnOyBDYXRoeSBMdW87 IE5pc2hhbnQgU2FybXVrYWRhbTsNCj4gPj4gbGludXgta2VybmVsQHZnZXIua2VybmVsLm9yZw0K PiA+PiBTdWJqZWN0OiBSZTogbXdpZmlleDogUENJZTg5OTcgY2hpcCBzcGVjaWZpYyBoYW5kbGlu Zw0KPiA+Pg0KPiA+PiBIaSwNCj4gPj4NCj4gPj4gT24gRnJpLCBKdWwgMjksIDIwMTYgYXQgMDQ6 MDg6NTFQTSArMDUzMCwgQW1pdGt1bWFyIEthcndhciB3cm90ZToNCj4gPj4gPiBUaGUgcGF0Y2gg Y29ycmVjdHMgdGhlIHJldmlzaW9uIGlkIHJlZ2lzdGVyIGFuZCB1c2VzIGl0IGFsb25nIHdpdGgN Cj4gPj4gPiBtYWdpYyB2YWx1ZSBhbmQgY2hpcCB2ZXJzaW9uIHJlZ2lzdGVycyB0byBkb3dubG9h ZCBhcHByb3ByaWF0ZQ0KPiA+PiA+IGZpcm13YXJlIGltYWdlLg0KPiA+PiA+DQo+ID4+ID4gUENJ ZTg5OTcgWiBjaGlwc2V0IHZhcmlhbnQgY29kZSBoYXMgYmVlbiByZW1vdmVkLCBhcyBpdCB3b24n dCBiZQ0KPiA+PiA+IHVzZWQgaW4gcHJvZHVjdGlvbi4NCj4gPj4gPg0KPiA+PiA+IFNpZ25lZC1v ZmYtYnk6IEFtaXRrdW1hciBLYXJ3YXIgPGFrYXJ3YXJAbWFydmVsbC5jb20+DQo+ID4+ID4gLS0t DQo+ID4+ID4gIGRyaXZlcnMvbmV0L3dpcmVsZXNzL21hcnZlbGwvbXdpZmlleC9wY2llLmMgfCAz NQ0KPiA+PiA+ICsrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tDQo+ID4+ID4gZHJpdmVycy9u ZXQvd2lyZWxlc3MvbWFydmVsbC9td2lmaWV4L3BjaWUuaCB8IDE0ICsrKysrLS0tLS0tLQ0KPiA+ PiA+ICAyIGZpbGVzIGNoYW5nZWQsIDE4IGluc2VydGlvbnMoKyksIDMxIGRlbGV0aW9ucygtKQ0K PiA+Pg0KPiA+PiBbLi4uXQ0KPiA+Pg0KPiA+PiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93 aXJlbGVzcy9tYXJ2ZWxsL213aWZpZXgvcGNpZS5oDQo+ID4+ID4gYi9kcml2ZXJzL25ldC93aXJl bGVzcy9tYXJ2ZWxsL213aWZpZXgvcGNpZS5oDQo+ID4+ID4gaW5kZXggZjY5OTJmMC4uNDZmOTlj YSAxMDA2NDQNCj4gPj4gPiAtLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9tYXJ2ZWxsL213aWZp ZXgvcGNpZS5oDQo+ID4+ID4gKysrIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvbWFydmVsbC9td2lm aWV4L3BjaWUuaA0KPiA+PiA+IEBAIC0zMiwxMiArMzIsOSBAQA0KPiA+PiA+ICAjZGVmaW5lIFBD SUU4ODk3X0RFRkFVTFRfRldfTkFNRSAibXJ2bC9wY2llODg5N191YXBzdGEuYmluIg0KPiA+PiA+ ICAjZGVmaW5lIFBDSUU4ODk3X0EwX0ZXX05BTUUgIm1ydmwvcGNpZTg4OTdfdWFwc3RhX2EwLmJp biINCj4gPj4gPiAgI2RlZmluZSBQQ0lFODg5N19CMF9GV19OQU1FICJtcnZsL3BjaWU4ODk3X3Vh cHN0YS5iaW4iDQo+ID4+ID4gLSNkZWZpbmUgUENJRTg5OTdfREVGQVVMVF9GV19OQU1FICJtcnZs L3BjaWV1c2I4OTk3X2NvbWJvX3YyLmJpbiINCj4gPj4gPiAtI2RlZmluZSBQQ0lFVUFSVDg5OTdf RldfTkFNRV9aICJtcnZsL3BjaWV1YXJ0ODk5N19jb21iby5iaW4iDQo+ID4+ID4gLSNkZWZpbmUg UENJRVVBUlQ4OTk3X0ZXX05BTUVfVjIgIm1ydmwvcGNpZXVhcnQ4OTk3X2NvbWJvX3YyLmJpbiIN Cj4gPj4gPiAtI2RlZmluZSBQQ0lFVVNCODk5N19GV19OQU1FX1ogIm1ydmwvcGNpZXVzYjg5OTdf Y29tYm8uYmluIg0KPiA+PiA+IC0jZGVmaW5lIFBDSUVVU0I4OTk3X0ZXX05BTUVfVjIgIm1ydmwv cGNpZXVzYjg5OTdfY29tYm9fdjIuYmluIg0KPiA+PiA+IC0jZGVmaW5lIFBDSUU4OTk3X0RFRkFV TFRfV0lGSUZXX05BTUUgIm1ydmwvcGNpZTg5OTdfd2xhbi5iaW4iDQo+ID4+ID4gKyNkZWZpbmUg UENJRVVBUlQ4OTk3X0ZXX05BTUVfVjQgIm1ydmwvcGNpZXVhcnQ4OTk3X2NvbWJvX3Y0LmJpbiIN Cj4gPj4gPiArI2RlZmluZSBQQ0lFVVNCODk5N19GV19OQU1FX1Y0ICJtcnZsL3BjaWV1c2I4OTk3 X2NvbWJvX3Y0LmJpbiINCj4gPj4gPiArI2RlZmluZSBQQ0lFODk5N19ERUZBVUxUX1dJRklGV19O QU1FICJtcnZsL3BjaWU4OTk3X3dsYW5fdjQuYmluIg0KPiA+Pg0KPiA+PiBXaHkgZG8gdmVyc2lv biBidW1wcyByZXF1aXJlIGZpcm13YXJlIHJlbmFtZXM/IElzIHRoaXMganVzdCB0byBtYWtlDQo+ ID4+IHN1cmUgeW91IGRvbid0IGxvYWQgdGhlIG5ldyBmaXJtd2FyZSBvbiBvbGQgY2hpcCByZXZz IHRoYXQgeW91IGRvbid0DQo+ID4+IHBsYW4gdG8gc3VwcG9ydCBmb3IgcHJvZHVjdGlvbiAoaS5l Liwgb25seSBlYXJseSByZXZzIGxpa2UgdGhlIF9aDQo+ID4+IHlvdSdyZSBkcm9wcGluZyk/IFRo aXMgZG9lc24ndCBzZWVtcyBsaWtlIGEgZ29vZCBsb25nLXRlcm0gc29sdXRpb24sDQo+ID4+IGF0 IGxlYXN0IG9uY2UgeW91IHN0YXJ0IGdldHRpbmcgdGhpcyBzaWxpY29uIG91dCBpbiB0aGUgd2ls ZC4gQXQgc29tZQ0KPiA+PiBwb2ludCwgSSdkIGV4cGVjdCB0byBzZWUgYSBzdGFibGUgZmlsZSBu YW1lLg0KPiA+Pg0KPiA+PiBCcmlhbg0KPiA+Pg0KPiA+DQo+ID4gV2UgaGF2ZW4ndCB5ZXQgc3Vi bWl0dGVkIGFueSBmaXJtd2FyZSBpbWFnZSB1cHN0cmVhbSBmb3IgODk5NyBjaGlwc2V0Lg0KPiA+ IHBjaWV1YXJ0ODk5N19jb21ib192NC5iaW4vcGNpZXVzYjg5OTdfY29tYm9fdjQuYmluIHdvdWxk IGJlIG91cg0KPiBmaXJtd2FyZSBjYW5kaWRhdGUgZm9yIHVwc3RyZWFtIHN1Ym1pc3Npb24uIFRo ZSBmaWxlbmFtZSB3b3VsZCByZW1haW4NCj4gc2FtZSBoZXJlYWZ0ZXIuDQo+ID4NCj4gPiBwY2ll Kjg5OTdfY29tYm9fdjIuYmluIGhhZCBzdXBwb3J0IG9ubHkgZm9yIEEwIGNoaXBzZXQNCj4gPiBw Y2llKjg5OTdfY29tYm9fdjMuYmluIHdhcyBvdXIgaW50ZXJuYWwgZGV2ZWxvcG1lbnQgdmVyc2lv biB3aGljaCBoYWQNCj4gPiBzdXBwb3J0IGZvciBBMSBjaGlwc2V0IHBjaWUqODk5N19jb21ib192 NC5iaW4gaGFzIHN1cHBvcnQgZm9yIGJvdGggQTANCj4gYW5kIEExIGNoaXBzZXRzIGFuZCB0aGlz IGlzIHRoZSB2ZXJzaW9uIHRoYXQgc2hhbGwgYmUgcmVsZWFzZWQgdG8NCj4gY3VzdG9tZXJzL3Vw c3RyZWFtIGZyb20gbm93IG9uLg0KPiA+DQo+IA0KPiBTZWVtcyB0byBtZSB0aGVuIGl0IHNob3Vs ZCBqdXN0IGJlIG5hbWVkIHBjaWUqODk5N193bGFuLmJpbi4gIEEgdmVyc2lvbg0KPiBudW1iZXIg c2hvdWxkbid0IGJlIHBhcnQgb2YgdGhlIGZpbGUgbmFtZSBpbiB0aGlzIGNhc2UuIEhhdmluZyB0 byB1cGRhdGUNCj4gdGhlIGRyaXZlciBmb3IgYSBmaXJtd2FyZSBuYW1lIGNoYW5nZSBpcyBzaWxs eS4gTW9zdCB3aXJlbGVzcyBkcml2ZXJzDQo+IGhhdmUgZGlmZmVyZW50IG5hbWVzIGZvciBkaWZm ZXJlbnQgaGFyZHdhcmUvY2hpcCByZXZzIGFuZC9vciBhbg0KPiBpbmNvbXBhdGlibGUgQVBJIGNo YW5nZS4gIE1vc3QgZGlzdHJpYnV0aW9ucyB3b3VsZCB0eXBpY2FsbHkgb25seSBjYXJyeQ0KPiBh IHNpbmdsZSBpbnN0YW5jZSBvZiB0aGUgZmlybXdhcmUgZm9yIGEgcGFydGljdWxhciBjaGlwLg0K PiBTcGVha2luZyBmb3IgdGhlIG9uZXMgSSB3b3JrIHdpdGgsIEkgdXN1YWxseSBrZWVwIHRoZSBv cmlnaW5hbCBmaWxlbmFtZQ0KPiBpbnRhY3QgKHdpdGggYSB2ZXJzaW9uIG51bWJlcikgYW5kIG1h a2UgYSBzeW1saW5rIHRvIGl0IHdpdGggdGhlIG5hbWUNCj4gdGhlIGRyaXZlciBleHBlY3RzLiAg ZWc6DQo+IA0KPiBmdy00LmJpbiAtPiBmd192My40LjAuOTQuYmluDQo+IGZ3X3YzLjIuMC4xNDQu YmluDQo+IGZ3X3YzLjQuMC45NC5iaW4NCj4gDQo+IFRoYXQgd2F5IEkgY2FuIGtlZXAgdHJhY2sg b2YgdGhlIHZlcnNpb24gaW4gbXkgZmlsZXN5c3RlbSwgYnV0IEknbSBub3QNCj4gaGFja2luZyB0 aGUgZHJpdmVyIGV2ZXJ5IGNvdXBsZSBvZiB3ZWVrcy4gIEFuZCB3ZSBkbyBpc3N1ZSBuZXcgZmly bXdhcmUNCj4gZXZlcnkgZmV3IHdlZWtzLiBJIGNhbid0IGltYWdpbmUgYXNraW5nIG91ciBjdXN0 b21lcnMgdG8ga2VlcCB1cGRhdGluZw0KPiB0aGUgZHJpdmVyIGZvciBlYWNoIGZpcm13YXJlIGVu aGFuY2VtZW50Lg0KPiANCj4gSU1ITyBjaGFuZ2luZyB0aGUgZHJpdmVyIHRvIHJlbmFtZSB0aGUg ZmlybXdhcmVzIG9uIG5ldyB2ZXJzaW9ucyBzZWVtcw0KPiBib3RoIGluY29udmVuaWVudCB0byBw ZW9wbGUgdXNpbmcgaXQsIGFuZCBleHRyYSBub24tdXNlZnVsIGNvbW1pdCBub2lzZS4NCj4gDQoN ClRoYW5rcy4gSSBhZ3JlZSB3aXRoIHlvdS4gV2UgaGF2ZSBhbHNvIG1haW50YWluZWQgc2luZ2xl IGluc3RhbmNlL25hbWUgZm9yIGFsbCBvdXIgY2hpcHNldHMgZm9yIGxhc3QgZmV3IHllYXJzLiBX ZSBkbyByZWxlYXNlIG5ldyBmaXJtd2FyZSBwZXJpb2RpY2FsbHkgZm9yIHRoZXNlIGNoaXBzZXRz LCBidXQgZmlybXdhcmUgbmFtZSBhbHdheXMgcmVtYWlucyB0aGUgc2FtZS4NCg0KLS0tLS0tLS0N CnJvb3RAcGUtbHQ5NDk6L2xpbnV4LWZpcm13YXJlL21ydmwjIGxzDQpwY2llODg5N191YXBzdGEu YmluICBzZDg2ODhfaGVscGVyLmJpbiAgc2Q4Nzk3X3VhcHN0YS5iaW4gIHNkODg5N191YXBzdGEu YmluICAgdXNiODc5N191YXBzdGEuYmluDQpzZDg2ODguYmluICAgICAgICAgICBzZDg3ODdfdWFw c3RhLmJpbiAgc2Q4ODg3X3VhcHN0YS5iaW4gIHVzYjg3NjZfdWFwc3RhLmJpbiAgdXNiODg5N191 YXBzdGEuYmluDQotLS0tLS0tLS0NCg0KSXTigJlzIGp1c3QgdGhhdCBmb3Igb3VyIG5ldyBjaGlw c2V0IDg5OTcgZm9yIHdoaWNoIHdlIGhhdmVuJ3QgeWV0IHN1Ym1pdHRlZCB0aGUgZmlybXdhcmUg aW1hZ2UgdXBzdHJlYW0sIHdlIHdhbnQgdG8gZmluYWxpemUgdGhlIG5hbWUgYXMgcGNpZSo4OTk3 X2NvbWJvX3Y0LmJpbg0KDQpSZWdhcmRzLA0KQW1pdGt1bWFyIEthcndhcg0K -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Hi Kalle, > From: linux-wireless-owner@vger.kernel.org [mailto:linux-wireless- > owner@vger.kernel.org] On Behalf Of Amitkumar Karwar > Sent: Thursday, August 11, 2016 4:11 PM > To: Steve deRosier > Cc: Brian Norris; linux-wireless@vger.kernel.org; Cathy Luo; Nishant > Sarmukadam; linux-kernel@vger.kernel.org; Wei-Ning Huang > Subject: RE: mwifiex: PCIe8997 chip specific handling > > Hi Steve, > > > From: Steve deRosier [mailto:derosier@gmail.com] > > Sent: Thursday, August 11, 2016 2:39 AM > > To: Amitkumar Karwar > > Cc: Brian Norris; linux-wireless@vger.kernel.org; Cathy Luo; Nishant > > Sarmukadam; linux-kernel@vger.kernel.org; Wei-Ning Huang > > Subject: Re: mwifiex: PCIe8997 chip specific handling > > > > Hi, > > > > On Wed, Aug 10, 2016 at 12:07 AM, Amitkumar Karwar > > <akarwar@marvell.com> > > wrote: > > > Hi Brian, > > > > > >> From: Brian Norris [mailto:briannorris@chromium.org] > > >> Sent: Wednesday, August 10, 2016 12:14 AM > > >> To: Amitkumar Karwar > > >> Cc: linux-wireless@vger.kernel.org; Cathy Luo; Nishant Sarmukadam; > > >> linux-kernel@vger.kernel.org > > >> Subject: Re: mwifiex: PCIe8997 chip specific handling > > >> > > >> Hi, > > >> > > >> On Fri, Jul 29, 2016 at 04:08:51PM +0530, Amitkumar Karwar wrote: > > >> > The patch corrects the revision id register and uses it along > > >> > with magic value and chip version registers to download > > >> > appropriate firmware image. > > >> > > > >> > PCIe8997 Z chipset variant code has been removed, as it won't be > > >> > used in production. > > >> > > > >> > Signed-off-by: Amitkumar Karwar <akarwar@marvell.com> > > >> > --- > > >> > drivers/net/wireless/marvell/mwifiex/pcie.c | 35 > > >> > ++++++++++------------------- > > >> > drivers/net/wireless/marvell/mwifiex/pcie.h | 14 +++++------- > > >> > 2 files changed, 18 insertions(+), 31 deletions(-) > > >> > > >> [...] > > >> > > >> > diff --git a/drivers/net/wireless/marvell/mwifiex/pcie.h > > >> > b/drivers/net/wireless/marvell/mwifiex/pcie.h > > >> > index f6992f0..46f99ca 100644 > > >> > --- a/drivers/net/wireless/marvell/mwifiex/pcie.h > > >> > +++ b/drivers/net/wireless/marvell/mwifiex/pcie.h > > >> > @@ -32,12 +32,9 @@ > > >> > #define PCIE8897_DEFAULT_FW_NAME "mrvl/pcie8897_uapsta.bin" > > >> > #define PCIE8897_A0_FW_NAME "mrvl/pcie8897_uapsta_a0.bin" > > >> > #define PCIE8897_B0_FW_NAME "mrvl/pcie8897_uapsta.bin" > > >> > -#define PCIE8997_DEFAULT_FW_NAME "mrvl/pcieusb8997_combo_v2.bin" > > >> > -#define PCIEUART8997_FW_NAME_Z "mrvl/pcieuart8997_combo.bin" > > >> > -#define PCIEUART8997_FW_NAME_V2 "mrvl/pcieuart8997_combo_v2.bin" > > >> > -#define PCIEUSB8997_FW_NAME_Z "mrvl/pcieusb8997_combo.bin" > > >> > -#define PCIEUSB8997_FW_NAME_V2 "mrvl/pcieusb8997_combo_v2.bin" > > >> > -#define PCIE8997_DEFAULT_WIFIFW_NAME "mrvl/pcie8997_wlan.bin" > > >> > +#define PCIEUART8997_FW_NAME_V4 "mrvl/pcieuart8997_combo_v4.bin" > > >> > +#define PCIEUSB8997_FW_NAME_V4 "mrvl/pcieusb8997_combo_v4.bin" > > >> > +#define PCIE8997_DEFAULT_WIFIFW_NAME "mrvl/pcie8997_wlan_v4.bin" > > >> > > >> Why do version bumps require firmware renames? Is this just to make > > >> sure you don't load the new firmware on old chip revs that you > > >> don't plan to support for production (i.e., only early revs like > > >> the _Z you're dropping)? This doesn't seems like a good long-term > > >> solution, at least once you start getting this silicon out in the > > >> wild. At some point, I'd expect to see a stable file name. > > >> > > >> Brian > > >> > > > > > > We haven't yet submitted any firmware image upstream for 8997 > chipset. > > > pcieuart8997_combo_v4.bin/pcieusb8997_combo_v4.bin would be our > > firmware candidate for upstream submission. The filename would remain > > same hereafter. > > > > > > pcie*8997_combo_v2.bin had support only for A0 chipset > > > pcie*8997_combo_v3.bin was our internal development version which > > > had support for A1 chipset pcie*8997_combo_v4.bin has support for > > > both A0 > > and A1 chipsets and this is the version that shall be released to > > customers/upstream from now on. > > > > > > > Seems to me then it should just be named pcie*8997_wlan.bin. A > > version number shouldn't be part of the file name in this case. Having > > to update the driver for a firmware name change is silly. Most > > wireless drivers have different names for different hardware/chip revs > > and/or an incompatible API change. Most distributions would typically > > only carry a single instance of the firmware for a particular chip. > > Speaking for the ones I work with, I usually keep the original > > filename intact (with a version number) and make a symlink to it with > > the name the driver expects. eg: > > > > fw-4.bin -> fw_v3.4.0.94.bin > > fw_v3.2.0.144.bin > > fw_v3.4.0.94.bin > > > > That way I can keep track of the version in my filesystem, but I'm not > > hacking the driver every couple of weeks. And we do issue new > > firmware every few weeks. I can't imagine asking our customers to keep > > updating the driver for each firmware enhancement. > > > > IMHO changing the driver to rename the firmwares on new versions seems > > both inconvenient to people using it, and extra non-useful commit > noise. > > > > Thanks. I agree with you. We have also maintained single instance/name > for all our chipsets for last few years. We do release new firmware > periodically for these chipsets, but firmware name always remains the > same. > > -------- > root@pe-lt949:/linux-firmware/mrvl# ls > pcie8897_uapsta.bin sd8688_helper.bin sd8797_uapsta.bin > sd8897_uapsta.bin usb8797_uapsta.bin > sd8688.bin sd8787_uapsta.bin sd8887_uapsta.bin > usb8766_uapsta.bin usb8897_uapsta.bin > --------- > > It’s just that for our new chipset 8997 for which we haven't yet > submitted the firmware image upstream, we want to finalize the name as > pcie*8997_combo_v4.bin > Could you please accept this patch? I wanted to submit our first firmware for 8997 chipset. Regards, Amitkumar
Amitkumar Karwar <akarwar@marvell.com> wrote: > The patch corrects the revision id register and uses it along with > magic value and chip version registers to download appropriate firmware > image. > > PCIe8997 Z chipset variant code has been removed, as it won't be used in > production. > > Signed-off-by: Amitkumar Karwar <akarwar@marvell.com> Does apply, please rebase: Applying: mwifiex: PCIe8997 chip specific handling fatal: sha1 information is lacking or useless (drivers/net/wireless/marvell/mwifiex/pcie.c). Repository lacks necessary blobs to fall back on 3-way merge. Cannot fall back to three-way merge. Patch failed at 0001 mwifiex: PCIe8997 chip specific handling
Hi Kalle, > -----Original Message----- > From: linux-wireless-owner@vger.kernel.org [mailto:linux-wireless- > owner@vger.kernel.org] On Behalf Of Kalle Valo > Sent: Friday, September 09, 2016 2:45 PM > To: Amitkumar Karwar > Cc: linux-wireless@vger.kernel.org; Cathy Luo; Nishant Sarmukadam; > Amitkumar Karwar > Subject: Re: mwifiex: PCIe8997 chip specific handling > > Amitkumar Karwar <akarwar@marvell.com> wrote: > > The patch corrects the revision id register and uses it along with > > magic value and chip version registers to download appropriate > > firmware image. > > > > PCIe8997 Z chipset variant code has been removed, as it won't be used > > in production. > > > > Signed-off-by: Amitkumar Karwar <akarwar@marvell.com> > > Does apply, please rebase: > > Applying: mwifiex: PCIe8997 chip specific handling > fatal: sha1 information is lacking or useless > (drivers/net/wireless/marvell/mwifiex/pcie.c). > Repository lacks necessary blobs to fall back on 3-way merge. > Cannot fall back to three-way merge. > Patch failed at 0001 mwifiex: PCIe8997 chip specific handling > The patch now smoothly applies to top of the tree. It had a dependency with "mwifiex: add PCIe function level reset support" which is merged. Let me know if there is still a problem. Regards, Amitkumar
Amitkumar Karwar <akarwar@marvell.com> wrote: > The patch corrects the revision id register and uses it along with > magic value and chip version registers to download appropriate firmware > image. > > PCIe8997 Z chipset variant code has been removed, as it won't be used in > production. > > Signed-off-by: Amitkumar Karwar <akarwar@marvell.com> Thanks, 1 patch applied to wireless-drivers-next.git: 75696fe70477 mwifiex: PCIe8997 chip specific handling
Amitkumar Karwar <akarwar@marvell.com> writes: > Hi Kalle, > >> -----Original Message----- >> From: linux-wireless-owner@vger.kernel.org [mailto:linux-wireless- >> owner@vger.kernel.org] On Behalf Of Kalle Valo >> Sent: Friday, September 09, 2016 2:45 PM >> To: Amitkumar Karwar >> Cc: linux-wireless@vger.kernel.org; Cathy Luo; Nishant Sarmukadam; >> Amitkumar Karwar >> Subject: Re: mwifiex: PCIe8997 chip specific handling >> >> Amitkumar Karwar <akarwar@marvell.com> wrote: >> > The patch corrects the revision id register and uses it along with >> > magic value and chip version registers to download appropriate >> > firmware image. >> > >> > PCIe8997 Z chipset variant code has been removed, as it won't be used >> > in production. >> > >> > Signed-off-by: Amitkumar Karwar <akarwar@marvell.com> >> >> Does apply, please rebase: >> >> Applying: mwifiex: PCIe8997 chip specific handling >> fatal: sha1 information is lacking or useless >> (drivers/net/wireless/marvell/mwifiex/pcie.c). >> Repository lacks necessary blobs to fall back on 3-way merge. >> Cannot fall back to three-way merge. >> Patch failed at 0001 mwifiex: PCIe8997 chip specific handling >> > > The patch now smoothly applies to top of the tree. It had a dependency > with "mwifiex: add PCIe function level reset support" which is merged. > Let me know if there is still a problem. Ok, I applied it now. But if there's a dependency to another patch please document it after the "---" line, a lot easier that way.
> From: Kalle Valo [mailto:kvalo@codeaurora.org] > Sent: Friday, September 09, 2016 4:58 PM > To: Amitkumar Karwar > Cc: linux-wireless@vger.kernel.org; Cathy Luo; Nishant Sarmukadam > Subject: Re: mwifiex: PCIe8997 chip specific handling > > Amitkumar Karwar <akarwar@marvell.com> writes: > > > Hi Kalle, > > > >> -----Original Message----- > >> From: linux-wireless-owner@vger.kernel.org [mailto:linux-wireless- > >> owner@vger.kernel.org] On Behalf Of Kalle Valo > >> Sent: Friday, September 09, 2016 2:45 PM > >> To: Amitkumar Karwar > >> Cc: linux-wireless@vger.kernel.org; Cathy Luo; Nishant Sarmukadam; > >> Amitkumar Karwar > >> Subject: Re: mwifiex: PCIe8997 chip specific handling > >> > >> Amitkumar Karwar <akarwar@marvell.com> wrote: > >> > The patch corrects the revision id register and uses it along with > >> > magic value and chip version registers to download appropriate > >> > firmware image. > >> > > >> > PCIe8997 Z chipset variant code has been removed, as it won't be > >> > used in production. > >> > > >> > Signed-off-by: Amitkumar Karwar <akarwar@marvell.com> > >> > >> Does apply, please rebase: > >> > >> Applying: mwifiex: PCIe8997 chip specific handling > >> fatal: sha1 information is lacking or useless > >> (drivers/net/wireless/marvell/mwifiex/pcie.c). > >> Repository lacks necessary blobs to fall back on 3-way merge. > >> Cannot fall back to three-way merge. > >> Patch failed at 0001 mwifiex: PCIe8997 chip specific handling > >> > > > > The patch now smoothly applies to top of the tree. It had a dependency > > with "mwifiex: add PCIe function level reset support" which is merged. > > Let me know if there is still a problem. > > Ok, I applied it now. But if there's a dependency to another patch > please document it after the "---" line, a lot easier that way. > Thanks. Sure. I will use "---" and take care of this for future patches. Regards, Amitkumar
diff --git a/drivers/net/wireless/marvell/mwifiex/pcie.c b/drivers/net/wireless/marvell/mwifiex/pcie.c index 81bceef..9aec9a9 100644 --- a/drivers/net/wireless/marvell/mwifiex/pcie.c +++ b/drivers/net/wireless/marvell/mwifiex/pcie.c @@ -2910,7 +2910,7 @@ static int mwifiex_pcie_request_irq(struct mwifiex_adapter *adapter) static void mwifiex_pcie_get_fw_name(struct mwifiex_adapter *adapter) { int revision_id = 0; - int version; + int version, magic; struct pcie_service_card *card = adapter->card; switch (card->dev->device) { @@ -2935,30 +2935,19 @@ static void mwifiex_pcie_get_fw_name(struct mwifiex_adapter *adapter) } break; case PCIE_DEVICE_ID_MARVELL_88W8997: - mwifiex_read_reg(adapter, 0x0c48, &revision_id); + mwifiex_read_reg(adapter, 0x8, &revision_id); mwifiex_read_reg(adapter, 0x0cd0, &version); + mwifiex_read_reg(adapter, 0x0cd4, &magic); + revision_id &= 0xff; version &= 0x7; - switch (revision_id) { - case PCIE8997_V2: - if (version == CHIP_VER_PCIEUART) - strcpy(adapter->fw_name, - PCIEUART8997_FW_NAME_V2); - else - strcpy(adapter->fw_name, - PCIEUSB8997_FW_NAME_V2); - break; - case PCIE8997_Z: - if (version == CHIP_VER_PCIEUART) - strcpy(adapter->fw_name, - PCIEUART8997_FW_NAME_Z); - else - strcpy(adapter->fw_name, - PCIEUSB8997_FW_NAME_Z); - break; - default: - strcpy(adapter->fw_name, PCIE8997_DEFAULT_FW_NAME); - break; - } + magic &= 0xff; + if (revision_id == PCIE8997_A1 && + magic == CHIP_MAGIC_VALUE && + version == CHIP_VER_PCIEUART) + strcpy(adapter->fw_name, PCIEUART8997_FW_NAME_V4); + else + strcpy(adapter->fw_name, PCIEUSB8997_FW_NAME_V4); + break; default: break; } diff --git a/drivers/net/wireless/marvell/mwifiex/pcie.h b/drivers/net/wireless/marvell/mwifiex/pcie.h index f6992f0..46f99ca 100644 --- a/drivers/net/wireless/marvell/mwifiex/pcie.h +++ b/drivers/net/wireless/marvell/mwifiex/pcie.h @@ -32,12 +32,9 @@ #define PCIE8897_DEFAULT_FW_NAME "mrvl/pcie8897_uapsta.bin" #define PCIE8897_A0_FW_NAME "mrvl/pcie8897_uapsta_a0.bin" #define PCIE8897_B0_FW_NAME "mrvl/pcie8897_uapsta.bin" -#define PCIE8997_DEFAULT_FW_NAME "mrvl/pcieusb8997_combo_v2.bin" -#define PCIEUART8997_FW_NAME_Z "mrvl/pcieuart8997_combo.bin" -#define PCIEUART8997_FW_NAME_V2 "mrvl/pcieuart8997_combo_v2.bin" -#define PCIEUSB8997_FW_NAME_Z "mrvl/pcieusb8997_combo.bin" -#define PCIEUSB8997_FW_NAME_V2 "mrvl/pcieusb8997_combo_v2.bin" -#define PCIE8997_DEFAULT_WIFIFW_NAME "mrvl/pcie8997_wlan.bin" +#define PCIEUART8997_FW_NAME_V4 "mrvl/pcieuart8997_combo_v4.bin" +#define PCIEUSB8997_FW_NAME_V4 "mrvl/pcieusb8997_combo_v4.bin" +#define PCIE8997_DEFAULT_WIFIFW_NAME "mrvl/pcie8997_wlan_v4.bin" #define PCIE_VENDOR_ID_MARVELL (0x11ab) #define PCIE_VENDOR_ID_V2_MARVELL (0x1b4b) @@ -47,9 +44,10 @@ #define PCIE8897_A0 0x1100 #define PCIE8897_B0 0x1200 -#define PCIE8997_Z 0x0 -#define PCIE8997_V2 0x471 +#define PCIE8997_A0 0x10 +#define PCIE8997_A1 0x11 #define CHIP_VER_PCIEUART 0x3 +#define CHIP_MAGIC_VALUE 0x24 /* Constants for Buffer Descriptor (BD) rings */ #define MWIFIEX_MAX_TXRX_BD 0x20
The patch corrects the revision id register and uses it along with magic value and chip version registers to download appropriate firmware image. PCIe8997 Z chipset variant code has been removed, as it won't be used in production. Signed-off-by: Amitkumar Karwar <akarwar@marvell.com> --- drivers/net/wireless/marvell/mwifiex/pcie.c | 35 ++++++++++------------------- drivers/net/wireless/marvell/mwifiex/pcie.h | 14 +++++------- 2 files changed, 18 insertions(+), 31 deletions(-)