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

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

?? pci.txt

?? 嵌入式系統設計與實例開發源碼
?? 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一区二区三区免费野_久草精品视频
日韩美女视频一区二区在线观看| 色综合久久综合网97色综合| 欧美大度的电影原声| 午夜精品一区二区三区电影天堂 | 亚洲欧洲精品一区二区精品久久久| 国产精品正在播放| 亚洲国产精品传媒在线观看| 播五月开心婷婷综合| 亚洲免费观看在线视频| 欧美日韩一级视频| 麻豆成人久久精品二区三区红 | 欧洲人成人精品| 香蕉av福利精品导航| 欧美一区三区四区| 国产呦萝稀缺另类资源| 国产精品欧美经典| 欧美在线观看禁18| 久久福利资源站| av欧美精品.com| 精品成人免费观看| 久久精品72免费观看| 久草热8精品视频在线观看| 国产亚洲一本大道中文在线| 丁香婷婷综合五月| 欧美综合在线视频| 日韩精品国产精品| 91尤物视频在线观看| 久久激情五月婷婷| 奇米色一区二区三区四区| 亚洲午夜一区二区三区| 亚洲精品综合在线| √…a在线天堂一区| 欧美国产一区视频在线观看| 精品久久久久久综合日本欧美| 欧美日韩视频第一区| 欧美视频日韩视频| 欧美日韩你懂得| 欧美日本在线播放| 欧美日韩三级在线| 欧美日本视频在线| 3atv一区二区三区| 欧美一区二区在线播放| 91精品国产色综合久久| 欧美一区二区久久久| 日韩一区二区在线观看视频| 日韩欧美一区二区免费| 日韩午夜电影av| 精品国产成人系列| 精品久久久久av影院| 国产亚洲人成网站| 国产欧美一二三区| 自拍偷自拍亚洲精品播放| 亚洲桃色在线一区| 亚洲妇熟xx妇色黄| 强制捆绑调教一区二区| 精品一区二区三区在线观看国产| 国产在线视频一区二区三区| 国产精品456| 不卡视频在线看| 91国内精品野花午夜精品| 欧洲国内综合视频| 日韩精品一区二区三区中文精品| 久久日一线二线三线suv| 国产日韩一级二级三级| 亚洲精品国产精华液| 亚洲成av人片一区二区梦乃| 蜜臀久久久99精品久久久久久| 国产一区二区在线看| 波多野结衣中文字幕一区 | 国产精品美女久久久久久久网站| 亚洲国产精品成人久久综合一区| 一区二区在线免费观看| 午夜精品成人在线视频| 国产美女精品在线| 在线观看国产一区二区| 日韩欧美自拍偷拍| 日本一区二区成人| 亚洲午夜日本在线观看| 国产永久精品大片wwwapp| 99视频国产精品| 制服视频三区第一页精品| 日本一区二区成人| 日韩黄色在线观看| 不卡高清视频专区| 91精品国产色综合久久| 中文字幕日韩一区二区| 欧美a一区二区| 91亚洲资源网| 精品国产伦一区二区三区观看体验| 日韩码欧中文字| 极品少妇一区二区| 欧美午夜精品一区二区三区| 久久久久久久久久电影| 亚洲国产精品自拍| 成人免费毛片a| 欧美不卡在线视频| 亚洲国产精品麻豆| 成人国产精品免费| 欧美xxxxx裸体时装秀| 一区二区三区毛片| 丰满少妇久久久久久久| 在线成人av影院| 一区二区三区精品在线观看| 国产在线精品国自产拍免费| 欧美日韩久久一区| 亚洲三级电影网站| 国产白丝精品91爽爽久久| 欧美一区二区网站| 一区二区三区视频在线观看| 国产精品原创巨作av| 日韩一区二区免费在线电影| 亚洲在线观看免费| 91亚洲精品一区二区乱码| 久久久国产精品不卡| 麻豆视频一区二区| 欧美猛男gaygay网站| 一区二区三区波多野结衣在线观看 | 成人做爰69片免费看网站| 日韩欧美第一区| 水野朝阳av一区二区三区| 色系网站成人免费| **欧美大码日韩| 成人午夜碰碰视频| 国产片一区二区| 大桥未久av一区二区三区中文| 久久午夜羞羞影院免费观看| 久久99精品久久久久久久久久久久| 欧美一区二区三区性视频| 日韩中文字幕亚洲一区二区va在线| 精品视频色一区| 亚洲va中文字幕| 9191精品国产综合久久久久久 | 奇米影视一区二区三区小说| 在线一区二区观看| 尤物视频一区二区| 在线观看日韩高清av| 亚洲福中文字幕伊人影院| 色狠狠桃花综合| 亚洲一区在线观看免费观看电影高清 | 亚洲人妖av一区二区| 91在线播放网址| 一区二区三区色| 6080国产精品一区二区| 人人狠狠综合久久亚洲| 日韩欧美一二三四区| 黄页网站大全一区二区| 337p日本欧洲亚洲大胆色噜噜| 国产一区二区三区在线观看免费视频 | 国产suv精品一区二区6| 国产精品免费人成网站| 91蜜桃网址入口| 一区二区欧美国产| 欧美日韩国产系列| 美女一区二区久久| 国产性色一区二区| 99re这里都是精品| 亚洲综合久久av| 欧美一级欧美三级在线观看| 另类小说视频一区二区| 久久五月婷婷丁香社区| 高清成人免费视频| 亚洲永久精品大片| 91精品一区二区三区在线观看| 精品中文字幕一区二区小辣椒| 国产色婷婷亚洲99精品小说| 91麻豆产精品久久久久久 | 蜜桃精品在线观看| 久久久久久久久久电影| 91视频com| 免费在线一区观看| 国产精品色婷婷| 欧美妇女性影城| 国产福利精品导航| 艳妇臀荡乳欲伦亚洲一区| 日韩一区二区电影| 成人精品gif动图一区| 日本欧美大码aⅴ在线播放| 理论电影国产精品| 欧美在线观看视频一区二区| 91丨porny丨在线| 91精品国产欧美日韩| 无码av免费一区二区三区试看| 欧美一区二区三区在线观看视频| 国产中文字幕一区| 综合色中文字幕| 欧美老女人在线| 白白色亚洲国产精品| 视频一区免费在线观看| 国产精品久久久一本精品| 欧美三级日本三级少妇99| 国产一区二区三区黄视频 | 蜜桃视频免费观看一区| 亚洲欧美综合网| 精品日韩av一区二区| 欧美午夜精品理论片a级按摩| 国产成人免费av在线| 日本va欧美va欧美va精品| ...xxx性欧美| 欧美激情艳妇裸体舞| 91精品国产乱码久久蜜臀|