• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/linux/linux-2.6/drivers/gpu/drm/vmwgfx/

Lines Matching refs:fifo_state

301 	struct vmw_fifo_state *fifo_state = &dev_priv->fifo;
306 uint32_t reserveable = fifo_state->capabilities & SVGA_FIFO_CAP_RESERVE;
309 mutex_lock(&fifo_state->fifo_mutex);
317 BUG_ON(fifo_state->reserved_size != 0);
318 BUG_ON(fifo_state->dynamic_buffer != NULL);
320 fifo_state->reserved_size = bytes;
354 fifo_state->using_bounce_buffer = false;
366 fifo_state->using_bounce_buffer = true;
367 if (bytes < fifo_state->static_buffer_size)
368 return fifo_state->static_buffer;
370 fifo_state->dynamic_buffer = vmalloc(bytes);
371 return fifo_state->dynamic_buffer;
376 fifo_state->reserved_size = 0;
377 mutex_unlock(&fifo_state->fifo_mutex);
381 static void vmw_fifo_res_copy(struct vmw_fifo_state *fifo_state,
388 uint32_t *buffer = (fifo_state->dynamic_buffer != NULL) ?
389 fifo_state->dynamic_buffer : fifo_state->static_buffer;
403 static void vmw_fifo_slow_copy(struct vmw_fifo_state *fifo_state,
408 uint32_t *buffer = (fifo_state->dynamic_buffer != NULL) ?
409 fifo_state->dynamic_buffer : fifo_state->static_buffer;
425 struct vmw_fifo_state *fifo_state = &dev_priv->fifo;
430 bool reserveable = fifo_state->capabilities & SVGA_FIFO_CAP_RESERVE;
433 BUG_ON(bytes > fifo_state->reserved_size);
435 fifo_state->reserved_size = 0;
437 if (fifo_state->using_bounce_buffer) {
439 vmw_fifo_res_copy(fifo_state, fifo_mem,
442 vmw_fifo_slow_copy(fifo_state, fifo_mem,
445 if (fifo_state->dynamic_buffer) {
446 vfree(fifo_state->dynamic_buffer);
447 fifo_state->dynamic_buffer = NULL;
452 down_write(&fifo_state->rwsem);
453 if (fifo_state->using_bounce_buffer || reserveable) {
464 up_write(&fifo_state->rwsem);
466 mutex_unlock(&fifo_state->fifo_mutex);
471 struct vmw_fifo_state *fifo_state = &dev_priv->fifo;
490 if (!(fifo_state->capabilities & SVGA_FIFO_CAP_FENCE)) {
506 fifo_state->last_buffer_add = true;
508 fifo_state->last_buffer_add = false;
509 (void) vmw_fence_push(&fifo_state->fence_queue, *sequence);
510 vmw_update_sequence(dev_priv, fifo_state);