blitq             315 drivers/gpu/drm/via/via_dmablit.c 	drm_via_blitq_t *blitq = dev_priv->blit_queues + engine;
blitq             322 drivers/gpu/drm/via/via_dmablit.c 		  engine, from_irq, (unsigned long) blitq);
blitq             325 drivers/gpu/drm/via/via_dmablit.c 		spin_lock(&blitq->blit_lock);
blitq             327 drivers/gpu/drm/via/via_dmablit.c 		spin_lock_irqsave(&blitq->blit_lock, irqsave);
blitq             329 drivers/gpu/drm/via/via_dmablit.c 	done_transfer = blitq->is_active &&
blitq             331 drivers/gpu/drm/via/via_dmablit.c 	done_transfer = done_transfer || (blitq->aborting && !(status & VIA_DMA_CSR_DE));
blitq             333 drivers/gpu/drm/via/via_dmablit.c 	cur = blitq->cur;
blitq             336 drivers/gpu/drm/via/via_dmablit.c 		blitq->blits[cur]->aborted = blitq->aborting;
blitq             337 drivers/gpu/drm/via/via_dmablit.c 		blitq->done_blit_handle++;
blitq             338 drivers/gpu/drm/via/via_dmablit.c 		wake_up(blitq->blit_queue + cur);
blitq             343 drivers/gpu/drm/via/via_dmablit.c 		blitq->cur = cur;
blitq             351 drivers/gpu/drm/via/via_dmablit.c 		blitq->is_active = 0;
blitq             352 drivers/gpu/drm/via/via_dmablit.c 		blitq->aborting = 0;
blitq             353 drivers/gpu/drm/via/via_dmablit.c 		schedule_work(&blitq->wq);
blitq             355 drivers/gpu/drm/via/via_dmablit.c 	} else if (blitq->is_active && time_after_eq(jiffies, blitq->end)) {
blitq             362 drivers/gpu/drm/via/via_dmablit.c 		blitq->aborting = 1;
blitq             363 drivers/gpu/drm/via/via_dmablit.c 		blitq->end = jiffies + HZ;
blitq             366 drivers/gpu/drm/via/via_dmablit.c 	if (!blitq->is_active) {
blitq             367 drivers/gpu/drm/via/via_dmablit.c 		if (blitq->num_outstanding) {
blitq             368 drivers/gpu/drm/via/via_dmablit.c 			via_fire_dmablit(dev, blitq->blits[cur], engine);
blitq             369 drivers/gpu/drm/via/via_dmablit.c 			blitq->is_active = 1;
blitq             370 drivers/gpu/drm/via/via_dmablit.c 			blitq->cur = cur;
blitq             371 drivers/gpu/drm/via/via_dmablit.c 			blitq->num_outstanding--;
blitq             372 drivers/gpu/drm/via/via_dmablit.c 			blitq->end = jiffies + HZ;
blitq             373 drivers/gpu/drm/via/via_dmablit.c 			if (!timer_pending(&blitq->poll_timer))
blitq             374 drivers/gpu/drm/via/via_dmablit.c 				mod_timer(&blitq->poll_timer, jiffies + 1);
blitq             376 drivers/gpu/drm/via/via_dmablit.c 			if (timer_pending(&blitq->poll_timer))
blitq             377 drivers/gpu/drm/via/via_dmablit.c 				del_timer(&blitq->poll_timer);
blitq             383 drivers/gpu/drm/via/via_dmablit.c 		spin_unlock(&blitq->blit_lock);
blitq             385 drivers/gpu/drm/via/via_dmablit.c 		spin_unlock_irqrestore(&blitq->blit_lock, irqsave);
blitq             395 drivers/gpu/drm/via/via_dmablit.c via_dmablit_active(drm_via_blitq_t *blitq, int engine, uint32_t handle, wait_queue_head_t **queue)
blitq             401 drivers/gpu/drm/via/via_dmablit.c 	spin_lock_irqsave(&blitq->blit_lock, irqsave);
blitq             407 drivers/gpu/drm/via/via_dmablit.c 	active = ((blitq->done_blit_handle - handle) > (1 << 23)) &&
blitq             408 drivers/gpu/drm/via/via_dmablit.c 		((blitq->cur_blit_handle - handle) <= (1 << 23));
blitq             411 drivers/gpu/drm/via/via_dmablit.c 		slot = handle - blitq->done_blit_handle + blitq->cur - 1;
blitq             414 drivers/gpu/drm/via/via_dmablit.c 		*queue = blitq->blit_queue + slot;
blitq             417 drivers/gpu/drm/via/via_dmablit.c 	spin_unlock_irqrestore(&blitq->blit_lock, irqsave);
blitq             431 drivers/gpu/drm/via/via_dmablit.c 	drm_via_blitq_t *blitq = dev_priv->blit_queues + engine;
blitq             435 drivers/gpu/drm/via/via_dmablit.c 	if (via_dmablit_active(blitq, engine, handle, &queue)) {
blitq             437 drivers/gpu/drm/via/via_dmablit.c 			    !via_dmablit_active(blitq, engine, handle, NULL));
blitq             459 drivers/gpu/drm/via/via_dmablit.c 	drm_via_blitq_t *blitq = from_timer(blitq, t, poll_timer);
blitq             460 drivers/gpu/drm/via/via_dmablit.c 	struct drm_device *dev = blitq->dev;
blitq             462 drivers/gpu/drm/via/via_dmablit.c 		(blitq - ((drm_via_private_t *)dev->dev_private)->blit_queues);
blitq             469 drivers/gpu/drm/via/via_dmablit.c 	if (!timer_pending(&blitq->poll_timer)) {
blitq             470 drivers/gpu/drm/via/via_dmablit.c 		mod_timer(&blitq->poll_timer, jiffies + 1);
blitq             495 drivers/gpu/drm/via/via_dmablit.c 	drm_via_blitq_t *blitq = container_of(work, drm_via_blitq_t, wq);
blitq             496 drivers/gpu/drm/via/via_dmablit.c 	struct drm_device *dev = blitq->dev;
blitq             503 drivers/gpu/drm/via/via_dmablit.c 		  (blitq - ((drm_via_private_t *)dev->dev_private)->blit_queues));
blitq             505 drivers/gpu/drm/via/via_dmablit.c 	spin_lock_irqsave(&blitq->blit_lock, irqsave);
blitq             507 drivers/gpu/drm/via/via_dmablit.c 	while (blitq->serviced != blitq->cur) {
blitq             509 drivers/gpu/drm/via/via_dmablit.c 		cur_released = blitq->serviced++;
blitq             513 drivers/gpu/drm/via/via_dmablit.c 		if (blitq->serviced >= VIA_NUM_BLIT_SLOTS)
blitq             514 drivers/gpu/drm/via/via_dmablit.c 			blitq->serviced = 0;
blitq             516 drivers/gpu/drm/via/via_dmablit.c 		cur_sg = blitq->blits[cur_released];
blitq             517 drivers/gpu/drm/via/via_dmablit.c 		blitq->num_free++;
blitq             519 drivers/gpu/drm/via/via_dmablit.c 		spin_unlock_irqrestore(&blitq->blit_lock, irqsave);
blitq             521 drivers/gpu/drm/via/via_dmablit.c 		wake_up(&blitq->busy_queue);
blitq             526 drivers/gpu/drm/via/via_dmablit.c 		spin_lock_irqsave(&blitq->blit_lock, irqsave);
blitq             529 drivers/gpu/drm/via/via_dmablit.c 	spin_unlock_irqrestore(&blitq->blit_lock, irqsave);
blitq             543 drivers/gpu/drm/via/via_dmablit.c 	drm_via_blitq_t *blitq;
blitq             548 drivers/gpu/drm/via/via_dmablit.c 		blitq = dev_priv->blit_queues + i;
blitq             549 drivers/gpu/drm/via/via_dmablit.c 		blitq->dev = dev;
blitq             550 drivers/gpu/drm/via/via_dmablit.c 		blitq->cur_blit_handle = 0;
blitq             551 drivers/gpu/drm/via/via_dmablit.c 		blitq->done_blit_handle = 0;
blitq             552 drivers/gpu/drm/via/via_dmablit.c 		blitq->head = 0;
blitq             553 drivers/gpu/drm/via/via_dmablit.c 		blitq->cur = 0;
blitq             554 drivers/gpu/drm/via/via_dmablit.c 		blitq->serviced = 0;
blitq             555 drivers/gpu/drm/via/via_dmablit.c 		blitq->num_free = VIA_NUM_BLIT_SLOTS - 1;
blitq             556 drivers/gpu/drm/via/via_dmablit.c 		blitq->num_outstanding = 0;
blitq             557 drivers/gpu/drm/via/via_dmablit.c 		blitq->is_active = 0;
blitq             558 drivers/gpu/drm/via/via_dmablit.c 		blitq->aborting = 0;
blitq             559 drivers/gpu/drm/via/via_dmablit.c 		spin_lock_init(&blitq->blit_lock);
blitq             561 drivers/gpu/drm/via/via_dmablit.c 			init_waitqueue_head(blitq->blit_queue + j);
blitq             562 drivers/gpu/drm/via/via_dmablit.c 		init_waitqueue_head(&blitq->busy_queue);
blitq             563 drivers/gpu/drm/via/via_dmablit.c 		INIT_WORK(&blitq->wq, via_dmablit_workqueue);
blitq             564 drivers/gpu/drm/via/via_dmablit.c 		timer_setup(&blitq->poll_timer, via_dmablit_timer, 0);
blitq             677 drivers/gpu/drm/via/via_dmablit.c via_dmablit_grab_slot(drm_via_blitq_t *blitq, int engine)
blitq             682 drivers/gpu/drm/via/via_dmablit.c 	DRM_DEBUG("Num free is %d\n", blitq->num_free);
blitq             683 drivers/gpu/drm/via/via_dmablit.c 	spin_lock_irqsave(&blitq->blit_lock, irqsave);
blitq             684 drivers/gpu/drm/via/via_dmablit.c 	while (blitq->num_free == 0) {
blitq             685 drivers/gpu/drm/via/via_dmablit.c 		spin_unlock_irqrestore(&blitq->blit_lock, irqsave);
blitq             687 drivers/gpu/drm/via/via_dmablit.c 		VIA_WAIT_ON(ret, blitq->busy_queue, HZ, blitq->num_free > 0);
blitq             691 drivers/gpu/drm/via/via_dmablit.c 		spin_lock_irqsave(&blitq->blit_lock, irqsave);
blitq             694 drivers/gpu/drm/via/via_dmablit.c 	blitq->num_free--;
blitq             695 drivers/gpu/drm/via/via_dmablit.c 	spin_unlock_irqrestore(&blitq->blit_lock, irqsave);
blitq             705 drivers/gpu/drm/via/via_dmablit.c via_dmablit_release_slot(drm_via_blitq_t *blitq)
blitq             709 drivers/gpu/drm/via/via_dmablit.c 	spin_lock_irqsave(&blitq->blit_lock, irqsave);
blitq             710 drivers/gpu/drm/via/via_dmablit.c 	blitq->num_free++;
blitq             711 drivers/gpu/drm/via/via_dmablit.c 	spin_unlock_irqrestore(&blitq->blit_lock, irqsave);
blitq             712 drivers/gpu/drm/via/via_dmablit.c 	wake_up(&blitq->busy_queue);
blitq             725 drivers/gpu/drm/via/via_dmablit.c 	drm_via_blitq_t *blitq;
blitq             736 drivers/gpu/drm/via/via_dmablit.c 	blitq = dev_priv->blit_queues + engine;
blitq             737 drivers/gpu/drm/via/via_dmablit.c 	if (0 != (ret = via_dmablit_grab_slot(blitq, engine)))
blitq             740 drivers/gpu/drm/via/via_dmablit.c 		via_dmablit_release_slot(blitq);
blitq             744 drivers/gpu/drm/via/via_dmablit.c 		via_dmablit_release_slot(blitq);
blitq             748 drivers/gpu/drm/via/via_dmablit.c 	spin_lock_irqsave(&blitq->blit_lock, irqsave);
blitq             750 drivers/gpu/drm/via/via_dmablit.c 	blitq->blits[blitq->head++] = vsg;
blitq             751 drivers/gpu/drm/via/via_dmablit.c 	if (blitq->head >= VIA_NUM_BLIT_SLOTS)
blitq             752 drivers/gpu/drm/via/via_dmablit.c 		blitq->head = 0;
blitq             753 drivers/gpu/drm/via/via_dmablit.c 	blitq->num_outstanding++;
blitq             754 drivers/gpu/drm/via/via_dmablit.c 	xfer->sync.sync_handle = ++blitq->cur_blit_handle;
blitq             756 drivers/gpu/drm/via/via_dmablit.c 	spin_unlock_irqrestore(&blitq->blit_lock, irqsave);