• Home
  • Raw
  • Download

Lines Matching refs:fifo_state

300 	struct vmw_fifo_state *fifo_state = &dev_priv->fifo;  in vmw_local_fifo_reserve()  local
305 uint32_t reserveable = fifo_state->capabilities & SVGA_FIFO_CAP_RESERVE; in vmw_local_fifo_reserve()
308 mutex_lock(&fifo_state->fifo_mutex); in vmw_local_fifo_reserve()
316 BUG_ON(fifo_state->reserved_size != 0); in vmw_local_fifo_reserve()
317 BUG_ON(fifo_state->dynamic_buffer != NULL); in vmw_local_fifo_reserve()
319 fifo_state->reserved_size = bytes; in vmw_local_fifo_reserve()
353 fifo_state->using_bounce_buffer = false; in vmw_local_fifo_reserve()
366 fifo_state->using_bounce_buffer = true; in vmw_local_fifo_reserve()
367 if (bytes < fifo_state->static_buffer_size) in vmw_local_fifo_reserve()
368 return fifo_state->static_buffer; in vmw_local_fifo_reserve()
370 fifo_state->dynamic_buffer = vmalloc(bytes); in vmw_local_fifo_reserve()
371 if (!fifo_state->dynamic_buffer) in vmw_local_fifo_reserve()
373 return fifo_state->dynamic_buffer; in vmw_local_fifo_reserve()
378 fifo_state->reserved_size = 0; in vmw_local_fifo_reserve()
379 mutex_unlock(&fifo_state->fifo_mutex); in vmw_local_fifo_reserve()
408 static void vmw_fifo_res_copy(struct vmw_fifo_state *fifo_state, in vmw_fifo_res_copy() argument
415 uint32_t *buffer = (fifo_state->dynamic_buffer != NULL) ? in vmw_fifo_res_copy()
416 fifo_state->dynamic_buffer : fifo_state->static_buffer; in vmw_fifo_res_copy()
429 static void vmw_fifo_slow_copy(struct vmw_fifo_state *fifo_state, in vmw_fifo_slow_copy() argument
434 uint32_t *buffer = (fifo_state->dynamic_buffer != NULL) ? in vmw_fifo_slow_copy()
435 fifo_state->dynamic_buffer : fifo_state->static_buffer; in vmw_fifo_slow_copy()
451 struct vmw_fifo_state *fifo_state = &dev_priv->fifo; in vmw_local_fifo_commit() local
456 bool reserveable = fifo_state->capabilities & SVGA_FIFO_CAP_RESERVE; in vmw_local_fifo_commit()
458 if (fifo_state->dx) in vmw_local_fifo_commit()
461 fifo_state->dx = false; in vmw_local_fifo_commit()
463 BUG_ON(bytes > fifo_state->reserved_size); in vmw_local_fifo_commit()
465 fifo_state->reserved_size = 0; in vmw_local_fifo_commit()
467 if (fifo_state->using_bounce_buffer) { in vmw_local_fifo_commit()
469 vmw_fifo_res_copy(fifo_state, fifo_mem, in vmw_local_fifo_commit()
472 vmw_fifo_slow_copy(fifo_state, fifo_mem, in vmw_local_fifo_commit()
475 if (fifo_state->dynamic_buffer) { in vmw_local_fifo_commit()
476 vfree(fifo_state->dynamic_buffer); in vmw_local_fifo_commit()
477 fifo_state->dynamic_buffer = NULL; in vmw_local_fifo_commit()
482 down_write(&fifo_state->rwsem); in vmw_local_fifo_commit()
483 if (fifo_state->using_bounce_buffer || reserveable) { in vmw_local_fifo_commit()
494 up_write(&fifo_state->rwsem); in vmw_local_fifo_commit()
496 mutex_unlock(&fifo_state->fifo_mutex); in vmw_local_fifo_commit()
541 struct vmw_fifo_state *fifo_state = &dev_priv->fifo; in vmw_fifo_send_fence() local
560 if (!(fifo_state->capabilities & SVGA_FIFO_CAP_FENCE)) { in vmw_fifo_send_fence()
575 (void) vmw_marker_push(&fifo_state->marker_queue, *seqno); in vmw_fifo_send_fence()
576 vmw_update_seqno(dev_priv, fifo_state); in vmw_fifo_send_fence()