> > + if (w < cq->budget) { > > + mana_gd_ring_cq(gdma_queue, SET_ARM_BIT); > > + cq->work_done_since_doorbell = 0; > > + napi_complete_done(&cq->napi, w); > > + } else if (cq->work_done_since_doorbell > > > + cq->gdma_cq->queue_size / COMP_ENTRY_SIZE * 4) { > > should we define a macro for 4? may be 'CQ_WRAPAROUND_LIMIT' I prefer to leaving the code as is. This is the only place it's used, and there is a comment explaining why this value is chosen. > > > + /* MANA hardware requires at least one doorbell ring every 8 > > + * wraparounds of CQ even if there is no need to arm the CQ. > > + * This driver rings the doorbell as soon as we have exceeded > > + * 4 wraparounds. > > + */ > > + mana_gd_ring_cq(gdma_queue, 0); > > + cq->work_done_since_doorbell = 0; > > 2.17.1