/* Handler for new data events when using NAPI.  */
static int napi_rx_handler(struct napi_struct *napi, int budget)
/* Handler for new data events when using NAPI.  */
static int napi_rx_handler(struct napi_struct *napi, int budget)
{
	struct sge_qset *qs = container_of(napi, struct sge_qset, napi);
	struct adapter *adap = qs->adap;
	int work_done = process_responses(adap, qs, budget);
	if (likely(work_done < budget)) {
		napi_complete(napi);
		t3_write_reg(adap, A_SG_GTS, V_RSPQ(qs->rspq.cntxt_id) |
			     V_NEWTIMER(qs->rspq.next_holdoff) |
			     V_NEWINDEX(qs->rspq.cidx));
	}
	return work_done;
}