soc/intel/skylake: Remove “disable SaGv” in recovery mode flow
commit3214bc4ecca20bb44aa9a94f164c7fb4feb76c0b
authorSubrata Banik <subrata.banik@intel.com>
Mon, 10 Jul 2017 07:47:09 +0000 (10 13:17 +0530)
committerDuncan Laurie <dlaurie@chromium.org>
Wed, 12 Jul 2017 04:00:41 +0000 (12 04:00 +0000)
tree4b71cc01671c31f60fe333f254540d6205c16633
parentb5c5b9dc7cb211003d6a453167492eb25ec511c0
soc/intel/skylake: Remove “disable SaGv” in recovery mode flow

This reverts commit 5535cead (intel/skylake: Disable SaGv in
recovery mode).

Commit 5535cead disables SaGv in recovery mode to save few seconds
booting time as we were doing memory training on every recovery flow.

Now we don't need to perform MRC training on every recovery boot
due to RECOVERY_MRC_CACHE implementation in place. Hence we don't
need to define different SaGv policy between Normal (developer) mode
and recovery mode to save few seconds.

Using different SaGv parameters between recovery and all other mode
has some significent drawbacks over warm reboot cycle. We are seeing
a MRC traning hang in eve/soraka/poppy devices with below use case.

Step 1: Boot system in developer mode (first time RW_MRC training)
Step 2: Set recovery_request=1 (using crossystem) and issue “reboot”
from OS
Step 3: System will perform recovery mode MRC training and boot to
OS (first time RECOVERY_MRC training)
Step 4: Issue “reboot” from OS console.
Step 5: System wil boot in developer mode (using RW_MRC cache)
Step 6: Set recovery_request=1 (using crossystem) and issue “reboot”
from OS
Step 7: System will pick RECOVERY_MRC_CACHE and will hang during
MRC training.

This patch fixes issue mentioned above and ensures system boot to
OS without any hang if we change mode (dev<->recovery) over warm
reset.

BUG=b:63515071
BRANCH=none
TEST=manual stress testing of dev<->recovery mode over warm boot.
No MRC hang with this fix on eve/soraka/poppy devices.

Change-Id: I8d094a8b6d78ea3bf8f929870a4a179495c29c78
Signed-off-by: Subrata Banik <subrata.banik@intel.com>
Reviewed-on: https://review.coreboot.org/20516
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
src/soc/intel/skylake/romstage/romstage_fsp20.c