亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? pci.txt

?? 《嵌入式系統設計與實例開發實驗教材二源碼》Linux內核移植與編譯實驗
?? TXT
字號:
PCI Power Management~~~~~~~~~~~~~~~~~~~~An overview of the concepts and the related functions in the Linux kernelPatrick Mochel <mochel@transmeta.com>---------------------------------------------------------------------------1. Overview2. How the PCI Subsystem Does Power Management3. PCI Utility Functions4. PCI Device Drivers5. Resources1. Overview~~~~~~~~~~~The PCI Power Management Specification was introduced between the PCI 2.1 andPCI 2.2 Specifications. It a standard interface for controlling various power management operations.Implementation of the PCI PM Spec is optional, as are several sub-components ofit. If a device supports the PCI PM Spec, the device will have an 8 byte capability field in its PCI configuration space. This field is used to describeand control the standard PCI power management features.The PCI PM spec defines 4 operating states for devices (D0 - D3) and for buses(B0 - B3). The higher the number, the less power the device consumes. However,the higher the number, the longer the latency is for the device to return to an operational state (D0).Bus power management is not covered in this version of this document.Note that all PCI devices support D0 and D3 by default, regardless of whether ornot they implement any of the PCI PM spec.The possible state transitions that a device can undergo are:+---------------------------+| Current State | New State |+---------------------------+| D0            | D1, D2, D3|+---------------------------+| D1            | D2, D3    |+---------------------------+| D2            | D3        |+---------------------------+| D1, D2, D3    | D0        |+---------------------------+Note that when the system is entering a global suspend state, all devices will be placed into D3 and when resuming, all devices will be placed into D0. However, when the system is running, other state transitions are possible.2. How The PCI Subsystem Handles Power Management~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~The PCI suspend/resume functionality is accessed indirectly via the Power Management subsystem. At boot, the PCI driver registers a power management callback with that layer.Upon entering a suspend state, the PM layer iterates through all of its registered callbacks. This currently takes place only during APM state transitions.Upon going to sleep, the PCI subsystem walks its device tree twice. Both times, it doesa depth first walk of the device tree. The first walk saves  each of the device's state and checks for devices that will prevent the system from entering a global power state. The next walk then places the devices in a low power state.The first walk allows a graceful recovery in the event of a failure, since none of the devices have actually been powered down.In both walks, in particular the second, all children of a bridge are touched before theactual bridge itself. This allows the bridge to retain power while its children are beingaccessed.Upon resuming from sleep, just the opposite must be true: all bridges must be powered onand restored before their children are powered on. This is easily accomplished with abreadth-first walk of the PCI device tree.3. PCI Utility Functions~~~~~~~~~~~~~~~~~~~~~~~~These are helper functions designed to be called by individual device drivers.Assuming that a device behaves as advertised, these should be applicable in mostcases. However, results may vary.Note that these functions are never implicitly called for the driver. The driver is alwaysresponsible for deciding when and if to call these.pci_save_state--------------Usage:	pci_save_state(dev, buffer);Description:	Save first 64 bytes of PCI config space. Buffer must be allocated by caller.pci_restore_state-----------------Usage:	pci_restore_state(dev,buffer);Description:	Restore previously saved config space. (First 64 bytes only);	If buffer is NULL, then restore what information we know about the device	from bootup: BARs and interrupt line.pci_set_power_state-------------------Usage:	pci_set_power_state(dev,state);Description:	Transition device to low power state using PCI PM Capabilities registers.	Will fail under one of the following conditions:	- If state is less than current state, but not D0 (illegal transition)	- Device doesn't support PM Capabilities	- Device does not support requested statepci_enable_wake---------------Usage:	pci_enable_wake(dev,state,enable);Description:	Enable device to generate PME# during low power state using PCI PM 	Capabilities.	Checks whether if device supports generating PME# from requested state and fail	if it does not, unless enable == 0 (request is to disable wake events, which	is implicit if it doesn't even support it in the first place).	Note that the PMC Register in the device's PM Capabilties has a bitmask of	the states it supports generating PME# from. D3hot is bit 3 and D3cold is bit	4. So, while a value of 4 as the state may not seem semantically correct, it	is. 4. PCI Device Drivers~~~~~~~~~~~~~~~~~~~~~These functions are intended for use by individual drivers, and are defined in struct pci_driver:        int  (*save_state) (struct pci_dev *dev, u32 state);        int  (*suspend)(struct pci_dev *dev, u32 state);        int  (*resume) (struct pci_dev *dev);        int  (*enable_wake) (struct pci_dev *dev, u32 state, int enable);save_state----------Usage:if (dev->driver && dev->driver->save_state)	dev->driver->save_state(dev,state);The driver should use this callback to save device state. It should take into account the current state of the device and the requested state in order to avoidany unnecessary operations.For example, a video card that supports all 4 states (D0-D3), all controller contextis preserved when entering D1, but the screen is placed into a low power state(blanked). The driver can also interpret this function as a notification that it may be enteringa sleep state in the near future. If it knows that the device cannot enter the requested state, either because of lack of support for it, or because the devices is middle of some critical operation, then it should fail.This function should not be used to set any state in the device or the driver becausethe device may not actually enter the sleep state (e.g. another driver later causescauses a global state transition to fail).Note that in intermediate low power states, a device's I/O and memory spaces may bedisabled and may not be available in subsequent transitions to lower power states.suspend-------Usage:if (dev->driver && dev->driver->suspend)	dev->driver->suspend(dev,state);A driver uses this function to actually transition the device into a low power state. This may include disabling I/O, memory and bus-mastering, as well as physicallytransitioning the device to a lower power state.Bus mastering may be disabled by doing:pci_disable_device(dev);For devices that support the PCI PM Spec, this may be used to set the device's power state:pci_set_power_state(dev,state);The driver is also responsible for disabling any other device-specific features(e.g blanking screen, turning off on-card memory, etc).The driver should be sure to track the current state of the device, as it may obviatethe need for some operations.The driver should update the current_state field in its pci_dev structure in this function.resume------Usage:if (dev->driver && dev->driver->suspend)	dev->driver->resume(dev)The resume callback may be called from any power state, and is always meant to transition the device to the D0 state. The driver is responsible for reenabling any features of the device that had been disabled during previous suspend calls and restoring all state that was savedin previous save_state calls.If the device is currently in D3, it must be completely reinitialized, as it must beassumed that the device has lost all of its context (even that of its PCI config space). For almost all current drivers, this means that the initialization code thatthe driver does at boot must be separated out and called again from the resumecallback. Note that some values for the device may not have to be probed for thistime around if they are saved before entering the low power state.If the device supports the PCI PM Spec, it can use this to physically transition thedevice to D0:pci_set_power_state(dev,0);Note that if the entire system is transitioning out of a global sleep state, all devices will be placed in the D0 state, so this is not necessary. However, in theevent that the device is placed in the D3 state during normal operation, this callis necessary. It is impossible to determine which of the two events is taking placein the driver, so it is always a good idea to make that call.The driver should take note of the state that it is resuming from in order to ensurecorrect (and speedy) operation.The driver should update the current_state field in its pci_dev structure in this function.enable_wake-----------Usage:if (dev->driver && dev->driver->enable_wake)	dev->driver->enable_wake(dev,state,enable);This callback is generally only relevant for devices that support the PCI PMspec and have the ability to generate a PME# (Power Management Event Signal)to wake the system up. (However, it is possible that a device may support some non-standard way of generating a wake event on sleep.)Bits 15:11 of the PMC (Power Mgmt Capabilities) Register in a device'sPM Capabilties describe what power states the device supports generating a wake event from:+------------------+|  Bit  |  State   |+------------------+|  15   |   D0     ||  14   |   D1     ||  13   |   D2     ||  12   |   D3hot  ||  11   |   D3cold |+------------------+A device can use this to enable wake events:	 pci_enable_wake(dev,state,enable);Note that to enable PME# from D3cold, a value of 4 should be passed to pci_enable_wake (since it uses an index into a bitmask). If a driver getsa request to enable wake events from D3, two calls should be made to pci_enable_wake (one for both D3hot and D3cold).5. Resources~~~~~~~~~~~~PCI Local Bus Specification PCI Bus Power Management Interface Specification  http://pcisig.org

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产在线播放一区三区四| 一区二区三区国产精品| 激情欧美日韩一区二区| 欧美本精品男人aⅴ天堂| 国产麻豆欧美日韩一区| 国产女人18毛片水真多成人如厕| 成人亚洲精品久久久久软件| 亚洲三级电影网站| 欧美人与禽zozo性伦| 激情五月激情综合网| 中文字幕在线观看一区| 欧美性色黄大片手机版| 老司机一区二区| 国产精品第一页第二页第三页| 色欧美片视频在线观看在线视频| 日韩精品乱码免费| 久久久国产午夜精品 | 六月丁香综合在线视频| 久久新电视剧免费观看| 色哟哟日韩精品| 久久国产综合精品| 日韩美女视频一区二区| 日韩一级二级三级| 99re亚洲国产精品| 久久国产精品99久久久久久老狼| 国产精品电影一区二区三区| 在线综合+亚洲+欧美中文字幕| 国产成人综合在线观看| 亚洲综合色视频| 久久久国产一区二区三区四区小说 | 亚洲福利一区二区| 久久精品免视看| 777a∨成人精品桃花网| 成人av在线播放网站| 奇米影视在线99精品| 中文字幕一区二区三区蜜月| 日韩一区二区免费在线电影 | 色吊一区二区三区| 国产一区二区不卡在线| 视频一区视频二区中文字幕| 国产精品乱码妇女bbbb| 欧美一区二区黄| 欧美日韩一区二区不卡| 99免费精品视频| 国内精品国产成人| 免费看欧美女人艹b| 亚洲精品国产一区二区三区四区在线 | 精品区一区二区| 欧美日韩国产美女| 91丨九色丨国产丨porny| 国产精品一级在线| 奇米色一区二区| 日韩不卡一区二区| 亚洲bdsm女犯bdsm网站| 亚洲免费电影在线| 国产精品每日更新在线播放网址 | 日本特黄久久久高潮| 亚洲欧美激情插| 国产精品全国免费观看高清 | 日本不卡在线视频| 一二三区精品视频| 亚洲精品国产高清久久伦理二区| 国产日韩精品一区二区三区 | 欧美男人的天堂一二区| 91影院在线免费观看| 波多野结衣中文字幕一区| 国产成人在线看| 国产精品自拍一区| 国产一区二区三区在线观看免费视频| 日韩av中文字幕一区二区三区| 香蕉加勒比综合久久| 亚洲午夜久久久久久久久电影院| 亚洲伦理在线免费看| 亚洲精品日韩一| 亚洲制服欧美中文字幕中文字幕| 亚洲九九爱视频| 亚洲伊人色欲综合网| 亚洲国产精品精华液网站| 亚洲va天堂va国产va久| 亚洲第一综合色| 偷拍日韩校园综合在线| 日韩高清不卡一区二区三区| 看国产成人h片视频| 国产精品亚洲午夜一区二区三区 | 欧美专区在线观看一区| 在线观看日韩电影| 欧美日韩国产天堂| 精品粉嫩超白一线天av| 久久精品欧美一区二区三区不卡 | 国产精品美女久久久久久2018| 欧美国产精品一区二区三区| 日韩伦理电影网| 午夜精品影院在线观看| 看电影不卡的网站| 成人av电影在线网| 欧美性做爰猛烈叫床潮| 欧美一区二区三区免费大片| 久久精品视频在线免费观看| 中文字幕视频一区二区三区久| 一级日本不卡的影视| 免费在线看成人av| 成人精品电影在线观看| 欧美三级乱人伦电影| 精品国产一二三区| 自拍偷拍国产精品| 日韩av中文字幕一区二区| 国产在线麻豆精品观看| 97国产一区二区| 91麻豆精品国产自产在线 | 在线观看日韩毛片| 日韩欧美精品在线| 中文字幕日韩一区| 日本伊人精品一区二区三区观看方式| 国产一区二区看久久| 在线观看亚洲精品视频| 26uuu欧美| 午夜婷婷国产麻豆精品| 国产成人精品网址| 欧美日韩不卡视频| 国产精品久久久久久久久久久免费看 | 日本不卡1234视频| 99久久综合国产精品| 日韩午夜小视频| 亚洲色图欧美在线| 激情久久久久久久久久久久久久久久| 色综合久久久久综合99| 久久理论电影网| 亚洲成人免费影院| www.亚洲色图| 久久综合九色综合欧美98| 亚洲影视在线播放| 99久久伊人网影院| 久久综合久色欧美综合狠狠| 天天色综合成人网| 91丨porny丨国产| 国产欧美一区二区精品忘忧草| 日韩制服丝袜先锋影音| 色悠久久久久综合欧美99| 久久亚洲精品国产精品紫薇| 日韩中文字幕区一区有砖一区 | 99久久久国产精品免费蜜臀| 日韩欧美国产高清| 亚洲一区在线观看视频| 97精品国产97久久久久久久久久久久| 久久久久久97三级| 国产一区二区调教| 日韩欧美一级特黄在线播放| 无吗不卡中文字幕| 欧美日韩中文字幕一区二区| 一区二区三区在线免费观看 | 日韩av午夜在线观看| 在线观看视频一区二区| 亚洲六月丁香色婷婷综合久久| 成人蜜臀av电影| 欧美极品xxx| 国产 欧美在线| 国产色婷婷亚洲99精品小说| 韩国三级中文字幕hd久久精品| 日韩三级免费观看| 男人的j进女人的j一区| 欧美一区二区精品久久911| 香蕉成人伊视频在线观看| 欧美日韩一区二区电影| 亚洲成人免费看| 欧美日韩免费一区二区三区| 亚洲午夜视频在线观看| 欧美色视频在线| 日韩成人免费看| 亚洲精品一线二线三线| 国产一区二区调教| 国产精品色呦呦| av一区二区三区四区| 亚洲欧美偷拍三级| 欧美色成人综合| 免费高清在线视频一区·| 日韩欧美一区中文| 国产老女人精品毛片久久| 国产欧美一区二区精品性| 成人精品高清在线| 亚洲精品中文在线影院| 欧美日韩一区二区三区高清| 免费成人小视频| 国产欧美日韩三级| 91免费版在线看| 天天色图综合网| 精品电影一区二区三区| 播五月开心婷婷综合| 亚洲国产一区在线观看| 日韩一区二区免费视频| 国产在线不卡一区| 亚洲精品乱码久久久久久久久| 欧美精选午夜久久久乱码6080| 久久电影网电视剧免费观看| 国产精品三级av在线播放| 欧洲中文字幕精品| 国产一区不卡视频| 亚洲国产精品久久一线不卡| 精品成人免费观看| 色婷婷久久久久swag精品| 麻豆久久久久久|