Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bcadaaa0 authored by Arend Van Spriel's avatar Arend Van Spriel Committed by Kalle Valo
Browse files

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: default avatarIan Molton <ian@mnementh.co.uk>
[arend: fix some checkpatch warnings]
Signed-off-by: default avatarArend van Spriel <arend.vanspriel@broadcom.com>
Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
parent 99d7b6fd
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -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;
}