brcmfmac: rename chip download functions
The functions brcmf_chip_[enter/exit]_download() are not exclusively used for firmware download so rename these more appropriate. Reviewed-by: Hante Meuleman <meuleman@broadcom.com> Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
This commit is contained in:
parent
5ded1c251f
commit
d380ebc9b6
4 changed files with 30 additions and 31 deletions
|
@ -807,7 +807,7 @@ struct brcmf_chip *brcmf_chip_attach(void *ctx,
|
||||||
err = -EINVAL;
|
err = -EINVAL;
|
||||||
if (WARN_ON(!ops->prepare))
|
if (WARN_ON(!ops->prepare))
|
||||||
err = -EINVAL;
|
err = -EINVAL;
|
||||||
if (WARN_ON(!ops->exit_dl))
|
if (WARN_ON(!ops->activate))
|
||||||
err = -EINVAL;
|
err = -EINVAL;
|
||||||
if (err < 0)
|
if (err < 0)
|
||||||
return ERR_PTR(-EINVAL);
|
return ERR_PTR(-EINVAL);
|
||||||
|
@ -905,7 +905,7 @@ void brcmf_chip_resetcore(struct brcmf_core *pub, u32 prereset, u32 reset,
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
brcmf_chip_cm3_enterdl(struct brcmf_chip_priv *chip)
|
brcmf_chip_cm3_set_passive(struct brcmf_chip_priv *chip)
|
||||||
{
|
{
|
||||||
struct brcmf_core *core;
|
struct brcmf_core *core;
|
||||||
|
|
||||||
|
@ -919,7 +919,7 @@ brcmf_chip_cm3_enterdl(struct brcmf_chip_priv *chip)
|
||||||
brcmf_chip_resetcore(core, 0, 0, 0);
|
brcmf_chip_resetcore(core, 0, 0, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool brcmf_chip_cm3_exitdl(struct brcmf_chip_priv *chip)
|
static bool brcmf_chip_cm3_set_active(struct brcmf_chip_priv *chip)
|
||||||
{
|
{
|
||||||
struct brcmf_core *core;
|
struct brcmf_core *core;
|
||||||
|
|
||||||
|
@ -929,7 +929,7 @@ static bool brcmf_chip_cm3_exitdl(struct brcmf_chip_priv *chip)
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
chip->ops->exit_dl(chip->ctx, &chip->pub, 0);
|
chip->ops->activate(chip->ctx, &chip->pub, 0);
|
||||||
|
|
||||||
core = brcmf_chip_get_core(&chip->pub, BCMA_CORE_ARM_CM3);
|
core = brcmf_chip_get_core(&chip->pub, BCMA_CORE_ARM_CM3);
|
||||||
brcmf_chip_resetcore(core, 0, 0, 0);
|
brcmf_chip_resetcore(core, 0, 0, 0);
|
||||||
|
@ -938,7 +938,7 @@ static bool brcmf_chip_cm3_exitdl(struct brcmf_chip_priv *chip)
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void
|
static inline void
|
||||||
brcmf_chip_cr4_enterdl(struct brcmf_chip_priv *chip)
|
brcmf_chip_cr4_set_passive(struct brcmf_chip_priv *chip)
|
||||||
{
|
{
|
||||||
struct brcmf_core *core;
|
struct brcmf_core *core;
|
||||||
|
|
||||||
|
@ -951,11 +951,11 @@ brcmf_chip_cr4_enterdl(struct brcmf_chip_priv *chip)
|
||||||
D11_BCMA_IOCTL_PHYCLOCKEN);
|
D11_BCMA_IOCTL_PHYCLOCKEN);
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool brcmf_chip_cr4_exitdl(struct brcmf_chip_priv *chip, u32 rstvec)
|
static bool brcmf_chip_cr4_set_active(struct brcmf_chip_priv *chip, u32 rstvec)
|
||||||
{
|
{
|
||||||
struct brcmf_core *core;
|
struct brcmf_core *core;
|
||||||
|
|
||||||
chip->ops->exit_dl(chip->ctx, &chip->pub, rstvec);
|
chip->ops->activate(chip->ctx, &chip->pub, rstvec);
|
||||||
|
|
||||||
/* restore ARM */
|
/* restore ARM */
|
||||||
core = brcmf_chip_get_core(&chip->pub, BCMA_CORE_ARM_CR4);
|
core = brcmf_chip_get_core(&chip->pub, BCMA_CORE_ARM_CR4);
|
||||||
|
@ -964,7 +964,7 @@ static bool brcmf_chip_cr4_exitdl(struct brcmf_chip_priv *chip, u32 rstvec)
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void brcmf_chip_enter_download(struct brcmf_chip *pub)
|
void brcmf_chip_set_passive(struct brcmf_chip *pub)
|
||||||
{
|
{
|
||||||
struct brcmf_chip_priv *chip;
|
struct brcmf_chip_priv *chip;
|
||||||
struct brcmf_core *arm;
|
struct brcmf_core *arm;
|
||||||
|
@ -974,14 +974,14 @@ void brcmf_chip_enter_download(struct brcmf_chip *pub)
|
||||||
chip = container_of(pub, struct brcmf_chip_priv, pub);
|
chip = container_of(pub, struct brcmf_chip_priv, pub);
|
||||||
arm = brcmf_chip_get_core(pub, BCMA_CORE_ARM_CR4);
|
arm = brcmf_chip_get_core(pub, BCMA_CORE_ARM_CR4);
|
||||||
if (arm) {
|
if (arm) {
|
||||||
brcmf_chip_cr4_enterdl(chip);
|
brcmf_chip_cr4_set_passive(chip);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
brcmf_chip_cm3_enterdl(chip);
|
brcmf_chip_cm3_set_passive(chip);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool brcmf_chip_exit_download(struct brcmf_chip *pub, u32 rstvec)
|
bool brcmf_chip_set_active(struct brcmf_chip *pub, u32 rstvec)
|
||||||
{
|
{
|
||||||
struct brcmf_chip_priv *chip;
|
struct brcmf_chip_priv *chip;
|
||||||
struct brcmf_core *arm;
|
struct brcmf_core *arm;
|
||||||
|
@ -991,9 +991,9 @@ bool brcmf_chip_exit_download(struct brcmf_chip *pub, u32 rstvec)
|
||||||
chip = container_of(pub, struct brcmf_chip_priv, pub);
|
chip = container_of(pub, struct brcmf_chip_priv, pub);
|
||||||
arm = brcmf_chip_get_core(pub, BCMA_CORE_ARM_CR4);
|
arm = brcmf_chip_get_core(pub, BCMA_CORE_ARM_CR4);
|
||||||
if (arm)
|
if (arm)
|
||||||
return brcmf_chip_cr4_exitdl(chip, rstvec);
|
return brcmf_chip_cr4_set_active(chip, rstvec);
|
||||||
|
|
||||||
return brcmf_chip_cm3_exitdl(chip);
|
return brcmf_chip_cm3_set_active(chip);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool brcmf_chip_sr_capable(struct brcmf_chip *pub)
|
bool brcmf_chip_sr_capable(struct brcmf_chip *pub)
|
||||||
|
|
|
@ -64,7 +64,7 @@ struct brcmf_core {
|
||||||
* @write32: write 32-bit value over bus.
|
* @write32: write 32-bit value over bus.
|
||||||
* @prepare: prepare bus for core configuration.
|
* @prepare: prepare bus for core configuration.
|
||||||
* @setup: bus-specific core setup.
|
* @setup: bus-specific core setup.
|
||||||
* @exit_dl: exit download state.
|
* @active: chip becomes active.
|
||||||
* The callback should use the provided @rstvec when non-zero.
|
* The callback should use the provided @rstvec when non-zero.
|
||||||
*/
|
*/
|
||||||
struct brcmf_buscore_ops {
|
struct brcmf_buscore_ops {
|
||||||
|
@ -72,7 +72,7 @@ struct brcmf_buscore_ops {
|
||||||
void (*write32)(void *ctx, u32 addr, u32 value);
|
void (*write32)(void *ctx, u32 addr, u32 value);
|
||||||
int (*prepare)(void *ctx);
|
int (*prepare)(void *ctx);
|
||||||
int (*setup)(void *ctx, struct brcmf_chip *chip);
|
int (*setup)(void *ctx, struct brcmf_chip *chip);
|
||||||
void (*exit_dl)(void *ctx, struct brcmf_chip *chip, u32 rstvec);
|
void (*activate)(void *ctx, struct brcmf_chip *chip, u32 rstvec);
|
||||||
};
|
};
|
||||||
|
|
||||||
struct brcmf_chip *brcmf_chip_attach(void *ctx,
|
struct brcmf_chip *brcmf_chip_attach(void *ctx,
|
||||||
|
@ -84,8 +84,8 @@ bool brcmf_chip_iscoreup(struct brcmf_core *core);
|
||||||
void brcmf_chip_coredisable(struct brcmf_core *core, u32 prereset, u32 reset);
|
void brcmf_chip_coredisable(struct brcmf_core *core, u32 prereset, u32 reset);
|
||||||
void brcmf_chip_resetcore(struct brcmf_core *core, u32 prereset, u32 reset,
|
void brcmf_chip_resetcore(struct brcmf_core *core, u32 prereset, u32 reset,
|
||||||
u32 postreset);
|
u32 postreset);
|
||||||
void brcmf_chip_enter_download(struct brcmf_chip *ci);
|
void brcmf_chip_set_passive(struct brcmf_chip *ci);
|
||||||
bool brcmf_chip_exit_download(struct brcmf_chip *ci, u32 rstvec);
|
bool brcmf_chip_set_active(struct brcmf_chip *ci, u32 rstvec);
|
||||||
bool brcmf_chip_sr_capable(struct brcmf_chip *pub);
|
bool brcmf_chip_sr_capable(struct brcmf_chip *pub);
|
||||||
|
|
||||||
#endif /* BRCMF_AXIDMP_H */
|
#endif /* BRCMF_AXIDMP_H */
|
||||||
|
|
|
@ -509,7 +509,7 @@ static void brcmf_pcie_attach(struct brcmf_pciedev_info *devinfo)
|
||||||
|
|
||||||
static int brcmf_pcie_enter_download_state(struct brcmf_pciedev_info *devinfo)
|
static int brcmf_pcie_enter_download_state(struct brcmf_pciedev_info *devinfo)
|
||||||
{
|
{
|
||||||
brcmf_chip_enter_download(devinfo->ci);
|
brcmf_chip_set_passive(devinfo->ci);
|
||||||
|
|
||||||
if (devinfo->ci->chip == BRCM_CC_43602_CHIP_ID) {
|
if (devinfo->ci->chip == BRCM_CC_43602_CHIP_ID) {
|
||||||
brcmf_pcie_select_core(devinfo, BCMA_CORE_ARM_CR4);
|
brcmf_pcie_select_core(devinfo, BCMA_CORE_ARM_CR4);
|
||||||
|
@ -536,7 +536,7 @@ static int brcmf_pcie_exit_download_state(struct brcmf_pciedev_info *devinfo,
|
||||||
brcmf_chip_resetcore(core, 0, 0, 0);
|
brcmf_chip_resetcore(core, 0, 0, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
return !brcmf_chip_exit_download(devinfo->ci, resetintr);
|
return !brcmf_chip_set_active(devinfo->ci, resetintr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1566,7 +1566,7 @@ static int brcmf_pcie_buscoreprep(void *ctx)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void brcmf_pcie_buscore_exitdl(void *ctx, struct brcmf_chip *chip,
|
static void brcmf_pcie_buscore_activate(void *ctx, struct brcmf_chip *chip,
|
||||||
u32 rstvec)
|
u32 rstvec)
|
||||||
{
|
{
|
||||||
struct brcmf_pciedev_info *devinfo = (struct brcmf_pciedev_info *)ctx;
|
struct brcmf_pciedev_info *devinfo = (struct brcmf_pciedev_info *)ctx;
|
||||||
|
@ -1577,7 +1577,7 @@ static void brcmf_pcie_buscore_exitdl(void *ctx, struct brcmf_chip *chip,
|
||||||
|
|
||||||
static const struct brcmf_buscore_ops brcmf_pcie_buscore_ops = {
|
static const struct brcmf_buscore_ops brcmf_pcie_buscore_ops = {
|
||||||
.prepare = brcmf_pcie_buscoreprep,
|
.prepare = brcmf_pcie_buscoreprep,
|
||||||
.exit_dl = brcmf_pcie_buscore_exitdl,
|
.activate = brcmf_pcie_buscore_activate,
|
||||||
.read32 = brcmf_pcie_buscore_read32,
|
.read32 = brcmf_pcie_buscore_read32,
|
||||||
.write32 = brcmf_pcie_buscore_write32,
|
.write32 = brcmf_pcie_buscore_write32,
|
||||||
};
|
};
|
||||||
|
|
|
@ -3357,7 +3357,7 @@ static int brcmf_sdio_download_firmware(struct brcmf_sdio *bus,
|
||||||
brcmf_sdio_clkctl(bus, CLK_AVAIL, false);
|
brcmf_sdio_clkctl(bus, CLK_AVAIL, false);
|
||||||
|
|
||||||
/* Keep arm in reset */
|
/* Keep arm in reset */
|
||||||
brcmf_chip_enter_download(bus->ci);
|
brcmf_chip_set_passive(bus->ci);
|
||||||
|
|
||||||
rstvec = get_unaligned_le32(fw->data);
|
rstvec = get_unaligned_le32(fw->data);
|
||||||
brcmf_dbg(SDIO, "firmware rstvec: %x\n", rstvec);
|
brcmf_dbg(SDIO, "firmware rstvec: %x\n", rstvec);
|
||||||
|
@ -3378,7 +3378,7 @@ static int brcmf_sdio_download_firmware(struct brcmf_sdio *bus,
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Take arm out of reset */
|
/* Take arm out of reset */
|
||||||
if (!brcmf_chip_exit_download(bus->ci, rstvec)) {
|
if (!brcmf_chip_set_active(bus->ci, rstvec)) {
|
||||||
brcmf_err("error getting out of ARM core reset\n");
|
brcmf_err("error getting out of ARM core reset\n");
|
||||||
goto err;
|
goto err;
|
||||||
}
|
}
|
||||||
|
@ -3771,7 +3771,7 @@ static int brcmf_sdio_buscoreprep(void *ctx)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void brcmf_sdio_buscore_exitdl(void *ctx, struct brcmf_chip *chip,
|
static void brcmf_sdio_buscore_activate(void *ctx, struct brcmf_chip *chip,
|
||||||
u32 rstvec)
|
u32 rstvec)
|
||||||
{
|
{
|
||||||
struct brcmf_sdio_dev *sdiodev = ctx;
|
struct brcmf_sdio_dev *sdiodev = ctx;
|
||||||
|
@ -3815,7 +3815,7 @@ static void brcmf_sdio_buscore_write32(void *ctx, u32 addr, u32 val)
|
||||||
|
|
||||||
static const struct brcmf_buscore_ops brcmf_sdio_buscore_ops = {
|
static const struct brcmf_buscore_ops brcmf_sdio_buscore_ops = {
|
||||||
.prepare = brcmf_sdio_buscoreprep,
|
.prepare = brcmf_sdio_buscoreprep,
|
||||||
.exit_dl = brcmf_sdio_buscore_exitdl,
|
.activate = brcmf_sdio_buscore_activate,
|
||||||
.read32 = brcmf_sdio_buscore_read32,
|
.read32 = brcmf_sdio_buscore_read32,
|
||||||
.write32 = brcmf_sdio_buscore_write32,
|
.write32 = brcmf_sdio_buscore_write32,
|
||||||
};
|
};
|
||||||
|
@ -4239,12 +4239,11 @@ void brcmf_sdio_remove(struct brcmf_sdio *bus)
|
||||||
sdio_claim_host(bus->sdiodev->func[1]);
|
sdio_claim_host(bus->sdiodev->func[1]);
|
||||||
brcmf_sdio_clkctl(bus, CLK_AVAIL, false);
|
brcmf_sdio_clkctl(bus, CLK_AVAIL, false);
|
||||||
/* Leave the device in state where it is
|
/* Leave the device in state where it is
|
||||||
* 'quiet'. This is done by putting it in
|
* 'passive'. This is done by resetting all
|
||||||
* download_state which essentially resets
|
* necessary cores.
|
||||||
* all necessary cores.
|
|
||||||
*/
|
*/
|
||||||
msleep(20);
|
msleep(20);
|
||||||
brcmf_chip_enter_download(bus->ci);
|
brcmf_chip_set_passive(bus->ci);
|
||||||
brcmf_sdio_clkctl(bus, CLK_NONE, false);
|
brcmf_sdio_clkctl(bus, CLK_NONE, false);
|
||||||
sdio_release_host(bus->sdiodev->func[1]);
|
sdio_release_host(bus->sdiodev->func[1]);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue