Lines Matching refs:pipe_crc
3023 struct intel_pipe_crc *pipe_crc = &dev_priv->pipe_crc[info->pipe]; in i915_pipe_crc_open() local
3028 spin_lock_irq(&pipe_crc->lock); in i915_pipe_crc_open()
3030 if (pipe_crc->opened) { in i915_pipe_crc_open()
3031 spin_unlock_irq(&pipe_crc->lock); in i915_pipe_crc_open()
3035 pipe_crc->opened = true; in i915_pipe_crc_open()
3038 spin_unlock_irq(&pipe_crc->lock); in i915_pipe_crc_open()
3047 struct intel_pipe_crc *pipe_crc = &dev_priv->pipe_crc[info->pipe]; in i915_pipe_crc_release() local
3049 spin_lock_irq(&pipe_crc->lock); in i915_pipe_crc_release()
3050 pipe_crc->opened = false; in i915_pipe_crc_release()
3051 spin_unlock_irq(&pipe_crc->lock); in i915_pipe_crc_release()
3061 static int pipe_crc_data_count(struct intel_pipe_crc *pipe_crc) in pipe_crc_data_count() argument
3063 assert_spin_locked(&pipe_crc->lock); in pipe_crc_data_count()
3064 return CIRC_CNT(pipe_crc->head, pipe_crc->tail, in pipe_crc_data_count()
3075 struct intel_pipe_crc *pipe_crc = &dev_priv->pipe_crc[info->pipe]; in i915_pipe_crc_read() local
3087 if (pipe_crc->source == INTEL_PIPE_CRC_SOURCE_NONE) in i915_pipe_crc_read()
3091 spin_lock_irq(&pipe_crc->lock); in i915_pipe_crc_read()
3092 while (pipe_crc_data_count(pipe_crc) == 0) { in i915_pipe_crc_read()
3096 spin_unlock_irq(&pipe_crc->lock); in i915_pipe_crc_read()
3100 ret = wait_event_interruptible_lock_irq(pipe_crc->wq, in i915_pipe_crc_read()
3101 pipe_crc_data_count(pipe_crc), pipe_crc->lock); in i915_pipe_crc_read()
3103 spin_unlock_irq(&pipe_crc->lock); in i915_pipe_crc_read()
3114 &pipe_crc->entries[pipe_crc->tail]; in i915_pipe_crc_read()
3117 if (CIRC_CNT(pipe_crc->head, pipe_crc->tail, in i915_pipe_crc_read()
3122 pipe_crc->tail = (pipe_crc->tail + 1) & (INTEL_PIPE_CRC_ENTRIES_NR - 1); in i915_pipe_crc_read()
3130 spin_unlock_irq(&pipe_crc->lock); in i915_pipe_crc_read()
3139 spin_lock_irq(&pipe_crc->lock); in i915_pipe_crc_read()
3142 spin_unlock_irq(&pipe_crc->lock); in i915_pipe_crc_read()
3212 pipe_crc_source_name(dev_priv->pipe_crc[i].source)); in display_crc_ctl_show()
3598 struct intel_pipe_crc *pipe_crc = &dev_priv->pipe_crc[pipe]; in pipe_crc_set_source() local
3604 if (pipe_crc->source == source) in pipe_crc_set_source()
3608 if (pipe_crc->source && source) in pipe_crc_set_source()
3638 sizeof(pipe_crc->entries[0]), in pipe_crc_set_source()
3651 spin_lock_irq(&pipe_crc->lock); in pipe_crc_set_source()
3652 kfree(pipe_crc->entries); in pipe_crc_set_source()
3653 pipe_crc->entries = entries; in pipe_crc_set_source()
3654 pipe_crc->head = 0; in pipe_crc_set_source()
3655 pipe_crc->tail = 0; in pipe_crc_set_source()
3656 spin_unlock_irq(&pipe_crc->lock); in pipe_crc_set_source()
3659 pipe_crc->source = source; in pipe_crc_set_source()
3678 spin_lock_irq(&pipe_crc->lock); in pipe_crc_set_source()
3679 entries = pipe_crc->entries; in pipe_crc_set_source()
3680 pipe_crc->entries = NULL; in pipe_crc_set_source()
3681 pipe_crc->head = 0; in pipe_crc_set_source()
3682 pipe_crc->tail = 0; in pipe_crc_set_source()
3683 spin_unlock_irq(&pipe_crc->lock); in pipe_crc_set_source()
4727 struct intel_pipe_crc *pipe_crc = &dev_priv->pipe_crc[pipe]; in intel_display_crc_init() local
4729 pipe_crc->opened = false; in intel_display_crc_init()
4730 spin_lock_init(&pipe_crc->lock); in intel_display_crc_init()
4731 init_waitqueue_head(&pipe_crc->wq); in intel_display_crc_init()