RPM(Resource Power Manager)



資源電源管理RPM(Resource Power Manager)


RPM是高通專用的硬件引擎,用於管理共享的SoC(系統級芯片)相關資源,其中包括總線,時鐘,電源軌等。RPM的目標是滿足SoC的操作和性能要求的同時實現最大的功率節省。RPM接受多個RPM主控的資源請求。仲裁和聚合請求,並配置共享資源。RPM的主控方有應用處理器,調製解調處理器,以及一些硬件加速器。
RPM驅動提供了一個同RPM交互的API。內核代碼調用RPM驅動來請求RPM管理和共享資源。內核代碼也可以爲RPM通知註冊驅動,RPM通知在共享資源狀態發生變化時發送。


RPM給每個RPM的主控方提供了一個單獨的寄存器區域。一般情況下,每個寄存器代表了一些共享資源。通常情況下,主控方通過寫寄存器來請求資源,然後產生一箇中斷給RPM。RPM處理請求,向寄存器中寫確認信息,然後產生中斷給主控方。
除了主控方特定區域,RPM也提供了一個共享區域,其中包含了共享資源的狀態。只有RPM可以寫狀態區域,主控方只能夠讀取狀態。
RPM包含內部邏輯,用來聚合和仲裁不同RPM主控方的請求。它同PMIC,總線仲裁模塊,以及始終控制模塊都有接口,以便配置共享資源。


RPM驅動封裝了低級RPM交互,就是依賴於讀/寫寄存器和產生/處理中斷的交互;同時也提供了高級同步的set/clear/get接口。
大部分功能使用一個“ID值匹配隊列”,ID表明了對應於某些RPM資源的RPM寄存器,這些值表明了新的資源值。
RPM驅動同步訪問RPM,主要是爲了保護多個任務,SMP內核,任務上下文和原子上下文同時訪問。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章