mt76x0: align mt76x0u and mt76x0e fw version
Unify firmware version used on mt76x0e and mt76x0u drivers. Fallback to mt7610u fw if mt7610e one is not available Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi@redhat.com> Signed-off-by: Felix Fietkau <nbd@nbd.name>
This commit is contained in:
parent
64c6a54a5a
commit
f47301403f
3 changed files with 23 additions and 4 deletions
|
|
@ -31,6 +31,8 @@
|
|||
#define MT7610E_FIRMWARE "mediatek/mt7610e.bin"
|
||||
#define MT7650E_FIRMWARE "mediatek/mt7650e.bin"
|
||||
|
||||
#define MT7610U_FIRMWARE "mediatek/mt7610u.bin"
|
||||
|
||||
#define MT_USB_AGGR_SIZE_LIMIT 21 /* * 1024B */
|
||||
#define MT_USB_AGGR_TIMEOUT 0x80 /* * 33ns */
|
||||
|
||||
|
|
|
|||
|
|
@ -337,6 +337,8 @@ err:
|
|||
}
|
||||
|
||||
MODULE_DEVICE_TABLE(usb, mt76x0_device_table);
|
||||
MODULE_FIRMWARE(MT7610E_FIRMWARE);
|
||||
MODULE_FIRMWARE(MT7610U_FIRMWARE);
|
||||
MODULE_LICENSE("GPL");
|
||||
|
||||
static struct usb_driver mt76x0_driver = {
|
||||
|
|
|
|||
|
|
@ -22,7 +22,6 @@
|
|||
|
||||
#define MCU_FW_URB_MAX_PAYLOAD 0x38f8
|
||||
#define MCU_FW_URB_SIZE (MCU_FW_URB_MAX_PAYLOAD + 12)
|
||||
#define MT7610U_FIRMWARE "mediatek/mt7610u.bin"
|
||||
|
||||
static int
|
||||
mt76x0u_upload_firmware(struct mt76x02_dev *dev,
|
||||
|
|
@ -75,6 +74,24 @@ out:
|
|||
return err;
|
||||
}
|
||||
|
||||
static int mt76x0_get_firmware(struct mt76x02_dev *dev,
|
||||
const struct firmware **fw)
|
||||
{
|
||||
int err;
|
||||
|
||||
/* try to load mt7610e fw if available
|
||||
* otherwise fall back to mt7610u one
|
||||
*/
|
||||
err = firmware_request_nowarn(fw, MT7610E_FIRMWARE, dev->mt76.dev);
|
||||
if (err) {
|
||||
dev_info(dev->mt76.dev, "%s not found, switching to %s",
|
||||
MT7610E_FIRMWARE, MT7610U_FIRMWARE);
|
||||
return request_firmware(fw, MT7610U_FIRMWARE,
|
||||
dev->mt76.dev);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int mt76x0u_load_firmware(struct mt76x02_dev *dev)
|
||||
{
|
||||
const struct firmware *fw;
|
||||
|
|
@ -88,7 +105,7 @@ static int mt76x0u_load_firmware(struct mt76x02_dev *dev)
|
|||
if (mt76x0_firmware_running(dev))
|
||||
return 0;
|
||||
|
||||
ret = request_firmware(&fw, MT7610U_FIRMWARE, dev->mt76.dev);
|
||||
ret = mt76x0_get_firmware(dev, &fw);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
|
|
@ -171,5 +188,3 @@ int mt76x0u_mcu_init(struct mt76x02_dev *dev)
|
|||
|
||||
return 0;
|
||||
}
|
||||
|
||||
MODULE_FIRMWARE(MT7610U_FIRMWARE);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue