FreeBSD/sys/dev/cxgb/cxgb_sge.c
/**
 *	t3_sge_err_intr_handler - SGE async event interrupt handler
 *	@adapter: the adapter
 *
 *	Interrupt handler for SGE asynchronous (non-data) events.
 */
SGE async event interrupt handler
@adapter: the adapter

Interrupt handler for SGE asynchronous (non-data) events.
SGE async event interrupt handler @adapter : the adapter Interrupt handler for SGE asynchronous ( non - data ) events .
void
t3_sge_err_intr_handler(adapter_t *adapter)
{
	unsigned int v, status;
	status = t3_read_reg(adapter, A_SG_INT_CAUSE);
	if (status & SGE_PARERR)
		CH_ALERT(adapter, "SGE parity error (0x%x)\n",
			 status & SGE_PARERR);
	if (status & SGE_FRAMINGERR)
		CH_ALERT(adapter, "SGE framing error (0x%x)\n",
			 status & SGE_FRAMINGERR);
	if (status & F_RSPQCREDITOVERFOW)
		CH_ALERT(adapter, "SGE response queue credit overflow\n");
	if (status & F_RSPQDISABLED) {
		v = t3_read_reg(adapter, A_SG_RSPQ_FL_STATUS);
		CH_ALERT(adapter,
			 "packet delivered to disabled response queue (0x%x)\n",
			 (v >> S_RSPQ0DISABLED) & 0xff);
	}
	t3_write_reg(adapter, A_SG_INT_CAUSE, status);
	if (status & SGE_FATALERR)
		t3_fatal_err(adapter);
}
void t3_sge_err_intr_handler ( adapter_t * adapter ) { unsigned int v , status ; status = t3_read_reg ( adapter , A_SG_INT_CAUSE ) ; if ( status & SGE_PARERR ) CH_ALERT ( adapter , " \n " , status & SGE_PARERR ) ; if ( status & SGE_FRAMINGERR ) CH_ALERT ( adapter , " \n " , status & SGE_FRAMINGERR ) ; if ( status & F_RSPQCREDITOVERFOW ) CH_ALERT ( adapter , " \n " ) ; if ( status & F_RSPQDISABLED ) { v = t3_read_reg ( adapter , A_SG_RSPQ_FL_STATUS ) ; CH_ALERT ( adapter , " \n " , ( v >> S_RSPQ0DISABLED ) & 0xff ) ; } t3_write_reg ( adapter , A_SG_INT_CAUSE , status ) ; if ( status & SGE_FATALERR ) t3_fatal_err ( adapter ) ; }
t3_sge_err_intr_handler - SGE async event interrupt handler
      @adapter: the adapter
t3_sge_err_intr_handler - SGE async event interrupt handler @adapter : the adapter