Attention is currently required from: Bora Guvendik, Anil Kumar K, Selma Bensaid, Tim Wawrzynczak, Paul Menzel, Thejaswani Putta, Patrick Rudolph. Hello Bora Guvendik, Anil Kumar K, build bot (Jenkins), Selma Bensaid, Tim Wawrzynczak, Thejaswani Putta, Patrick Rudolph,
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/61353
to look at the new patch set (#2).
Change subject: soc/intel/common/block/pcie/rtd3: Add optional _OFF and _ON skip control ......................................................................
soc/intel/common/block/pcie/rtd3: Add optional _OFF and _ON skip control
- Optional feature to provide mechanism to skip _OFF and _On execution. - It is used for the device to skip _OFF and _ON during device driver reload. - _OFS is used to skip _OFF Method at the end of device driver removal. - _ONS is used to skip _ON Method at the beginning of driver loading. - General flow use case: 1. Device driver is removed by 'rmmod' command. 2. Device _RST is called. _RST perform reset. 3. Device sets _OFS in _RST to skip the following _OFF invoked by OSPM. 4. OSPM invokes _OFF at the end of driver removal. 5. _OFF sees _OFS and skips current execution and clears _OFS so that _OFF will be executed normally next time. 6. _OFF sets _ONS to skip the following _ON invoked by OSPM. 7. Device driver is reloaded by 'insmod/modprobe' command. 8. OSPM invokes _ON at the beginning of driver loading. 9. _ON sees _ONS and skip current execution and clears _ONS so that _ON will be executed normally next time.
- In normal case: When suspend, OSPM invokes _OFF and _OFS is not set, so the device goes to deeper state as expected.
When resume, OSPM invokes _ON and _ONS is not set, so the device goes to active state as expected.
- Generated changes:
PowerResource (RTD3, 0x00, 0x0000) Name (_ONS, Zero) Name (_OFS, Zero) ...
Method (_ON, 0, Serialized) // _ON_: Power On { If ((_ONS == Zero)) { ... } ElseIf ((_ONS == One)) { _ONS = Zero } }
Method (_OFF, 0, Serialized) // _OFF: Power Off { If ((_OFS == Zero)) { ... } ElseIf ((_OFS == One)) { _OFS = Zero _ONS = One } }
Test: Enable and verify _OFS and _ONS Name objects and the if-condition logic inside _OFF and _ON metheds is added.
Signed-off-by: Cliff Huang cliff.huang@intel.com Change-Id: Ic32d151d65107bfc220258c383a575e40a496b6f --- M src/soc/intel/common/block/pcie/rtd3/chip.h M src/soc/intel/common/block/pcie/rtd3/rtd3.c 2 files changed, 58 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/53/61353/2