Lines Matching refs:head
303 static inline u32 decode_msi_hwirq(struct iproc_msi *msi, u32 eq, u32 head)
309 offs = iproc_msi_eq_offset(msi, eq) + head * sizeof(u32);
327 u32 eq, head, tail, nr_events;
337 * iProc MSI event queue is tracked by head and tail pointers. Head
342 * Entries between head and tail pointers contain valid MSI data. MSI
346 head = iproc_msi_read_reg(msi, IPROC_MSI_EQ_HEAD,
356 nr_events = (tail < head) ?
357 (EQ_LEN - (head - tail)) : (tail - head);
363 hwirq = decode_msi_hwirq(msi, eq, head);
366 head++;
367 head %= EQ_LEN;
372 * head pointer.
374 iproc_msi_write_reg(msi, IPROC_MSI_EQ_HEAD, eq, head);