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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? pci.txt

?? ARM 嵌入式 系統(tǒng) 設(shè)計與實例開發(fā) 實驗教材 二源碼
?? 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

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精一区二区三区| 欧美一区二区福利视频| 日韩一区二区不卡| 一二三四区精品视频| 国产精品1024久久| 国产精品成人网| 天天亚洲美女在线视频| 暴力调教一区二区三区| 日韩欧美一区二区在线视频| 亚洲欧美综合网| 国产一区二区三区黄视频| 欧美少妇一区二区| 国产精品国产三级国产普通话蜜臀 | 国产激情偷乱视频一区二区三区 | 欧美亚洲综合另类| 国产欧美日韩精品在线| 久久99国内精品| 日韩一级大片在线| 无吗不卡中文字幕| 在线观看亚洲一区| 国产精品蜜臀在线观看| 国产精品91xxx| 欧美成人官网二区| 久久国产尿小便嘘嘘| 666欧美在线视频| 午夜成人免费视频| 欧美人狂配大交3d怪物一区| 亚洲欧美色一区| 色婷婷综合五月| 亚洲人123区| 色婷婷综合视频在线观看| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 亚洲福利一二三区| 欧洲人成人精品| 亚洲女同一区二区| 欧美亚洲综合久久| 天堂在线亚洲视频| 91精品国产综合久久福利软件 | 亚洲精品国产第一综合99久久| 99综合影院在线| 亚洲欧美色一区| 欧美日韩一区二区电影| 午夜精品久久久久久久99水蜜桃 | 亚洲第一搞黄网站| 在线不卡a资源高清| 三级一区在线视频先锋 | 国产欧美日本一区视频| 成人一区二区三区在线观看| 国产精品久久久久久久久免费樱桃 | 99国产一区二区三精品乱码| 日韩美女久久久| 欧美丝袜自拍制服另类| 午夜私人影院久久久久| 欧美成人一区二区三区| 岛国av在线一区| 亚洲最大成人网4388xx| 日韩视频一区二区三区| 国产精品一区二区在线播放| 亚洲日韩欧美一区二区在线| 欧美性色综合网| 免费观看在线综合色| 国产欧美一区二区精品久导航 | 成人免费视频免费观看| 亚洲精品久久嫩草网站秘色| 91精品国产综合久久精品| 国产成人久久精品77777最新版本| 中文字幕欧美一区| 欧美裸体bbwbbwbbw| 国产精品456露脸| 亚洲国产成人av网| 久久久久久久精| 欧美日韩高清一区二区不卡| 国产在线精品国自产拍免费| 一区二区久久久| 欧美韩国一区二区| 欧美一区二区三区不卡| 91在线云播放| 久久精品久久久精品美女| 尤物av一区二区| 久久久久国产免费免费| 欧美日韩中字一区| 成人黄页在线观看| 日韩二区三区在线观看| 亚洲人成网站影音先锋播放| 精品欧美一区二区三区精品久久 | 欧美一区二区三区思思人| 99精品视频一区二区三区| 日韩精品欧美成人高清一区二区| 中文字幕一区免费在线观看| 日韩视频免费直播| 欧美三级资源在线| 99久久伊人精品| 国产suv一区二区三区88区| 视频一区视频二区在线观看| 一区二区三区中文字幕电影| 日本一区二区视频在线观看| 精品美女被调教视频大全网站| 欧美性大战久久久久久久蜜臀| 成人网页在线观看| 国产一区视频在线看| 看电视剧不卡顿的网站| 日韩国产欧美三级| 亚洲成国产人片在线观看| 亚洲欧美色图小说| 亚洲素人一区二区| 国产精品国产三级国产三级人妇| 日本一区二区三区在线不卡| 欧美r级电影在线观看| 日韩免费一区二区| 日韩丝袜情趣美女图片| 欧美v国产在线一区二区三区| 51久久夜色精品国产麻豆| 在线播放一区二区三区| 3d动漫精品啪啪一区二区竹菊| 在线观看av一区二区| 欧美网站一区二区| 欧美日本在线一区| 欧美一级视频精品观看| 日韩一级精品视频在线观看| 日韩欧美中文字幕制服| 精品国产乱码久久久久久夜甘婷婷| 欧美成人三级电影在线| 2020国产精品自拍| 国产欧美日韩在线看| 国产精品久久久一本精品| 亚洲三级电影全部在线观看高清| 一区二区三区四区在线播放 | 狠狠色狠狠色综合| 国产精品456露脸| 99久久久免费精品国产一区二区 | 欧美一二三区在线| 欧美一区二区在线视频| 26uuu亚洲综合色欧美| 久久久激情视频| 亚洲摸摸操操av| 婷婷开心激情综合| 看电视剧不卡顿的网站| 成人免费不卡视频| 欧美日韩久久久一区| 精品福利一区二区三区免费视频| 国产欧美日韩综合| 亚洲一区二区在线免费观看视频| 日韩成人午夜精品| 国产成人在线观看免费网站| 一本大道久久a久久精品综合| 欧美日韩精品一区二区天天拍小说| 日韩欧美精品三级| 中文字幕五月欧美| 日日嗨av一区二区三区四区| 国内精品久久久久影院一蜜桃| 99精品欧美一区| 欧美www视频| 一区二区三区精品| 国产精品一级在线| 欧美日韩一区二区三区高清| 久久久91精品国产一区二区精品| 亚洲精品成a人| 国产一区在线精品| 欧美日韩国产一区| 国产精品美日韩| 日本欧美一区二区| 91亚洲国产成人精品一区二三| 91精品国产乱码久久蜜臀| 欧美国产一区二区| 日本一不卡视频| 成年人午夜久久久| 欧美精品一区二区三区视频| 洋洋av久久久久久久一区| 国产麻豆一精品一av一免费| 欧美日韩国产电影| 亚洲日本va在线观看| 国产一区二区精品久久99| 欧美日韩精品一区二区三区| **欧美大码日韩| 高清不卡一区二区| 精品日韩成人av| 日本成人在线电影网| 色网综合在线观看| 国产精品乱子久久久久| 久久精品二区亚洲w码| 91精品国产综合久久国产大片| 一区二区三区在线免费播放| 成人午夜av影视| 欧美激情一区三区| 国产中文一区二区三区| 91精品国产91久久综合桃花| 五月天一区二区三区| 欧美午夜影院一区| 亚洲免费电影在线| 色综合一区二区三区| 国产成人亚洲综合a∨婷婷| 欧美一区二区精品| 免费成人在线网站| 欧美一级免费观看| 日本强好片久久久久久aaa| 欧美精品丝袜久久久中文字幕| 亚洲成a人片在线观看中文| 欧美性猛片xxxx免费看久爱| 一区二区三区四区五区视频在线观看| 99久久国产免费看|