Skip to content

Commit 7cf9db2

Browse files
author
AngeloGioacchino Del Regno
committed
soc: mediatek: mtk-dvfsrc: Write bandwidth to EMI DDR if present
In preparation for adding support for DVFSRC Version 4, add a new `has_emi_ddr` member to struct dvfsrc_soc_data: if true, write the DRAM bandwidth both to the BW_AVG and to the newly defined EMI_BW register, present only on DVFSRC v4. Currently supported SoCs will not use this, as has_emi_ddr is left out from their platform data, hence reading false. Signed-off-by: Nicolas Frattaroli <nicolas.frattaroli@collabora.com> Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
1 parent ddb5862 commit 7cf9db2

1 file changed

Lines changed: 5 additions & 0 deletions

File tree

drivers/soc/mediatek/mtk-dvfsrc.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ struct mtk_dvfsrc {
7272

7373
struct dvfsrc_soc_data {
7474
const int *regs;
75+
const bool has_emi_ddr;
7576
const struct dvfsrc_opp_desc *opps_desc;
7677
u32 (*calc_dram_bw)(struct mtk_dvfsrc *dvfsrc, int type, u64 bw);
7778
u32 (*get_target_level)(struct mtk_dvfsrc *dvfsrc);
@@ -107,6 +108,7 @@ enum dvfsrc_regs {
107108
DVFSRC_SW_BW,
108109
DVFSRC_SW_PEAK_BW,
109110
DVFSRC_SW_HRT_BW,
111+
DVFSRC_SW_EMI_BW,
110112
DVFSRC_VCORE,
111113
DVFSRC_REGS_MAX,
112114
};
@@ -292,6 +294,9 @@ static void __dvfsrc_set_dram_bw_v1(struct mtk_dvfsrc *dvfsrc, u32 reg,
292294
new_bw = max(new_bw, min_bw);
293295

294296
dvfsrc_writel(dvfsrc, reg, new_bw);
297+
298+
if (type == DVFSRC_BW_AVG && dvfsrc->dvd->has_emi_ddr)
299+
dvfsrc_writel(dvfsrc, DVFSRC_SW_EMI_BW, bw);
295300
}
296301

297302
static void dvfsrc_set_dram_bw_v1(struct mtk_dvfsrc *dvfsrc, u64 bw)

0 commit comments

Comments
 (0)