Lines Matching refs:head

214 #define OA_TAKEN(tail, head)	((tail - head) & (OA_BUFFER_SIZE - 1))
471 * could result in an OA buffer reset which might reset the head and
493 u32 head, tail, aged_tail;
495 /* NB: The head we observe here might effectively be a little
496 * out of date. If a read() is in progress, the head could be
497 * anywhere between this head and stream->oa_buffer.tail.
499 head = stream->oa_buffer.head - gtt_offset;
527 DRM_NOTE("unlanded report(s) head=0x%x "
529 head, tail, hw_tail);
537 stream->oa_buffer.head - gtt_offset) >= report_size;
637 * Note: reports are consumed from the head, and appended to the
638 * tail, so the tail chases the head?... If you think that's mad
656 u32 head, tail;
665 head = stream->oa_buffer.head;
671 * NB: oa_buffer.head/tail include the gtt_offset which we don't want
674 head -= gtt_offset;
678 * An out of bounds or misaligned head or tail pointer implies a driver
680 * hardware and we are in full control of the head pointer which should
685 head > OA_BUFFER_SIZE || head % report_size ||
687 "Inconsistent OA buffer pointers: head = %u, tail = %u\n",
688 head, tail))
693 (taken = OA_TAKEN(tail, head));
694 head = (head + report_size) & mask) {
695 u8 *report = oa_buf_base + head;
710 (OA_BUFFER_SIZE - head) < report_size)) {
712 "Spurious OA head ptr: non-integral report offset\n");
822 head += gtt_offset;
824 head & GEN12_OAG_OAHEADPTR_MASK);
825 stream->oa_buffer.head = head;
934 * Note: reports are consumed from the head, and appended to the
935 * tail, so the tail chases the head?... If you think that's mad
953 u32 head, tail;
962 head = stream->oa_buffer.head;
967 /* NB: oa_buffer.head/tail include the gtt_offset which we don't want
970 head -= gtt_offset;
973 /* An out of bounds or misaligned head or tail pointer implies a driver
975 * hardware and we are in full control of the head pointer which should
980 head > OA_BUFFER_SIZE || head % report_size ||
982 "Inconsistent OA buffer pointers: head = %u, tail = %u\n",
983 head, tail))
988 (taken = OA_TAKEN(tail, head));
989 head = (head + report_size) & mask) {
990 u8 *report = oa_buf_base + head;
1002 (OA_BUFFER_SIZE - head) < report_size)) {
1004 "Spurious OA head ptr: non-integral report offset\n");
1037 head += gtt_offset;
1040 (head & GEN7_OASTATUS2_HEAD_MASK) |
1042 stream->oa_buffer.head = head;
1103 * guard band between head/tail, avoiding this overflow
1410 intel_uncore_write(uncore, GEN7_OASTATUS2, /* head */
1412 stream->oa_buffer.head = gtt_offset;
1455 stream->oa_buffer.head = gtt_offset;
1510 stream->oa_buffer.head = gtt_offset;