mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-30 02:46:55 +07:00
brcmsmac: remove si_pmu_init() and si_pmu_res_init()
This is already done by bcma_pmu_init() and bcma_pmu_resources_init() in bcma. Acked-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
40bd94ce32
commit
4d22641b92
@ -503,9 +503,7 @@ static struct si_info *ai_doattach(struct si_info *sii,
|
||||
|
||||
/* PMU specific initializations */
|
||||
if (ai_get_cccaps(sih) & CC_CAP_PMU) {
|
||||
si_pmu_init(sih);
|
||||
(void)si_pmu_measure_alpclk(sih);
|
||||
si_pmu_res_init(sih);
|
||||
}
|
||||
|
||||
/* setup the GPIO based LED powersave register */
|
||||
|
@ -108,37 +108,6 @@
|
||||
#define RES4313_HT_AVAIL_RSRC 14
|
||||
#define RES4313_MACPHY_CLK_AVAIL_RSRC 15
|
||||
|
||||
/* Determine min/max rsrc masks. Value 0 leaves hardware at default. */
|
||||
static void si_pmu_res_masks(struct si_pub *sih, u32 * pmin, u32 * pmax)
|
||||
{
|
||||
u32 min_mask = 0, max_mask = 0;
|
||||
uint rsrcs;
|
||||
|
||||
/* # resources */
|
||||
rsrcs = (ai_get_pmucaps(sih) & PCAP_RC_MASK) >> PCAP_RC_SHIFT;
|
||||
|
||||
/* determine min/max rsrc masks */
|
||||
switch (ai_get_chip_id(sih)) {
|
||||
case BCM43224_CHIP_ID:
|
||||
case BCM43225_CHIP_ID:
|
||||
/* ??? */
|
||||
break;
|
||||
|
||||
case BCM4313_CHIP_ID:
|
||||
min_mask = PMURES_BIT(RES4313_BB_PU_RSRC) |
|
||||
PMURES_BIT(RES4313_XTAL_PU_RSRC) |
|
||||
PMURES_BIT(RES4313_ALP_AVAIL_RSRC) |
|
||||
PMURES_BIT(RES4313_BB_PLL_PWRSW_RSRC);
|
||||
max_mask = 0xffff;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
*pmin = min_mask;
|
||||
*pmax = max_mask;
|
||||
}
|
||||
|
||||
void si_pmu_spuravoid_pllupdate(struct si_pub *sih, u8 spuravoid)
|
||||
{
|
||||
u32 tmp = 0;
|
||||
@ -284,51 +253,6 @@ u32 si_pmu_alp_clock(struct si_pub *sih)
|
||||
return clock;
|
||||
}
|
||||
|
||||
/* initialize PMU */
|
||||
void si_pmu_init(struct si_pub *sih)
|
||||
{
|
||||
struct si_info *sii = container_of(sih, struct si_info, pub);
|
||||
struct bcma_device *core;
|
||||
|
||||
/* select chipc */
|
||||
core = sii->icbus->drv_cc.core;
|
||||
|
||||
if (ai_get_pmurev(sih) == 1)
|
||||
bcma_mask32(core, CHIPCREGOFFS(pmucontrol),
|
||||
~PCTL_NOILP_ON_WAIT);
|
||||
else if (ai_get_pmurev(sih) >= 2)
|
||||
bcma_set32(core, CHIPCREGOFFS(pmucontrol), PCTL_NOILP_ON_WAIT);
|
||||
}
|
||||
|
||||
/* initialize PMU resources */
|
||||
void si_pmu_res_init(struct si_pub *sih)
|
||||
{
|
||||
struct si_info *sii = container_of(sih, struct si_info, pub);
|
||||
struct bcma_device *core;
|
||||
u32 min_mask = 0, max_mask = 0;
|
||||
|
||||
/* select to chipc */
|
||||
core = sii->icbus->drv_cc.core;
|
||||
|
||||
/* Determine min/max rsrc masks */
|
||||
si_pmu_res_masks(sih, &min_mask, &max_mask);
|
||||
|
||||
/* It is required to program max_mask first and then min_mask */
|
||||
|
||||
/* Program max resource mask */
|
||||
|
||||
if (max_mask)
|
||||
bcma_write32(core, CHIPCREGOFFS(max_res_mask), max_mask);
|
||||
|
||||
/* Program min resource mask */
|
||||
|
||||
if (min_mask)
|
||||
bcma_write32(core, CHIPCREGOFFS(min_res_mask), min_mask);
|
||||
|
||||
/* Add some delay; allow resources to come up and settle. */
|
||||
mdelay(2);
|
||||
}
|
||||
|
||||
u32 si_pmu_measure_alpclk(struct si_pub *sih)
|
||||
{
|
||||
struct si_info *sii = container_of(sih, struct si_info, pub);
|
||||
|
@ -28,8 +28,6 @@ extern u32 si_pmu_alp_clock(struct si_pub *sih);
|
||||
extern void si_pmu_pllupd(struct si_pub *sih);
|
||||
extern void si_pmu_spuravoid_pllupdate(struct si_pub *sih, u8 spuravoid);
|
||||
extern u32 si_pmu_pllcontrol(struct si_pub *sih, uint reg, u32 mask, u32 val);
|
||||
extern void si_pmu_init(struct si_pub *sih);
|
||||
extern void si_pmu_res_init(struct si_pub *sih);
|
||||
extern u32 si_pmu_measure_alpclk(struct si_pub *sih);
|
||||
|
||||
#endif /* _BRCM_PMU_H_ */
|
||||
|
Loading…
Reference in New Issue
Block a user