Lines Matching refs:oa_buffer
463 u32 gtt_offset = i915_ggtt_offset(stream->oa_buffer.vma); in oa_buffer_check_unlocked()
464 int report_size = stream->oa_buffer.format_size; in oa_buffer_check_unlocked()
474 spin_lock_irqsave(&stream->oa_buffer.ptr_lock, flags); in oa_buffer_check_unlocked()
485 if (hw_tail == stream->oa_buffer.aging_tail && in oa_buffer_check_unlocked()
486 (now - stream->oa_buffer.aging_timestamp) > OA_TAIL_MARGIN_NSEC) { in oa_buffer_check_unlocked()
491 stream->oa_buffer.tail = stream->oa_buffer.aging_tail; in oa_buffer_check_unlocked()
499 head = stream->oa_buffer.head - gtt_offset; in oa_buffer_check_unlocked()
500 aged_tail = stream->oa_buffer.tail - gtt_offset; in oa_buffer_check_unlocked()
517 u32 *report32 = (void *)(stream->oa_buffer.vaddr + tail); in oa_buffer_check_unlocked()
531 stream->oa_buffer.tail = gtt_offset + tail; in oa_buffer_check_unlocked()
532 stream->oa_buffer.aging_tail = gtt_offset + hw_tail; in oa_buffer_check_unlocked()
533 stream->oa_buffer.aging_timestamp = now; in oa_buffer_check_unlocked()
536 pollin = OA_TAKEN(stream->oa_buffer.tail - gtt_offset, in oa_buffer_check_unlocked()
537 stream->oa_buffer.head - gtt_offset) >= report_size; in oa_buffer_check_unlocked()
539 spin_unlock_irqrestore(&stream->oa_buffer.ptr_lock, flags); in oa_buffer_check_unlocked()
601 int report_size = stream->oa_buffer.format_size; in append_oa_sample()
653 int report_size = stream->oa_buffer.format_size; in gen8_append_oa_reports()
654 u8 *oa_buf_base = stream->oa_buffer.vaddr; in gen8_append_oa_reports()
655 u32 gtt_offset = i915_ggtt_offset(stream->oa_buffer.vma); in gen8_append_oa_reports()
666 spin_lock_irqsave(&stream->oa_buffer.ptr_lock, flags); in gen8_append_oa_reports()
668 head = stream->oa_buffer.head; in gen8_append_oa_reports()
669 tail = stream->oa_buffer.tail; in gen8_append_oa_reports()
671 spin_unlock_irqrestore(&stream->oa_buffer.ptr_lock, flags); in gen8_append_oa_reports()
785 stream->oa_buffer.last_ctx_id == stream->specific_ctx_id || in gen8_append_oa_reports()
802 stream->oa_buffer.last_ctx_id = ctx_id; in gen8_append_oa_reports()
819 spin_lock_irqsave(&stream->oa_buffer.ptr_lock, flags); in gen8_append_oa_reports()
828 stream->oa_buffer.head = head; in gen8_append_oa_reports()
830 spin_unlock_irqrestore(&stream->oa_buffer.ptr_lock, flags); in gen8_append_oa_reports()
866 if (drm_WARN_ON(&uncore->i915->drm, !stream->oa_buffer.vaddr)) in gen8_oa_read()
950 int report_size = stream->oa_buffer.format_size; in gen7_append_oa_reports()
951 u8 *oa_buf_base = stream->oa_buffer.vaddr; in gen7_append_oa_reports()
952 u32 gtt_offset = i915_ggtt_offset(stream->oa_buffer.vma); in gen7_append_oa_reports()
963 spin_lock_irqsave(&stream->oa_buffer.ptr_lock, flags); in gen7_append_oa_reports()
965 head = stream->oa_buffer.head; in gen7_append_oa_reports()
966 tail = stream->oa_buffer.tail; in gen7_append_oa_reports()
968 spin_unlock_irqrestore(&stream->oa_buffer.ptr_lock, flags); in gen7_append_oa_reports()
1035 spin_lock_irqsave(&stream->oa_buffer.ptr_lock, flags); in gen7_append_oa_reports()
1045 stream->oa_buffer.head = head; in gen7_append_oa_reports()
1047 spin_unlock_irqrestore(&stream->oa_buffer.ptr_lock, flags); in gen7_append_oa_reports()
1078 if (drm_WARN_ON(&uncore->i915->drm, !stream->oa_buffer.vaddr)) in gen7_oa_read()
1348 i915_vma_unpin_and_release(&stream->oa_buffer.vma, in free_oa_buffer()
1351 stream->oa_buffer.vaddr = NULL; in free_oa_buffer()
1405 u32 gtt_offset = i915_ggtt_offset(stream->oa_buffer.vma); in gen7_init_oa_buffer()
1408 spin_lock_irqsave(&stream->oa_buffer.ptr_lock, flags); in gen7_init_oa_buffer()
1415 stream->oa_buffer.head = gtt_offset; in gen7_init_oa_buffer()
1423 stream->oa_buffer.aging_tail = INVALID_TAIL_PTR; in gen7_init_oa_buffer()
1424 stream->oa_buffer.tail = gtt_offset; in gen7_init_oa_buffer()
1426 spin_unlock_irqrestore(&stream->oa_buffer.ptr_lock, flags); in gen7_init_oa_buffer()
1445 memset(stream->oa_buffer.vaddr, 0, OA_BUFFER_SIZE); in gen7_init_oa_buffer()
1451 u32 gtt_offset = i915_ggtt_offset(stream->oa_buffer.vma); in gen8_init_oa_buffer()
1454 spin_lock_irqsave(&stream->oa_buffer.ptr_lock, flags); in gen8_init_oa_buffer()
1458 stream->oa_buffer.head = gtt_offset; in gen8_init_oa_buffer()
1475 stream->oa_buffer.aging_tail = INVALID_TAIL_PTR; in gen8_init_oa_buffer()
1476 stream->oa_buffer.tail = gtt_offset; in gen8_init_oa_buffer()
1483 stream->oa_buffer.last_ctx_id = INVALID_CTX_ID; in gen8_init_oa_buffer()
1485 spin_unlock_irqrestore(&stream->oa_buffer.ptr_lock, flags); in gen8_init_oa_buffer()
1499 memset(stream->oa_buffer.vaddr, 0, OA_BUFFER_SIZE); in gen8_init_oa_buffer()
1505 u32 gtt_offset = i915_ggtt_offset(stream->oa_buffer.vma); in gen12_init_oa_buffer()
1508 spin_lock_irqsave(&stream->oa_buffer.ptr_lock, flags); in gen12_init_oa_buffer()
1513 stream->oa_buffer.head = gtt_offset; in gen12_init_oa_buffer()
1529 stream->oa_buffer.aging_tail = INVALID_TAIL_PTR; in gen12_init_oa_buffer()
1530 stream->oa_buffer.tail = gtt_offset; in gen12_init_oa_buffer()
1537 stream->oa_buffer.last_ctx_id = INVALID_CTX_ID; in gen12_init_oa_buffer()
1539 spin_unlock_irqrestore(&stream->oa_buffer.ptr_lock, flags); in gen12_init_oa_buffer()
1553 memset(stream->oa_buffer.vaddr, 0, in gen12_init_oa_buffer()
1554 stream->oa_buffer.vma->size); in gen12_init_oa_buffer()
1564 if (drm_WARN_ON(&i915->drm, stream->oa_buffer.vma)) in alloc_oa_buffer()
1584 stream->oa_buffer.vma = vma; in alloc_oa_buffer()
1586 stream->oa_buffer.vaddr = in alloc_oa_buffer()
1588 if (IS_ERR(stream->oa_buffer.vaddr)) { in alloc_oa_buffer()
1589 ret = PTR_ERR(stream->oa_buffer.vaddr); in alloc_oa_buffer()
1601 stream->oa_buffer.vaddr = NULL; in alloc_oa_buffer()
1602 stream->oa_buffer.vma = NULL; in alloc_oa_buffer()
2249 u32 format = stream->oa_buffer.format; in gen12_configure_oar_context()
2596 u32 report_format = stream->oa_buffer.format; in gen7_oa_enable()
2622 u32 report_format = stream->oa_buffer.format; in gen8_oa_enable()
2648 u32 report_format = stream->oa_buffer.format; in gen12_oa_enable()
2882 stream->oa_buffer.format_size = format_size; in i915_oa_stream_init()
2883 if (drm_WARN_ON(&i915->drm, stream->oa_buffer.format_size == 0)) in i915_oa_stream_init()
2888 stream->oa_buffer.format = in i915_oa_stream_init()
2953 spin_lock_init(&stream->oa_buffer.ptr_lock); in i915_oa_stream_init()