Re: [PATCH v2 10/11] memory: mtk-smi: mt8195: Add initial setting for smi-common
From: Yong Wu <yong.wu@mediatek.com>
Date: 2021-07-22 06:38:50
Also in:
linux-arm-kernel, linux-iommu, linux-mediatek, lkml
On Wed, 2021-07-21 at 20:54 +0800, Ikjoon Jang wrote:
On Thu, Jul 15, 2021 at 8:25 PM Yong Wu [off-list ref] wrote:quoted
To improve the performance, add initial setting for smi-common. some register use some fix setting(suggested from DE). Signed-off-by: Yong Wu <yong.wu@mediatek.com> --- drivers/memory/mtk-smi.c | 42 ++++++++++++++++++++++++++++++++++++---- 1 file changed, 38 insertions(+), 4 deletions(-)
[...]
quoted
static const struct mtk_smi_common_plat mtk_smi_sub_common_mt8195 = {@@ -530,15 +558,21 @@ static int mtk_smi_common_remove(struct platform_device *pdev) static int __maybe_unused mtk_smi_common_resume(struct device *dev) { struct mtk_smi *common = dev_get_drvdata(dev); - u32 bus_sel = common->plat->bus_sel; - int ret; + const struct mtk_smi_reg_pair *init = common->plat->init; + u32 bus_sel = common->plat->bus_sel; /* default is 0 */ + int ret, i; ret = clk_bulk_prepare_enable(common->clk_num, common->clks); if (ret) return ret; - if (common->plat->type == MTK_SMI_GEN2 && bus_sel) - writel(bus_sel, common->base + SMI_BUS_SEL); + if (common->plat->type != MTK_SMI_GEN2) + return 0; + + for (i = 0; i < SMI_COMMON_INIT_REGS_NR && init && init[i].offset; i++) + writel_relaxed(init[i].value, common->base + init[i].offset);I'm not sure this array for register settings could be applied to other platforms in future or only applied to mt8195. If it's only for mt8195,
The other platforms have the nearly same setting.
I think taking callback function instead of mtk_smi_reg_pair[] as init member would be better: if (common->plat->init) common->plat->init(...);quoted
+ + writel(bus_sel, common->base + SMI_BUS_SEL); return 0; } -- 2.18.0 _______________________________________________ Linux-mediatek mailing list Linux-mediatek@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-mediatek_______________________________________________ Linux-mediatek mailing list Linux-mediatek@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-mediatek