soc/mediatek: Eliminate redundant calls to get_pmif_controller()

It is unnecessary to look up PMIF controller by mstid in multiple
functions. Just pass `arb` to these functions in order to avoid
redundant calls to get_pmif_controller().

BUG=none
TEST=compiled

Change-Id: I907d6ff029827e4afe4f1d05e39c8dd662c7c45e
Signed-off-by: Yidi Lin <yidilin@chromium.org>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85327
Reviewed-by: Yu-Ping Wu <yupingso@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
Yidi Lin 2024-11-26 23:03:48 +08:00
commit 7f36241461
5 changed files with 14 additions and 22 deletions

View file

@ -95,5 +95,5 @@ extern const size_t spmi_dev_cnt;
int pmif_spmi_init(struct pmif *arb);
int spmi_config_master(void);
void pmif_spmi_iocfg(void);
void pmif_spmi_config(struct pmif *arb, int mstid);
void pmif_spmi_config(struct pmif *arb);
#endif /* __SOC_MEDIATEK_PMIF_SPMI_H__ */

View file

@ -22,7 +22,7 @@ DEFINE_BIT(SPI_EINT_MODE_GATING_EN, 13)
DEFINE_BITFIELD(SPM_SLEEP_REQ_SEL, 1, 0)
DEFINE_BITFIELD(SCP_SLEEP_REQ_SEL, 10, 9)
__weak void pmif_spmi_config(struct pmif *arb, int mstid)
__weak void pmif_spmi_config(struct pmif *arb)
{
/* Do nothing. */
}
@ -94,10 +94,8 @@ static int spmi_mst_init(struct pmif *pmif_arb)
return 0;
}
static void pmif_spmi_force_normal_mode(int mstid)
static void pmif_spmi_force_normal_mode(struct pmif *arb)
{
struct pmif *arb = get_pmif_controller(PMIF_SPMI, mstid);
/* listen srclken_0 only for entering normal or sleep mode */
SET32_BITFIELDS(&arb->mtk_pmif->spi_mode_ctrl,
SPI_MODE_CTRL, 0,
@ -110,27 +108,21 @@ static void pmif_spmi_force_normal_mode(int mstid)
SCP_SLEEP_REQ_SEL, 0);
}
static void pmif_spmi_enable_swinf(int mstid)
static void pmif_spmi_enable_swinf(struct pmif *arb)
{
struct pmif *arb = get_pmif_controller(PMIF_SPMI, mstid);
write32(&arb->mtk_pmif->inf_en, PMIF_SPMI_SW_CHAN);
write32(&arb->mtk_pmif->arb_en, PMIF_SPMI_SW_CHAN);
}
static void pmif_spmi_enable_cmdIssue(int mstid, bool en)
static void pmif_spmi_enable_cmdIssue(struct pmif *arb, bool en)
{
struct pmif *arb = get_pmif_controller(PMIF_SPMI, mstid);
/* Enable cmdIssue */
write32(&arb->mtk_pmif->cmdissue_en, en);
}
static void pmif_spmi_enable(int mstid)
static void pmif_spmi_enable(struct pmif *arb)
{
struct pmif *arb = get_pmif_controller(PMIF_SPMI, mstid);
pmif_spmi_config(arb, mstid);
pmif_spmi_config(arb);
/*
* set bytecnt max limitation.
@ -161,10 +153,10 @@ static void pmif_spmi_enable(int mstid)
int pmif_spmi_init(struct pmif *arb)
{
if (arb->is_pmif_init_done(arb) != 0) {
pmif_spmi_force_normal_mode(arb->mstid);
pmif_spmi_enable_swinf(arb->mstid);
pmif_spmi_enable_cmdIssue(arb->mstid, true);
pmif_spmi_enable(arb->mstid);
pmif_spmi_force_normal_mode(arb);
pmif_spmi_enable_swinf(arb);
pmif_spmi_enable_cmdIssue(arb, true);
pmif_spmi_enable(arb);
if (arb->is_pmif_init_done(arb))
return -E_NODEV;
}

View file

@ -61,7 +61,7 @@ int spmi_config_master(void)
return 0;
}
void pmif_spmi_config(struct pmif *arb, int mstid)
void pmif_spmi_config(struct pmif *arb)
{
u32 cmd_per;

View file

@ -56,7 +56,7 @@ int spmi_config_master(void)
return 0;
}
void pmif_spmi_config(struct pmif *arb, int mstid)
void pmif_spmi_config(struct pmif *arb)
{
u32 cmd_per;

View file

@ -66,7 +66,7 @@ int spmi_config_master(void)
return 0;
}
void pmif_spmi_config(struct pmif *arb, int mstid)
void pmif_spmi_config(struct pmif *arb)
{
u32 cmd_per;