diff options
author | np <np@FreeBSD.org> | 2011-03-24 01:13:28 +0000 |
---|---|---|
committer | np <np@FreeBSD.org> | 2011-03-24 01:13:28 +0000 |
commit | 12faa8eb0cef745b39c2d9724d1cfedb3669f6ce (patch) | |
tree | 03131ea5e12006d6e88cf098fbd587ba3750423f /sys/dev/cxgb | |
parent | 6a9980954f4344a5fe2019ba3106051a9a6d0fbe (diff) | |
download | FreeBSD-src-12faa8eb0cef745b39c2d9724d1cfedb3669f6ce.zip FreeBSD-src-12faa8eb0cef745b39c2d9724d1cfedb3669f6ce.tar.gz |
T3C initialization should setup the parity fence too.
MFC after: 1 week
Diffstat (limited to 'sys/dev/cxgb')
-rw-r--r-- | sys/dev/cxgb/common/cxgb_t3_hw.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/dev/cxgb/common/cxgb_t3_hw.c b/sys/dev/cxgb/common/cxgb_t3_hw.c index 6083ad3..9ad7379 100644 --- a/sys/dev/cxgb/common/cxgb_t3_hw.c +++ b/sys/dev/cxgb/common/cxgb_t3_hw.c @@ -1750,6 +1750,7 @@ static int t3_handle_intr_status(adapter_t *adapter, unsigned int reg, fatal++; CH_ALERT(adapter, "%s (0x%x)\n", acts->msg, status & acts->mask); + status &= ~acts->mask; } else if (acts->msg) CH_WARN(adapter, "%s (0x%x)\n", acts->msg, status & acts->mask); @@ -2189,11 +2190,10 @@ static int mac_intr_handler(adapter_t *adap, unsigned int idx) t3_os_link_intr(pi); } - t3_write_reg(adap, A_XGM_INT_CAUSE + mac->offset, cause); - if (cause & XGM_INTR_FATAL) t3_fatal_err(adap); + t3_write_reg(adap, A_XGM_INT_CAUSE + mac->offset, cause); return cause != 0; } @@ -4189,6 +4189,7 @@ int t3_init_hw(adapter_t *adapter, u32 fw_params) t3_write_reg(adapter, A_PM1_TX_MODE, 0); chan_init_hw(adapter, adapter->params.chan_map); t3_sge_init(adapter, &adapter->params.sge); + t3_set_reg_field(adapter, A_PL_RST, 0, F_FATALPERREN); t3_write_reg(adapter, A_T3DBG_GPIO_ACT_LOW, calc_gpio_intr(adapter)); |