-
Notifications
You must be signed in to change notification settings - Fork 17
pm: allow reset when reset type is set #53
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
b2750f0 to
4cb6a19
Compare
|
We have done BKC test with this patch, no problem find with it. |
If ISH is busy and not read reset_prep_avail in time, ap could starts its boot flow and clear the bit. To make sure ISH won't miss reboot request, check the reset type also. Signed-off-by: Li Feng <[email protected]>
4cb6a19 to
cd0f0c9
Compare
|
this seems to be a WA, not root caused yet. Do careful full validation to ensure no regression or no harmful side effect. |
ddeshat
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Minor comment added.
Internal testing reveals that no impact of this change on ISH/System functionality hence approving the change.
|
@lifenggitacc @tmalhotr we have granted you maintainer's role, please accept. Given this patch is a WA, please revert it when official fix is ready and merged, thanks. |
During warm reboot stress test on TWL Google Trulo platform, occasionally ISH main firmware doesn't respond to AP reboot request, this causes kernel module ISHTP failed, and ISH doesn't reboot. The issue is getting easier to duplicate if ISH is busy, for example, enable debug log. The error from kernel log is as below.
[ 5.090396] pci 0000:00:12.0: attach allowed to drvr intel_ish_ipc [internal device]
[ 5.134371] intel_ish_ipc 0000:00:12.0: Dropped Rx msg - no request
[ 12.850196] intel_ish_ipc 0000:00:12.0: waiting for ishtp start failed. ret=0 hbm_state=00000000
[ 12.850210] intel_ish_ipc 0000:00:12.0: HBM haven't started
[ 12.850214] intel_ish_ipc 0000:00:12.0: link layer initialization failed.
[ 12.850218] intel_ish_ipc 0000:00:12.0: ISHTP: Protocol init failed.
PMU set register PMU_RST_PREP bit[1] for reset prep; this bit will be cleared in about 40ms; if ISH AON handle_reset is looking for this bit to reset, if it couldn't read this bit before being cleared, reset request will be missed. But reset type won't get cleared, so the fix is to check both reset type and reset prep, it either is set, will enter reset flow.