1
0
Fork 0

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>
hifive-unleashed-5.1
Arend Van Spriel 2017-12-19 13:47:12 +01:00 committed by Kalle Valo
parent 99d7b6fdfc
commit bcadaaa097
1 changed files with 4 additions and 3 deletions

View File

@ -3772,15 +3772,16 @@ static u32 brcmf_sdio_buscore_read32(void *ctx, u32 addr)
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;
}