摘要
通知核心處理器在特定電源網域中的處理器電源等級,以便進行省電排程。
宣告
#include <zircon/syscalls-next.h>
zx_status_t zx_system_set_processor_power_level_domain(
zx_handle_t resource,
uint64_t options,
const zx_power_domain_t* power_domain,
zx_handle_t port);
說明
為特定處理器電源網域啟用節能排程。
電源等級會以隱含形式列舉為 power_levels
的索引。
transformations
沒有排序限制,且所編碼的電源等級會對應至 power_levels
定義的等級。假設層級之間沒有轉換,表示執行轉換時不會產生能源成本。
提供的 power_domain_id
會提供專屬 ID,用於要求在 cpus
遮罩的所有 CPU 上要求作業。任何電量等級轉換處理程序都必須瞭解關聯。
這個系統呼叫應具有「設定或更新」語意,以便任何新資料取代現有資料。這適用於 power_domain_id
和 cpus
。
提供的 port
會用於排入電源等級轉換要求。
權限
resource
必須是 ZX_RSRC_KIND_SYSTEM
類型和 ZX_RSRC_SYSTEM_CPU_BASE
基底。
傳回值
只有在處理器效能等級網域成功註冊時,系統才會傳回 ZX_OK
。
錯誤
如果 resource
不是有效的帳號代碼,則為 ZX_ERR_ACCESS_DENIED
。
如果 resource
不是系統類型和 CPU 基礎的有效資源句柄,則為 ZX_ERR_WRONG_TYPE
。
如果 num_power_levels
超過 ZX_MAX_POWER_LEVELS
或 num_transitions
超過 ZX_MAX_POWER_LEVEL_TRANSITIONS
,則為 ZX_ERR_OUT_OF_RANGE
。