Lines Matching refs:oa_buffer
460 ((__s)->oa_buffer.format->header == HDR_64_BIT)
544 u32 gtt_offset = i915_ggtt_offset(stream->oa_buffer.vma); in oa_buffer_check_unlocked()
545 int report_size = stream->oa_buffer.format->size; in oa_buffer_check_unlocked()
556 spin_lock_irqsave(&stream->oa_buffer.ptr_lock, flags); in oa_buffer_check_unlocked()
566 partial_report_size = OA_TAKEN(hw_tail, stream->oa_buffer.tail); in oa_buffer_check_unlocked()
586 while (OA_TAKEN(tail, stream->oa_buffer.tail) >= report_size) { in oa_buffer_check_unlocked()
587 void *report = stream->oa_buffer.vaddr + tail; in oa_buffer_check_unlocked()
600 stream->oa_buffer.head, tail, hw_tail); in oa_buffer_check_unlocked()
602 stream->oa_buffer.tail = tail; in oa_buffer_check_unlocked()
604 pollin = OA_TAKEN(stream->oa_buffer.tail, in oa_buffer_check_unlocked()
605 stream->oa_buffer.head) >= report_size; in oa_buffer_check_unlocked()
607 spin_unlock_irqrestore(&stream->oa_buffer.ptr_lock, flags); in oa_buffer_check_unlocked()
669 int report_size = stream->oa_buffer.format->size; in append_oa_sample()
686 oa_buf_end = stream->oa_buffer.vaddr + OA_BUFFER_SIZE; in append_oa_sample()
694 if (copy_to_user(buf, stream->oa_buffer.vaddr, in append_oa_sample()
733 int report_size = stream->oa_buffer.format->size; in gen8_append_oa_reports()
734 u8 *oa_buf_base = stream->oa_buffer.vaddr; in gen8_append_oa_reports()
735 u32 gtt_offset = i915_ggtt_offset(stream->oa_buffer.vma); in gen8_append_oa_reports()
745 spin_lock_irqsave(&stream->oa_buffer.ptr_lock, flags); in gen8_append_oa_reports()
747 head = stream->oa_buffer.head; in gen8_append_oa_reports()
748 tail = stream->oa_buffer.tail; in gen8_append_oa_reports()
750 spin_unlock_irqrestore(&stream->oa_buffer.ptr_lock, flags); in gen8_append_oa_reports()
861 stream->oa_buffer.last_ctx_id == stream->specific_ctx_id || in gen8_append_oa_reports()
878 stream->oa_buffer.last_ctx_id = ctx_id; in gen8_append_oa_reports()
889 u8 *oa_buf_end = stream->oa_buffer.vaddr + in gen8_append_oa_reports()
910 spin_lock_irqsave(&stream->oa_buffer.ptr_lock, flags); in gen8_append_oa_reports()
918 stream->oa_buffer.head = head; in gen8_append_oa_reports()
920 spin_unlock_irqrestore(&stream->oa_buffer.ptr_lock, flags); in gen8_append_oa_reports()
956 if (drm_WARN_ON(&uncore->i915->drm, !stream->oa_buffer.vaddr)) in gen8_oa_read()
1043 int report_size = stream->oa_buffer.format->size; in gen7_append_oa_reports()
1044 u8 *oa_buf_base = stream->oa_buffer.vaddr; in gen7_append_oa_reports()
1045 u32 gtt_offset = i915_ggtt_offset(stream->oa_buffer.vma); in gen7_append_oa_reports()
1055 spin_lock_irqsave(&stream->oa_buffer.ptr_lock, flags); in gen7_append_oa_reports()
1057 head = stream->oa_buffer.head; in gen7_append_oa_reports()
1058 tail = stream->oa_buffer.tail; in gen7_append_oa_reports()
1060 spin_unlock_irqrestore(&stream->oa_buffer.ptr_lock, flags); in gen7_append_oa_reports()
1122 spin_lock_irqsave(&stream->oa_buffer.ptr_lock, flags); in gen7_append_oa_reports()
1127 stream->oa_buffer.head = head; in gen7_append_oa_reports()
1129 spin_unlock_irqrestore(&stream->oa_buffer.ptr_lock, flags); in gen7_append_oa_reports()
1160 if (drm_WARN_ON(&uncore->i915->drm, !stream->oa_buffer.vaddr)) in gen7_oa_read()
1632 i915_vma_unpin_and_release(&stream->oa_buffer.vma, in free_oa_buffer()
1635 stream->oa_buffer.vaddr = NULL; in free_oa_buffer()
1702 u32 gtt_offset = i915_ggtt_offset(stream->oa_buffer.vma); in gen7_init_oa_buffer()
1705 spin_lock_irqsave(&stream->oa_buffer.ptr_lock, flags); in gen7_init_oa_buffer()
1712 stream->oa_buffer.head = 0; in gen7_init_oa_buffer()
1720 stream->oa_buffer.tail = 0; in gen7_init_oa_buffer()
1722 spin_unlock_irqrestore(&stream->oa_buffer.ptr_lock, flags); in gen7_init_oa_buffer()
1741 memset(stream->oa_buffer.vaddr, 0, OA_BUFFER_SIZE); in gen7_init_oa_buffer()
1747 u32 gtt_offset = i915_ggtt_offset(stream->oa_buffer.vma); in gen8_init_oa_buffer()
1750 spin_lock_irqsave(&stream->oa_buffer.ptr_lock, flags); in gen8_init_oa_buffer()
1754 stream->oa_buffer.head = 0; in gen8_init_oa_buffer()
1771 stream->oa_buffer.tail = 0; in gen8_init_oa_buffer()
1778 stream->oa_buffer.last_ctx_id = INVALID_CTX_ID; in gen8_init_oa_buffer()
1780 spin_unlock_irqrestore(&stream->oa_buffer.ptr_lock, flags); in gen8_init_oa_buffer()
1794 memset(stream->oa_buffer.vaddr, 0, OA_BUFFER_SIZE); in gen8_init_oa_buffer()
1800 u32 gtt_offset = i915_ggtt_offset(stream->oa_buffer.vma); in gen12_init_oa_buffer()
1803 spin_lock_irqsave(&stream->oa_buffer.ptr_lock, flags); in gen12_init_oa_buffer()
1808 stream->oa_buffer.head = 0; in gen12_init_oa_buffer()
1818 intel_uncore_write(uncore, __oa_regs(stream)->oa_buffer, gtt_offset | in gen12_init_oa_buffer()
1824 stream->oa_buffer.tail = 0; in gen12_init_oa_buffer()
1831 stream->oa_buffer.last_ctx_id = INVALID_CTX_ID; in gen12_init_oa_buffer()
1833 spin_unlock_irqrestore(&stream->oa_buffer.ptr_lock, flags); in gen12_init_oa_buffer()
1847 memset(stream->oa_buffer.vaddr, 0, in gen12_init_oa_buffer()
1848 stream->oa_buffer.vma->size); in gen12_init_oa_buffer()
1859 if (drm_WARN_ON(&i915->drm, stream->oa_buffer.vma)) in alloc_oa_buffer()
1890 stream->oa_buffer.vma = vma; in alloc_oa_buffer()
1892 stream->oa_buffer.vaddr = in alloc_oa_buffer()
1894 if (IS_ERR(stream->oa_buffer.vaddr)) { in alloc_oa_buffer()
1895 ret = PTR_ERR(stream->oa_buffer.vaddr); in alloc_oa_buffer()
1907 stream->oa_buffer.vaddr = NULL; in alloc_oa_buffer()
1908 stream->oa_buffer.vma = NULL; in alloc_oa_buffer()
2614 u32 format = stream->oa_buffer.format->format; in gen12_configure_oar_context()
2977 u32 report_format = stream->oa_buffer.format->format; in gen7_oa_enable()
3003 u32 report_format = stream->oa_buffer.format->format; in gen8_oa_enable()
3041 val = (stream->oa_buffer.format->format << regs->oa_ctrl_counter_format_shift) | in gen12_oa_enable()
3293 stream->oa_buffer.format = &perf->oa_formats[props->oa_format]; in i915_oa_stream_init()
3294 if (drm_WARN_ON(&i915->drm, stream->oa_buffer.format->size == 0)) in i915_oa_stream_init()
3298 stream->sample_size += stream->oa_buffer.format->size; in i915_oa_stream_init()
3368 spin_lock_init(&stream->oa_buffer.ptr_lock); in i915_oa_stream_init()