On 11/12/2018 6:16, Arend van Spriel wrote: > On 11/12/2018 8:29 AM, Chi-Hsien Lin wrote: >> 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. > > One question. This only assures the GCI core is listed. So does the > driver need to access it for ULP operation? Yes, the GCI core registers are accessed when entering/exiting ULP sleep modes. There will be other patches for the ULP support. Regards, Chi-hsien Lin > > Regards, > Arend > >> Reviewed-by: Arend van Spriel <arend.vanspriel@xxxxxxxxxxxx> >> Signed-off-by: Chi-Hsien Lin <chi-hsien.lin@xxxxxxxxxxx> >> --- >> drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c | 14 >> ++++++++------ >> 1 file changed, 8 insertions(+), 6 deletions(-) >> >> diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c >> b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c >> index a3c857721446..a8d3b96b727f 100644 >> --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c >> +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c >> @@ -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 */ >> > > > > ---------- > > You're receiving this message because you're a member of the > brcm80211-dev-list group. > . >