aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>2014-11-17 10:44:25 +1100
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>2014-11-17 10:44:25 +1100
commit1a29692c6f3d8d12cefd8e22028cfbd6d3f5b935 (patch)
tree81d56723a98dbfce58ce086422e88b7ec7c8826c
parent7185393df6d7d806811b827fabce1d8ad3e05fff (diff)
parentff97b2af8d39fed079e949732fc0b45fa0a6a3a9 (diff)
downloadskiboot-1a29692c6f3d8d12cefd8e22028cfbd6d3f5b935.zip
skiboot-1a29692c6f3d8d12cefd8e22028cfbd6d3f5b935.tar.gz
skiboot-1a29692c6f3d8d12cefd8e22028cfbd6d3f5b935.tar.bz2
Merge branch 'update-2.1.1.1'
Merge PHB3 fixes from stable update
-rw-r--r--hw/phb3.c17
1 files changed, 9 insertions, 8 deletions
diff --git a/hw/phb3.c b/hw/phb3.c
index dcf8a32..631ff88 100644
--- a/hw/phb3.c
+++ b/hw/phb3.c
@@ -2128,10 +2128,7 @@ static int64_t phb3_sm_fundamental_reset(struct phb3 *p)
p->state = PHB3_STATE_FRESET_DEASSERT_DELAY;
/* CAPP fpga requires 1s to flash before polling link */
- if (p->flags & PHB3_CAPP_RECOVERY)
- return phb3_set_sm_timeout(p, secs_to_tb(1));
- /* Wait 200ms before polling link dd*/
- return phb3_set_sm_timeout(p, msecs_to_tb(200));
+ return phb3_set_sm_timeout(p, secs_to_tb(1));
case PHB3_STATE_FRESET_DEASSERT_DELAY:
/* Switch to generic link poll state machine */
@@ -3619,8 +3616,10 @@ static void phb3_init_utl(struct phb3 *p)
*/
out_be64(p->regs + UTL_PCIE_TAGS_ALLOC, 0x0800000000000000);
- /* Init_82: PCI Express port control */
- out_be64(p->regs + UTL_PCIE_PORT_CONTROL, 0x8588006000000000);
+ /* Init_82: PCI Express port control
+ * SW283991: Set Outbound Non-Posted request timeout to 16ms (RTOS).
+ */
+ out_be64(p->regs + UTL_PCIE_PORT_CONTROL, 0x8588007000000000);
/* Init_83..85: Clean & setup port errors */
out_be64(p->regs + UTL_PCIE_PORT_STATUS, 0xffdfffffffffffff);
@@ -3875,8 +3874,10 @@ static void phb3_init_hw(struct phb3 *p)
if (p->rev == PHB3_REV_MURANO_DD20)
phb3_write_reg_asb(p, PHB_TCE_WATERMARK, 0x0003000000030302);
- /* Init_142 - PHB3 - Timeout Control Register 1 */
- out_be64(p->regs + PHB_TIMEOUT_CTRL1, 0x1713132016200000);
+ /* Init_142 - PHB3 - Timeout Control Register 1
+ * SW283991: Increase timeouts
+ */
+ out_be64(p->regs + PHB_TIMEOUT_CTRL1, 0x1715152016200000);
/* Init_143 - PHB3 - Timeout Control Register 2 */
out_be64(p->regs + PHB_TIMEOUT_CTRL2, 0x2320d71600000000);