Lines Matching refs:oa_buffer
458 u32 gtt_offset = i915_ggtt_offset(stream->oa_buffer.vma); in oa_buffer_check_unlocked()
459 int report_size = stream->oa_buffer.format_size; in oa_buffer_check_unlocked()
469 spin_lock_irqsave(&stream->oa_buffer.ptr_lock, flags); in oa_buffer_check_unlocked()
480 if (hw_tail == stream->oa_buffer.aging_tail && in oa_buffer_check_unlocked()
481 (now - stream->oa_buffer.aging_timestamp) > OA_TAIL_MARGIN_NSEC) { in oa_buffer_check_unlocked()
486 stream->oa_buffer.tail = stream->oa_buffer.aging_tail; in oa_buffer_check_unlocked()
494 head = stream->oa_buffer.head - gtt_offset; in oa_buffer_check_unlocked()
495 aged_tail = stream->oa_buffer.tail - gtt_offset; in oa_buffer_check_unlocked()
512 u32 *report32 = (void *)(stream->oa_buffer.vaddr + tail); in oa_buffer_check_unlocked()
526 stream->oa_buffer.tail = gtt_offset + tail; in oa_buffer_check_unlocked()
527 stream->oa_buffer.aging_tail = gtt_offset + hw_tail; in oa_buffer_check_unlocked()
528 stream->oa_buffer.aging_timestamp = now; in oa_buffer_check_unlocked()
531 pollin = OA_TAKEN(stream->oa_buffer.tail - gtt_offset, in oa_buffer_check_unlocked()
532 stream->oa_buffer.head - gtt_offset) >= report_size; in oa_buffer_check_unlocked()
534 spin_unlock_irqrestore(&stream->oa_buffer.ptr_lock, flags); in oa_buffer_check_unlocked()
596 int report_size = stream->oa_buffer.format_size; in append_oa_sample()
646 int report_size = stream->oa_buffer.format_size; in gen8_append_oa_reports()
647 u8 *oa_buf_base = stream->oa_buffer.vaddr; in gen8_append_oa_reports()
648 u32 gtt_offset = i915_ggtt_offset(stream->oa_buffer.vma); in gen8_append_oa_reports()
659 spin_lock_irqsave(&stream->oa_buffer.ptr_lock, flags); in gen8_append_oa_reports()
661 head = stream->oa_buffer.head; in gen8_append_oa_reports()
662 tail = stream->oa_buffer.tail; in gen8_append_oa_reports()
664 spin_unlock_irqrestore(&stream->oa_buffer.ptr_lock, flags); in gen8_append_oa_reports()
773 stream->oa_buffer.last_ctx_id == stream->specific_ctx_id || in gen8_append_oa_reports()
790 stream->oa_buffer.last_ctx_id = ctx_id; in gen8_append_oa_reports()
807 spin_lock_irqsave(&stream->oa_buffer.ptr_lock, flags); in gen8_append_oa_reports()
816 stream->oa_buffer.head = head; in gen8_append_oa_reports()
818 spin_unlock_irqrestore(&stream->oa_buffer.ptr_lock, flags); in gen8_append_oa_reports()
854 if (drm_WARN_ON(&uncore->i915->drm, !stream->oa_buffer.vaddr)) in gen8_oa_read()
939 int report_size = stream->oa_buffer.format_size; in gen7_append_oa_reports()
940 u8 *oa_buf_base = stream->oa_buffer.vaddr; in gen7_append_oa_reports()
941 u32 gtt_offset = i915_ggtt_offset(stream->oa_buffer.vma); in gen7_append_oa_reports()
952 spin_lock_irqsave(&stream->oa_buffer.ptr_lock, flags); in gen7_append_oa_reports()
954 head = stream->oa_buffer.head; in gen7_append_oa_reports()
955 tail = stream->oa_buffer.tail; in gen7_append_oa_reports()
957 spin_unlock_irqrestore(&stream->oa_buffer.ptr_lock, flags); in gen7_append_oa_reports()
1024 spin_lock_irqsave(&stream->oa_buffer.ptr_lock, flags); in gen7_append_oa_reports()
1034 stream->oa_buffer.head = head; in gen7_append_oa_reports()
1036 spin_unlock_irqrestore(&stream->oa_buffer.ptr_lock, flags); in gen7_append_oa_reports()
1067 if (drm_WARN_ON(&uncore->i915->drm, !stream->oa_buffer.vaddr)) in gen7_oa_read()
1345 i915_vma_unpin_and_release(&stream->oa_buffer.vma, in free_oa_buffer()
1348 stream->oa_buffer.vaddr = NULL; in free_oa_buffer()
1402 u32 gtt_offset = i915_ggtt_offset(stream->oa_buffer.vma); in gen7_init_oa_buffer()
1405 spin_lock_irqsave(&stream->oa_buffer.ptr_lock, flags); in gen7_init_oa_buffer()
1412 stream->oa_buffer.head = gtt_offset; in gen7_init_oa_buffer()
1420 stream->oa_buffer.aging_tail = INVALID_TAIL_PTR; in gen7_init_oa_buffer()
1421 stream->oa_buffer.tail = gtt_offset; in gen7_init_oa_buffer()
1423 spin_unlock_irqrestore(&stream->oa_buffer.ptr_lock, flags); in gen7_init_oa_buffer()
1442 memset(stream->oa_buffer.vaddr, 0, OA_BUFFER_SIZE); in gen7_init_oa_buffer()
1448 u32 gtt_offset = i915_ggtt_offset(stream->oa_buffer.vma); in gen8_init_oa_buffer()
1451 spin_lock_irqsave(&stream->oa_buffer.ptr_lock, flags); in gen8_init_oa_buffer()
1455 stream->oa_buffer.head = gtt_offset; in gen8_init_oa_buffer()
1472 stream->oa_buffer.aging_tail = INVALID_TAIL_PTR; in gen8_init_oa_buffer()
1473 stream->oa_buffer.tail = gtt_offset; in gen8_init_oa_buffer()
1480 stream->oa_buffer.last_ctx_id = INVALID_CTX_ID; in gen8_init_oa_buffer()
1482 spin_unlock_irqrestore(&stream->oa_buffer.ptr_lock, flags); in gen8_init_oa_buffer()
1496 memset(stream->oa_buffer.vaddr, 0, OA_BUFFER_SIZE); in gen8_init_oa_buffer()
1502 u32 gtt_offset = i915_ggtt_offset(stream->oa_buffer.vma); in gen12_init_oa_buffer()
1505 spin_lock_irqsave(&stream->oa_buffer.ptr_lock, flags); in gen12_init_oa_buffer()
1510 stream->oa_buffer.head = gtt_offset; in gen12_init_oa_buffer()
1526 stream->oa_buffer.aging_tail = INVALID_TAIL_PTR; in gen12_init_oa_buffer()
1527 stream->oa_buffer.tail = gtt_offset; in gen12_init_oa_buffer()
1534 stream->oa_buffer.last_ctx_id = INVALID_CTX_ID; in gen12_init_oa_buffer()
1536 spin_unlock_irqrestore(&stream->oa_buffer.ptr_lock, flags); in gen12_init_oa_buffer()
1550 memset(stream->oa_buffer.vaddr, 0, in gen12_init_oa_buffer()
1551 stream->oa_buffer.vma->size); in gen12_init_oa_buffer()
1561 if (drm_WARN_ON(&i915->drm, stream->oa_buffer.vma)) in alloc_oa_buffer()
1581 stream->oa_buffer.vma = vma; in alloc_oa_buffer()
1583 stream->oa_buffer.vaddr = in alloc_oa_buffer()
1585 if (IS_ERR(stream->oa_buffer.vaddr)) { in alloc_oa_buffer()
1586 ret = PTR_ERR(stream->oa_buffer.vaddr); in alloc_oa_buffer()
1598 stream->oa_buffer.vaddr = NULL; in alloc_oa_buffer()
1599 stream->oa_buffer.vma = NULL; in alloc_oa_buffer()
2277 u32 format = stream->oa_buffer.format; in gen12_configure_oar_context()
2624 u32 report_format = stream->oa_buffer.format; in gen7_oa_enable()
2650 u32 report_format = stream->oa_buffer.format; in gen8_oa_enable()
2676 u32 report_format = stream->oa_buffer.format; in gen12_oa_enable()
2910 stream->oa_buffer.format_size = format_size; in i915_oa_stream_init()
2911 if (drm_WARN_ON(&i915->drm, stream->oa_buffer.format_size == 0)) in i915_oa_stream_init()
2916 stream->oa_buffer.format = in i915_oa_stream_init()
2981 spin_lock_init(&stream->oa_buffer.ptr_lock); in i915_oa_stream_init()