Lines Matching refs:pipe_crc

3313 	struct intel_pipe_crc *pipe_crc = &dev_priv->pipe_crc[info->pipe];  in i915_pipe_crc_open()  local
3318 spin_lock_irq(&pipe_crc->lock); in i915_pipe_crc_open()
3320 if (pipe_crc->opened) { in i915_pipe_crc_open()
3321 spin_unlock_irq(&pipe_crc->lock); in i915_pipe_crc_open()
3325 pipe_crc->opened = true; in i915_pipe_crc_open()
3328 spin_unlock_irq(&pipe_crc->lock); in i915_pipe_crc_open()
3337 struct intel_pipe_crc *pipe_crc = &dev_priv->pipe_crc[info->pipe]; in i915_pipe_crc_release() local
3339 spin_lock_irq(&pipe_crc->lock); in i915_pipe_crc_release()
3340 pipe_crc->opened = false; in i915_pipe_crc_release()
3341 spin_unlock_irq(&pipe_crc->lock); in i915_pipe_crc_release()
3351 static int pipe_crc_data_count(struct intel_pipe_crc *pipe_crc) in pipe_crc_data_count() argument
3353 assert_spin_locked(&pipe_crc->lock); in pipe_crc_data_count()
3354 return CIRC_CNT(pipe_crc->head, pipe_crc->tail, in pipe_crc_data_count()
3365 struct intel_pipe_crc *pipe_crc = &dev_priv->pipe_crc[info->pipe]; in i915_pipe_crc_read() local
3377 if (pipe_crc->source == INTEL_PIPE_CRC_SOURCE_NONE) in i915_pipe_crc_read()
3381 spin_lock_irq(&pipe_crc->lock); in i915_pipe_crc_read()
3382 while (pipe_crc_data_count(pipe_crc) == 0) { in i915_pipe_crc_read()
3386 spin_unlock_irq(&pipe_crc->lock); in i915_pipe_crc_read()
3390 ret = wait_event_interruptible_lock_irq(pipe_crc->wq, in i915_pipe_crc_read()
3391 pipe_crc_data_count(pipe_crc), pipe_crc->lock); in i915_pipe_crc_read()
3393 spin_unlock_irq(&pipe_crc->lock); in i915_pipe_crc_read()
3404 &pipe_crc->entries[pipe_crc->tail]; in i915_pipe_crc_read()
3407 if (CIRC_CNT(pipe_crc->head, pipe_crc->tail, in i915_pipe_crc_read()
3412 pipe_crc->tail = (pipe_crc->tail + 1) & (INTEL_PIPE_CRC_ENTRIES_NR - 1); in i915_pipe_crc_read()
3420 spin_unlock_irq(&pipe_crc->lock); in i915_pipe_crc_read()
3429 spin_lock_irq(&pipe_crc->lock); in i915_pipe_crc_read()
3432 spin_unlock_irq(&pipe_crc->lock); in i915_pipe_crc_read()
3502 pipe_crc_source_name(dev_priv->pipe_crc[i].source)); in display_crc_ctl_show()
3873 struct intel_pipe_crc *pipe_crc = &dev_priv->pipe_crc[pipe]; in pipe_crc_set_source() local
3879 if (pipe_crc->source == source) in pipe_crc_set_source()
3883 if (pipe_crc->source && source) in pipe_crc_set_source()
3913 sizeof(pipe_crc->entries[0]), in pipe_crc_set_source()
3926 spin_lock_irq(&pipe_crc->lock); in pipe_crc_set_source()
3927 kfree(pipe_crc->entries); in pipe_crc_set_source()
3928 pipe_crc->entries = entries; in pipe_crc_set_source()
3929 pipe_crc->head = 0; in pipe_crc_set_source()
3930 pipe_crc->tail = 0; in pipe_crc_set_source()
3931 spin_unlock_irq(&pipe_crc->lock); in pipe_crc_set_source()
3934 pipe_crc->source = source; in pipe_crc_set_source()
3953 spin_lock_irq(&pipe_crc->lock); in pipe_crc_set_source()
3954 entries = pipe_crc->entries; in pipe_crc_set_source()
3955 pipe_crc->entries = NULL; in pipe_crc_set_source()
3956 pipe_crc->head = 0; in pipe_crc_set_source()
3957 pipe_crc->tail = 0; in pipe_crc_set_source()
3958 spin_unlock_irq(&pipe_crc->lock); in pipe_crc_set_source()
5283 struct intel_pipe_crc *pipe_crc = &dev_priv->pipe_crc[pipe]; in intel_display_crc_init() local
5285 pipe_crc->opened = false; in intel_display_crc_init()
5286 spin_lock_init(&pipe_crc->lock); in intel_display_crc_init()
5287 init_waitqueue_head(&pipe_crc->wq); in intel_display_crc_init()