mirror of
https://github.com/torvalds/linux.git
synced 2024-12-25 04:11:49 +00:00
mt76: report firmware version using ethtool
print fw_ver and build_ver members of struct mt76x02_fw_header, similarly to what appears in the output of 'dmesg' when the MCU firmware is loaded. Reported-by: Sid Hayn <sidhayn@gmail.com> Signed-off-by: Davide Caratti <dcaratti@redhat.com> Signed-off-by: Felix Fietkau <nbd@nbd.name>
This commit is contained in:
parent
db6bb5c6c1
commit
22509324c5
@ -178,6 +178,7 @@ static int mt76x0u_load_firmware(struct mt76x0_dev *dev)
|
||||
mt76_wr(dev, MT_USB_DMA_CFG, val);
|
||||
|
||||
ret = mt76x0u_upload_firmware(dev, hdr);
|
||||
mt76x02_set_ethtool_fwver(&dev->mt76, hdr);
|
||||
release_firmware(fw);
|
||||
|
||||
mt76_wr(dev, MT_FCE_PSE_CTRL, 1);
|
||||
|
@ -211,3 +211,16 @@ int mt76x02_mcu_cleanup(struct mt76_dev *dev)
|
||||
return 0;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(mt76x02_mcu_cleanup);
|
||||
|
||||
void mt76x02_set_ethtool_fwver(struct mt76_dev *dev,
|
||||
const struct mt76x02_fw_header *h)
|
||||
{
|
||||
u16 bld = le16_to_cpu(h->build_ver);
|
||||
u16 ver = le16_to_cpu(h->fw_ver);
|
||||
|
||||
snprintf(dev->hw->wiphy->fw_version,
|
||||
sizeof(dev->hw->wiphy->fw_version),
|
||||
"%d.%d.%02d-b%x",
|
||||
(ver >> 12) & 0xf, (ver >> 8) & 0xf, ver & 0xf, bld);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(mt76x02_set_ethtool_fwver);
|
||||
|
@ -105,5 +105,7 @@ int mt76x02_mcu_function_select(struct mt76_dev *dev,
|
||||
u32 val, bool wait_resp);
|
||||
int mt76x02_mcu_set_radio_state(struct mt76_dev *dev, bool on,
|
||||
bool wait_resp);
|
||||
void mt76x02_set_ethtool_fwver(struct mt76_dev *dev,
|
||||
const struct mt76x02_fw_header *h);
|
||||
|
||||
#endif /* __MT76x02_MCU_H */
|
||||
|
@ -154,6 +154,7 @@ mt76pci_load_firmware(struct mt76x2_dev *dev)
|
||||
}
|
||||
|
||||
dev_info(dev->mt76.dev, "Firmware running!\n");
|
||||
mt76x02_set_ethtool_fwver(&dev->mt76, hdr);
|
||||
|
||||
release_firmware(fw);
|
||||
|
||||
|
@ -261,6 +261,7 @@ static int mt76x2u_mcu_load_firmware(struct mt76x2_dev *dev)
|
||||
/* enable FCE to send in-band cmd */
|
||||
mt76_wr(dev, MT_FCE_PSE_CTRL, 0x1);
|
||||
dev_dbg(dev->mt76.dev, "firmware running\n");
|
||||
mt76x02_set_ethtool_fwver(&dev->mt76, hdr);
|
||||
|
||||
out:
|
||||
release_firmware(fw);
|
||||
|
Loading…
Reference in New Issue
Block a user