aboutsummaryrefslogtreecommitdiff
path: root/include/capp.h
AgeCommit message (Collapse)AuthorFilesLines
2014-09-30phb3/capi: Add capp recovery to phb3Ryan Grimm1-0/+2
Add a flag indicating the CAPP unit is in recovery. When a capp recoverable malfunction HMI comes in, the HMI handler will call into phb3_set_capp_recovery, which will put set the flag and send the event to Linux. EEH will call phb3_next_error which will tell it the phb is fenced. EEH will then call into sapphire to reinitialize the phb which contains steps 3-5 of capp recovery procedure. The code increases wait time of PERST to 1s to ensure fpga download is complete before polling linkup. EEH will then rebind the cxl driver and it will complete recovery once it initializes and turns snoops on, steps 7-8, completing capp recovery procedure. Signed-off-by: Ryan Grimm <grimm@linux.vnet.ibm.com> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2014-09-30phb3/capi: Initialize capp regs with field values.Ryan Grimm1-1/+1
FLUSH_SUE_STATE_MAP change fixes a problem with recovery. We were using an old lab value that marked PTE entries in a shared state. After recovery, PTE entries were getting flushed out to memory with an SUE, resulting in a machine check. The new value means PTE entries are dropped on recovery. For, APC_MASTER_PB_CTRL spec says to use initfile value and bit 3 should be set. Initfile missing bit 3 so do a RMW. Bit 3 enables CAPP combined response. CAPP_EPOCH_TIMER_CTRL enables epoch timers and the recovery timer when recovery is enabled. Also relax epoch timer period mask due to a bug. TRANSPORT_CONTROL reg set bit 37 - rfs_benign_ptr_data in addition to spec value. Should be set in initifile in future. Rename APC_MASTER_CONFIG to APC_MASTER_CAPI_CTRL to match workbook name. Signed-off-by: Ryan Grimm <grimm@linux.vnet.ibm.com> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2014-07-08phb3: Parse capp microcode lid if lid header in memory.Ryan Grimm1-0/+9
bml load and older firmware loads do not place the lid header in memory. Newer firmware versions do. Look for lid header eyecatcher and if not found try ucode eyecatcher to support bml and older firmware. Signed-off-by: Ryan Grimm <grimm@linux.vnet.ibm.com> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2014-07-02Initial commit of Open Source releaseBenjamin Herrenschmidt1-0/+62
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>