Re: [PATCH v4 2/2] soc: mediatek: add mtk-devapc driver
From: Neal Liu <hidden>
Date: 2020-08-04 02:08:21
Also in:
linux-devicetree, linux-mediatek, lkml
On Tue, 2020-08-04 at 00:04 +0800, Chun-Kuang Hu wrote:
Hi, Neal: Neal Liu [off-list ref] 於 2020年8月3日 週一 下午12:01寫道:quoted
Hi Chun-Kuang, On Sat, 2020-08-01 at 08:12 +0800, Chun-Kuang Hu wrote:quoted
Hi, Neal: This patch is for "mediatek,mt6779-devapc", so I think commit title should show the SoC ID.Okay, I'll change title to 'soc:mediatek: add mt6779 devapc driver'.quoted
Neal Liu [off-list ref] 於 2020年7月29日 週三 下午4:29寫道:quoted
MediaTek bus fabric provides TrustZone security support and data protection to prevent slaves from being accessed by unexpected masters. The security violation is logged and sent to the processor for further analysis or countermeasures. Any occurrence of security violation would raise an interrupt, and it will be handled by mtk-devapc driver. The violation information is printed in order to find the murderer. Signed-off-by: Neal Liu <redacted> ---[snip]quoted
+ +struct mtk_devapc_context { + struct device *dev; + u32 vio_idx_num; + void __iomem *devapc_pd_base; + struct mtk_devapc_vio_info *vio_info; + const struct mtk_devapc_pd_offset *offset; + const struct mtk_devapc_vio_dbgs *vio_dbgs; +};I think this structure should separate the constant part. The constant part is: struct mtk_devapc_data { const u32 vio_idx_num; const struct mtk_devapc_pd_offset *offset; /* I would like to remove struct mtk_devapc_pd_offset and directly put its member into this structure */ const struct mtk_devapc_vio_dbgs *vio_dbgs; /* This may disappear */ }; And the context is: struct mtk_devapc_context { struct device *dev; void __iomem *devapc_pd_base; const struct mtk_devapc_data *data; }; So when you define this, you would not waste memory to store non-constant data. static const struct mtk_devapc_data devapc_mt6779 = { .vio_idx_num = 510, .offset = &mt6779_pd_offset, .vio_dbgs = &mt6779_vio_dbgs, };Sorry, I still don't understand why this refactoring will not waste memory to store non-constant data. Could you explain more details? To my understanding, we still also have to allocate memory to store dev & devapc_pd_base.In some situation, it is. You make the non-constant data a global variable. I think the context data should be dynamic allocated. If this driver is not probed, the non-constant data occupy the memory.
I got your point! In this case, we can save these 2 data structure space, right? struct device *dev; void __iomem *devapc_pd_base; I'll refactoring this data structures on next patch. Thanks !
Regards, Chun-Kuang.quoted
quoted
Regards, Chun-Kuang.quoted
+ +#endif /* __MTK_DEVAPC_H__ */ -- 1.7.9.5 _______________________________________________ Linux-mediatek mailing list Linux-mediatek@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-mediatek
_______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel