mirror of
https://github.com/torvalds/linux.git
synced 2024-12-03 17:41:22 +00:00
brcmfmac: allow GCI core enumuration
GCI core is needed for ULP operation. Allow GCI core enumuration with below changes: - Allow GCI to be added to core list even when it doesn't have a wrapper. - Allow 8K address space size. - Don't overwrite the address value when an additional size descriptor is in place. Reviewed-by: Arend van Spriel <arend.vanspriel@broadcom.com> Signed-off-by: Chi-Hsien Lin <chi-hsien.lin@cypress.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
This commit is contained in:
parent
35cb51b216
commit
b021a6bc11
@ -786,7 +786,7 @@ static int brcmf_chip_dmp_get_regaddr(struct brcmf_chip_priv *ci, u32 *eromaddr,
|
||||
u32 *regbase, u32 *wrapbase)
|
||||
{
|
||||
u8 desc;
|
||||
u32 val;
|
||||
u32 val, szdesc;
|
||||
u8 mpnum = 0;
|
||||
u8 stype, sztype, wraptype;
|
||||
|
||||
@ -832,14 +832,15 @@ static int brcmf_chip_dmp_get_regaddr(struct brcmf_chip_priv *ci, u32 *eromaddr,
|
||||
|
||||
/* next size descriptor can be skipped */
|
||||
if (sztype == DMP_SLAVE_SIZE_DESC) {
|
||||
val = brcmf_chip_dmp_get_desc(ci, eromaddr, NULL);
|
||||
szdesc = brcmf_chip_dmp_get_desc(ci, eromaddr, NULL);
|
||||
/* skip upper size descriptor if present */
|
||||
if (val & DMP_DESC_ADDRSIZE_GT32)
|
||||
if (szdesc & DMP_DESC_ADDRSIZE_GT32)
|
||||
brcmf_chip_dmp_get_desc(ci, eromaddr, NULL);
|
||||
}
|
||||
|
||||
/* only look for 4K register regions */
|
||||
if (sztype != DMP_SLAVE_SIZE_4K)
|
||||
/* look for 4K or 8K register regions */
|
||||
if (sztype != DMP_SLAVE_SIZE_4K &&
|
||||
sztype != DMP_SLAVE_SIZE_8K)
|
||||
continue;
|
||||
|
||||
stype = (val & DMP_SLAVE_TYPE) >> DMP_SLAVE_TYPE_S;
|
||||
@ -896,7 +897,8 @@ int brcmf_chip_dmp_erom_scan(struct brcmf_chip_priv *ci)
|
||||
|
||||
/* need core with ports */
|
||||
if (nmw + nsw == 0 &&
|
||||
id != BCMA_CORE_PMU)
|
||||
id != BCMA_CORE_PMU &&
|
||||
id != BCMA_CORE_GCI)
|
||||
continue;
|
||||
|
||||
/* try to obtain register address info */
|
||||
|
Loading…
Reference in New Issue
Block a user