zx_system_set_processor_power_domain

摘要

通知核心處理器在特定電源網域中的處理器電源等級,以便進行省電排程。

宣告

#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_idcpus

提供的 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_LEVELSnum_transitions 超過 ZX_MAX_POWER_LEVEL_TRANSITIONS,則為 ZX_ERR_OUT_OF_RANGE