原创 Linux CPU core的電源管理(1)_概述

1. 前言 在SMP(Symmetric Multi-Processing)流行起來之前的很長一段時間,Linux kernel的電源管理工作主要集中在外部設備上,和CPU core相關的,頂多就是CPU idle。但隨着SMP的普及,

原创 Linux電源管理(13)_Driver的電源管理

首先,回想一下wowo電源管理系列文章中提到的幾個PM特性: A. WakeUP Count/WakeUp Source B. Wake Lock C. Auto Sleep D. Runtime Suspend 這篇文章

原创 Linux cpuidle framework(2)_cpuidle core

1. 前言 cpuidle core是cpuidle framework的核心模塊,負責抽象出cpuidle device、cpuidle driver和cpuidle governor三個實體,並提供如下功能(可參考“Linux c

原创 Linux PM domain framework(1)_概述和使用流程

1. 前言 在複雜的片上系統(SOC)中,設計者一般會將系統的供電分爲多個獨立的block,這稱作電源域(Power Domain),這樣做有很多好處,例如: 1)將不同功能模塊的供電分開,減小相互之間的干擾(如模擬和數字分開)。

原创 Linux Regulator Framework(2)_regulator driver

1. 前言 本文從regulator driver的角度,描述怎樣基於regulator framework編寫regulator驅動。同時,以此爲契機,學習、理解regulator有關的物理特性,以便能夠更好的使用它們。 2. re

原创 linux cpufreq framework(1)_概述

1. 前言 linux kernel主要通過三類機制實現SMP系統CPU core的電源管理功能: 1)cpu hotplug。根據應用場景,enable/disable CPU core,具體可參考“Linux CPU core的

原创 Linux cpuidle framework(4)_menu governor

1. 前言 本文以menu governor爲例,進一步理解cpuidle framework中governor的概念,並學習governor的實現方法。 在當前的kernel中,有2個governor,分別爲ladder和menu(

原创 Linux cpuidle framework(3)_ARM64 generic CPU idle driver

1. 前言 本文以ARM64平臺下的cpuidle driver爲例,說明怎樣在cpuidle framework的框架下,編寫cpuidle driver。另外,本文在描述cpuidle driver的同時,會涉及到CPU hotpl

原创 Linux CPU core的電源管理(2)_cpu topology

1. 前言 在“Linux CPU core的電源管理(1)_概述”中,我們多次提到SMP、CPU core等概念,雖然硬着頭皮寫下去了,但是蝸蝸對這些概念總有些似懂非懂的感覺。它們和CPU的進化過程息息相關,最終會體現在CPU top

原创 Linux CPU core的電源管理(5)_cpu control及cpu hotplug

1. 前言 由“Linux CPU core的電源管理(1)_概述”的描述可知,kernel cpu control位於“.\kernel\cpu.c”中,是一個承上啓下的模塊,負責屏蔽arch-dependent的實現細節,向上層軟件

原创 Linux電源管理(15)_PM OPP Interface

1. 前言 本文是分析cpufreq framework之前的一篇前置文章,用於介紹Linux電源管理中的Operating Performance Point (OPP)接口。 OPP是一個單純的軟件library,用於歸納、管理各

原创 Linux power supply class(1)_軟件架構及API彙整

1. 前言 power supply class爲編寫供電設備(power supply,後面簡稱PSY)的驅動提供了統一的框架,功能包括: 1)抽象PSY設備的共性,向用戶空間提供統一的API。 2)爲底層PSY驅動的編寫,提供簡

原创 Linux Regulator Framework(1)_概述

1. 前言 Regulator,中文名翻譯爲“穩定器”,在電子工程中,是voltage regulator(穩壓器)或者current regulator(穩流器)的簡稱,指可以自動維持恆定電壓(或電流)的裝置。 voltage re

原创 Linux PM QoS framework(1)_概述和軟件架構

1. 前言 QOS爲Quality Of Service(服務質量)的簡稱,對PM QoS而言,表示Linux kernel電源管理相關的服務質量。那到底什麼是服務質量呢? 我們知道,Linux PM的主要功能,是節省功耗,但同時,會

原创 Linux電源管理(14)_從設備驅動的角度看電源管理

1. 前言 相信工作稍微久一點的linux驅動工程師都深有體會: 在舊時光裏,實現某一個設備的電源管理功能,是非常簡單的一件事情。大多數設備都被抽象爲platform設備,driver只需要提供suspend/resume/shutd