Age | Commit message (Collapse) | Author | Files | Lines |
|
When we get an HMI for TOD errors, chip TOD is generally not in running state.
Before we fix TOD state we need to do a quick check whether it is running or
not. But in current implementation instead of doing a quick check we do a
poll check for TOD running. This delays the process of fixing TOD state and
on a system with more cores per chip we may see soft lockup's even after
successful recovery. This patch fixes this issue by introducing a quick check
for TOD running state and provides quicker/faster recovery from TOD errors.
Signed-off-by: Mahesh Salgaonkar <mahesh@linux.vnet.ibm.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
|
|
To recover from sync check error on master TOD, switch the topology to
make backup master as active new master. After the switch request for
TOD value from new master and sync local TOD.
This patch also recovers from following TOD errors:
bit22: internal path: delay, step check components: parity error
bit18: PSS Hamming Distance
bit32: Reg 0x10 data parity error
bit33: TOD Sync Check error
bit34: FSM state parity error
bit35: Time register parity error
(Note: Above Bits are from TOD error register (xscom addr 00040020))
Signed-off-by: Mahesh Salgaonkar <mahesh@linux.vnet.ibm.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
|
|
This patch implements basic framework for TOD error recovery. To start
with, this patch implements TOD sync check error recovery as an example.
Currently this patch recover from sync check error on non-master chip.
We can use same framework and recover from more TOD errors.
Signed-off-by: Mahesh Salgaonkar <mahesh@linux.vnet.ibm.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
|
|
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
|