FreeBSD/sys/dev/cxgb/common/cxgb_mc5.c
/**
 *	t3_mc5_intr_handler - MC5 interrupt handler
 *	@mc5: the MC5 handle
 *
 *	The MC5 interrupt handler.
 */
MC5 interrupt handler
@mc5: the MC5 handle

The MC5 interrupt handler.
MC5 interrupt handler @mc5 : the MC5 handle The MC5 interrupt handler .
void t3_mc5_intr_handler(struct mc5 *mc5)
{
	adapter_t *adap = mc5->adapter;
	u32 cause = t3_read_reg(adap, A_MC5_DB_INT_CAUSE);
	if ((cause & F_PARITYERR) && mc5->parity_enabled) {
		CH_ALERT(adap, "MC5 parity error\n");
		mc5->stats.parity_err++;
	}
	if (cause & F_REQQPARERR) {
		CH_ALERT(adap, "MC5 request queue parity error\n");
		mc5->stats.reqq_parity_err++;
	}
	if (cause & F_DISPQPARERR) {
		CH_ALERT(adap, "MC5 dispatch queue parity error\n");
		mc5->stats.dispq_parity_err++;
	}
	if (cause & F_ACTRGNFULL)
		mc5->stats.active_rgn_full++;
	if (cause & F_NFASRCHFAIL)
		mc5->stats.nfa_srch_err++;
	if (cause & F_UNKNOWNCMD)
		mc5->stats.unknown_cmd++;
	if (cause & F_DELACTEMPTY)
		mc5->stats.del_act_empty++;
	if (cause & MC5_INT_FATAL)
		t3_fatal_err(adap);
	t3_write_reg(adap, A_MC5_DB_INT_CAUSE, cause);
}
void t3_mc5_intr_handler ( struct mc5 * mc5 ) { adapter_t * adap = mc5 -> adapter ; u32 cause = t3_read_reg ( adap , A_MC5_DB_INT_CAUSE ) ; if ( ( cause & F_PARITYERR ) && mc5 -> parity_enabled ) { CH_ALERT ( adap , " \n " ) ; mc5 -> stats . parity_err ++ ; } if ( cause & F_REQQPARERR ) { CH_ALERT ( adap , " \n " ) ; mc5 -> stats . reqq_parity_err ++ ; } if ( cause & F_DISPQPARERR ) { CH_ALERT ( adap , " \n " ) ; mc5 -> stats . dispq_parity_err ++ ; } if ( cause & F_ACTRGNFULL ) mc5 -> stats . active_rgn_full ++ ; if ( cause & F_NFASRCHFAIL ) mc5 -> stats . nfa_srch_err ++ ; if ( cause & F_UNKNOWNCMD ) mc5 -> stats . unknown_cmd ++ ; if ( cause & F_DELACTEMPTY ) mc5 -> stats . del_act_empty ++ ; if ( cause & MC5_INT_FATAL ) t3_fatal_err ( adap ) ; t3_write_reg ( adap , A_MC5_DB_INT_CAUSE , cause ) ; }
t3_mc5_intr_handler - MC5 interrupt handler
      @mc5: the MC5 handle
t3_mc5_intr_handler - MC5 interrupt handler @mc5 : the MC5 handle