diff options
Diffstat (limited to 'package/kernel/mac80211/patches/327-v4.17-0002-brcmfmac-use-brcmf_chip_name-to-store-name-in-revinf.patch')
-rw-r--r-- | package/kernel/mac80211/patches/327-v4.17-0002-brcmfmac-use-brcmf_chip_name-to-store-name-in-revinf.patch | 203 |
1 files changed, 0 insertions, 203 deletions
diff --git a/package/kernel/mac80211/patches/327-v4.17-0002-brcmfmac-use-brcmf_chip_name-to-store-name-in-revinf.patch b/package/kernel/mac80211/patches/327-v4.17-0002-brcmfmac-use-brcmf_chip_name-to-store-name-in-revinf.patch deleted file mode 100644 index 790811957a..0000000000 --- a/package/kernel/mac80211/patches/327-v4.17-0002-brcmfmac-use-brcmf_chip_name-to-store-name-in-revinf.patch +++ /dev/null @@ -1,203 +0,0 @@ -From 756a2b390874d274f2f615921318ef0856ff9313 Mon Sep 17 00:00:00 2001 -From: Arend Van Spriel <arend.vanspriel@broadcom.com> -Date: Thu, 22 Mar 2018 21:28:21 +0100 -Subject: [PATCH] brcmfmac: use brcmf_chip_name() to store name in revinfo - -The chip id can either be four or five digits. For the chip name either -the hexadecimal value needs to be taken (four digits) or the decimal -value (five digits). The function brcmf_chip_name() does this conversion -so use it to store the name in driver revision info. - -Reviewed-by: Hante Meuleman <hante.meuleman@broadcom.com> -Reviewed-by: Pieter-Paul Giesberts <pieter-paul.giesberts@broadcom.com> -Reviewed-by: Franky Lin <franky.lin@broadcom.com> -Signed-off-by: Arend van Spriel <arend.vanspriel@broadcom.com> -Signed-off-by: Kalle Valo <kvalo@codeaurora.org> ---- - .../wireless/broadcom/brcm80211/brcmfmac/chip.c | 9 +++++---- - .../wireless/broadcom/brcm80211/brcmfmac/chip.h | 3 ++- - .../wireless/broadcom/brcm80211/brcmfmac/common.c | 23 ++++++++++++++++------ - .../wireless/broadcom/brcm80211/brcmfmac/core.c | 10 +--------- - .../wireless/broadcom/brcm80211/brcmfmac/core.h | 3 +-- - 5 files changed, 26 insertions(+), 22 deletions(-) - ---- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c -+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c -@@ -464,12 +464,12 @@ static void brcmf_chip_ai_resetcore(stru - ci->ops->read32(ci->ctx, core->wrapbase + BCMA_IOCTL); - } - --static char *brcmf_chip_name(uint chipid, char *buf, uint len) -+char *brcmf_chip_name(u32 id, u32 rev, char *buf, uint len) - { - const char *fmt; - -- fmt = ((chipid > 0xa000) || (chipid < 0x4000)) ? "%d" : "%x"; -- snprintf(buf, len, fmt, chipid); -+ fmt = ((id > 0xa000) || (id < 0x4000)) ? "BCM%d/%u" : "BCM%x/%u"; -+ snprintf(buf, len, fmt, id, rev); - return buf; - } - -@@ -924,7 +924,8 @@ static int brcmf_chip_recognition(struct - ci->pub.chiprev = (regdata & CID_REV_MASK) >> CID_REV_SHIFT; - socitype = (regdata & CID_TYPE_MASK) >> CID_TYPE_SHIFT; - -- brcmf_chip_name(ci->pub.chip, ci->pub.name, sizeof(ci->pub.name)); -+ brcmf_chip_name(ci->pub.chip, ci->pub.chiprev, -+ ci->pub.name, sizeof(ci->pub.name)); - brcmf_dbg(INFO, "found %s chip: BCM%s, rev=%d\n", - socitype == SOCI_SB ? "SB" : "AXI", ci->pub.name, - ci->pub.chiprev); ---- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.h -+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.h -@@ -45,7 +45,7 @@ struct brcmf_chip { - u32 rambase; - u32 ramsize; - u32 srsize; -- char name[8]; -+ char name[12]; - }; - - /** -@@ -93,5 +93,6 @@ void brcmf_chip_resetcore(struct brcmf_c - void brcmf_chip_set_passive(struct brcmf_chip *ci); - bool brcmf_chip_set_active(struct brcmf_chip *ci, u32 rstvec); - bool brcmf_chip_sr_capable(struct brcmf_chip *pub); -+char *brcmf_chip_name(u32 chipid, u32 chiprev, char *buf, uint len); - - #endif /* BRCMF_AXIDMP_H */ ---- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c -+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c -@@ -30,6 +30,7 @@ - #include "common.h" - #include "of.h" - #include "firmware.h" -+#include "chip.h" - - MODULE_AUTHOR("Broadcom Corporation"); - MODULE_DESCRIPTION("Broadcom 802.11 wireless LAN fullmac driver."); -@@ -131,14 +132,13 @@ static int brcmf_c_download(struct brcmf - static int brcmf_c_get_clm_name(struct brcmf_if *ifp, u8 *clm_name) - { - struct brcmf_bus *bus = ifp->drvr->bus_if; -- struct brcmf_rev_info *ri = &ifp->drvr->revinfo; - u8 fw_name[BRCMF_FW_NAME_LEN]; - u8 *ptr; - size_t len; - s32 err; - - memset(fw_name, 0, BRCMF_FW_NAME_LEN); -- err = brcmf_bus_get_fwname(bus, ri->chipnum, ri->chiprev, fw_name); -+ err = brcmf_bus_get_fwname(bus, bus->chip, bus->chiprev, fw_name); - if (err) { - brcmf_err("get firmware name failed (%d)\n", err); - goto done; -@@ -238,6 +238,7 @@ int brcmf_c_preinit_dcmds(struct brcmf_i - { - s8 eventmask[BRCMF_EVENTING_MASK_LEN]; - u8 buf[BRCMF_DCMD_SMLEN]; -+ struct brcmf_bus *bus; - struct brcmf_rev_info_le revinfo; - struct brcmf_rev_info *ri; - char *clmver; -@@ -253,16 +254,18 @@ int brcmf_c_preinit_dcmds(struct brcmf_i - } - memcpy(ifp->drvr->mac, ifp->mac_addr, sizeof(ifp->drvr->mac)); - -+ bus = ifp->drvr->bus_if; -+ ri = &ifp->drvr->revinfo; -+ - err = brcmf_fil_cmd_data_get(ifp, BRCMF_C_GET_REVINFO, - &revinfo, sizeof(revinfo)); -- ri = &ifp->drvr->revinfo; - if (err < 0) { - brcmf_err("retrieving revision info failed, %d\n", err); -+ strlcpy(ri->chipname, "UNKNOWN", sizeof(ri->chipname)); - } else { - ri->vendorid = le32_to_cpu(revinfo.vendorid); - ri->deviceid = le32_to_cpu(revinfo.deviceid); - ri->radiorev = le32_to_cpu(revinfo.radiorev); -- ri->chiprev = le32_to_cpu(revinfo.chiprev); - ri->corerev = le32_to_cpu(revinfo.corerev); - ri->boardid = le32_to_cpu(revinfo.boardid); - ri->boardvendor = le32_to_cpu(revinfo.boardvendor); -@@ -270,15 +273,23 @@ int brcmf_c_preinit_dcmds(struct brcmf_i - ri->driverrev = le32_to_cpu(revinfo.driverrev); - ri->ucoderev = le32_to_cpu(revinfo.ucoderev); - ri->bus = le32_to_cpu(revinfo.bus); -- ri->chipnum = le32_to_cpu(revinfo.chipnum); - ri->phytype = le32_to_cpu(revinfo.phytype); - ri->phyrev = le32_to_cpu(revinfo.phyrev); - ri->anarev = le32_to_cpu(revinfo.anarev); - ri->chippkg = le32_to_cpu(revinfo.chippkg); - ri->nvramrev = le32_to_cpu(revinfo.nvramrev); -+ -+ if (!bus->chip) { -+ bus->chip = le32_to_cpu(revinfo.chipnum); -+ bus->chiprev = le32_to_cpu(revinfo.chiprev); -+ } - } - ri->result = err; - -+ if (bus->chip) -+ brcmf_chip_name(bus->chip, bus->chiprev, -+ ri->chipname, sizeof(ri->chipname)); -+ - /* Do any CLM downloading */ - err = brcmf_c_process_clm_blob(ifp); - if (err < 0) { -@@ -299,7 +310,7 @@ int brcmf_c_preinit_dcmds(struct brcmf_i - strsep(&ptr, "\n"); - - /* Print fw version info */ -- brcmf_info("Firmware version = %s\n", buf); -+ brcmf_info("Firmware: %s %s\n", ri->chipname, buf); - - /* locate firmware version number for ethtool */ - ptr = strrchr(buf, ' ') + 1; ---- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c -+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c -@@ -1002,8 +1002,7 @@ static int brcmf_revinfo_read(struct seq - seq_printf(s, "vendorid: 0x%04x\n", ri->vendorid); - seq_printf(s, "deviceid: 0x%04x\n", ri->deviceid); - seq_printf(s, "radiorev: %s\n", brcmu_dotrev_str(ri->radiorev, drev)); -- seq_printf(s, "chipnum: %u (%x)\n", ri->chipnum, ri->chipnum); -- seq_printf(s, "chiprev: %u\n", ri->chiprev); -+ seq_printf(s, "chip: %s\n", ri->chipname); - seq_printf(s, "chippkg: %u\n", ri->chippkg); - seq_printf(s, "corerev: %u\n", ri->corerev); - seq_printf(s, "boardid: 0x%04x\n", ri->boardid); -@@ -1053,13 +1052,6 @@ static int brcmf_bus_started(struct brcm - - brcmf_debugfs_add_entry(drvr, "revinfo", brcmf_revinfo_read); - -- /* assure we have chipid before feature attach */ -- if (!bus_if->chip) { -- bus_if->chip = drvr->revinfo.chipnum; -- bus_if->chiprev = drvr->revinfo.chiprev; -- brcmf_dbg(INFO, "firmware revinfo: chip %x (%d) rev %d\n", -- bus_if->chip, bus_if->chip, bus_if->chiprev); -- } - brcmf_feat_attach(drvr); - - ret = brcmf_proto_init_done(drvr); ---- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.h -+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.h -@@ -87,7 +87,6 @@ struct brcmf_rev_info { - u32 vendorid; - u32 deviceid; - u32 radiorev; -- u32 chiprev; - u32 corerev; - u32 boardid; - u32 boardvendor; -@@ -95,7 +94,7 @@ struct brcmf_rev_info { - u32 driverrev; - u32 ucoderev; - u32 bus; -- u32 chipnum; -+ char chipname[12]; - u32 phytype; - u32 phyrev; - u32 anarev; |