You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
40 lines
1.5 KiB
40 lines
1.5 KiB
From bcadaaa097c7ec103fe75f9da41f8fe52693b644 Mon Sep 17 00:00:00 2001
|
|
From: Arend Van Spriel <arend.vanspriel@broadcom.com>
|
|
Date: Tue, 19 Dec 2017 13:47:12 +0100
|
|
Subject: [PATCH] brcmfmac: More efficient and slightly easier to read fixup
|
|
for 4339 chips
|
|
|
|
Its more efficient to test the register we're interested in first,
|
|
potentially avoiding two more comparisons, and therefore always avoiding
|
|
one comparison per call on all other chips.
|
|
|
|
Signed-off-by: Ian Molton <ian@mnementh.co.uk>
|
|
[arend: fix some checkpatch warnings]
|
|
Signed-off-by: Arend van Spriel <arend.vanspriel@broadcom.com>
|
|
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
|
---
|
|
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c | 7 ++++---
|
|
1 file changed, 4 insertions(+), 3 deletions(-)
|
|
|
|
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
|
|
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
|
|
@@ -3772,15 +3772,16 @@ static u32 brcmf_sdio_buscore_read32(voi
|
|
|
|
val = brcmf_sdiod_readl(sdiodev, addr, NULL);
|
|
|
|
- if ((sdiodev->func[1]->device == SDIO_DEVICE_ID_BROADCOM_4335_4339 ||
|
|
- sdiodev->func[1]->device == SDIO_DEVICE_ID_BROADCOM_4339) &&
|
|
- addr == CORE_CC_REG(SI_ENUM_BASE, chipid)) {
|
|
+ if (addr == CORE_CC_REG(SI_ENUM_BASE, chipid) &&
|
|
+ (sdiodev->func[1]->device == SDIO_DEVICE_ID_BROADCOM_4339 ||
|
|
+ sdiodev->func[1]->device == SDIO_DEVICE_ID_BROADCOM_4335_4339)) {
|
|
rev = (val & CID_REV_MASK) >> CID_REV_SHIFT;
|
|
if (rev >= 2) {
|
|
val &= ~CID_ID_MASK;
|
|
val |= BRCM_CC_4339_CHIP_ID;
|
|
}
|
|
}
|
|
+
|
|
return val;
|
|
}
|
|
|
|
|