Lines Matching refs:dma_pages

301 	dev_priv->dma_pages = kmalloc(sizeof(drm_savage_dma_page_t) *  in savage_dma_init()
303 if (dev_priv->dma_pages == NULL) in savage_dma_init()
307 SET_AGE(&dev_priv->dma_pages[i].age, 0, 0); in savage_dma_init()
308 dev_priv->dma_pages[i].used = 0; in savage_dma_init()
309 dev_priv->dma_pages[i].flushed = 0; in savage_dma_init()
326 SET_AGE(&dev_priv->dma_pages[i].age, event, wrap); in savage_dma_reset()
327 dev_priv->dma_pages[i].used = 0; in savage_dma_reset()
328 dev_priv->dma_pages[i].flushed = 0; in savage_dma_reset()
352 if (dev_priv->dma_pages[page].age.wrap > wrap || in savage_dma_wait()
353 (dev_priv->dma_pages[page].age.wrap == wrap && in savage_dma_wait()
354 dev_priv->dma_pages[page].age.event > event)) { in savage_dma_wait()
356 dev_priv->dma_pages[page].age.event) in savage_dma_wait()
366 dev_priv->dma_pages[cur].used; in savage_dma_alloc()
373 cur, dev_priv->dma_pages[cur].used, n, rest, nr_pages); in savage_dma_alloc()
377 cur * SAVAGE_DMA_PAGE_SIZE + dev_priv->dma_pages[cur].used; in savage_dma_alloc()
380 dev_priv->dma_pages[cur].used += rest; in savage_dma_alloc()
388 dev_priv->dma_pages[i].age = dev_priv->last_dma_age; in savage_dma_alloc()
389 dev_priv->dma_pages[i].used = 0; in savage_dma_alloc()
390 dev_priv->dma_pages[i].flushed = 0; in savage_dma_alloc()
397 if (dev_priv->dma_pages[i].used) { in savage_dma_alloc()
399 i, dev_priv->dma_pages[i].used); in savage_dma_alloc()
403 dev_priv->dma_pages[i].used = SAVAGE_DMA_PAGE_SIZE; in savage_dma_alloc()
405 dev_priv->dma_pages[i].used = n; in savage_dma_alloc()
411 i, dev_priv->dma_pages[i].used, n); in savage_dma_alloc()
428 dev_priv->dma_pages[cur].used == dev_priv->dma_pages[cur].flushed) in savage_dma_flush()
433 pad = -dev_priv->dma_pages[cur].used & 1; in savage_dma_flush()
434 align = -(dev_priv->dma_pages[cur].used + pad) & 7; in savage_dma_flush()
438 first, cur, dev_priv->dma_pages[first].flushed, in savage_dma_flush()
439 dev_priv->dma_pages[cur].used, pad, align); in savage_dma_flush()
444 cur * SAVAGE_DMA_PAGE_SIZE + dev_priv->dma_pages[cur].used; in savage_dma_flush()
445 dev_priv->dma_pages[cur].used += pad; in savage_dma_flush()
457 dev_priv->dma_pages[first].flushed) * 4; in savage_dma_flush()
459 dev_priv->dma_pages[cur].used - dev_priv->dma_pages[first].flushed; in savage_dma_flush()
470 dev_priv->dma_pages[cur].used += align; in savage_dma_flush()
476 SET_AGE(&dev_priv->dma_pages[i].age, event, wrap); in savage_dma_flush()
477 dev_priv->dma_pages[i].used = 0; in savage_dma_flush()
478 dev_priv->dma_pages[i].flushed = 0; in savage_dma_flush()
481 if (dev_priv->dma_pages[cur].used == SAVAGE_DMA_PAGE_SIZE) { in savage_dma_flush()
482 SET_AGE(&dev_priv->dma_pages[cur].age, event, wrap); in savage_dma_flush()
483 dev_priv->dma_pages[cur].used = 0; in savage_dma_flush()
484 dev_priv->dma_pages[cur].flushed = 0; in savage_dma_flush()
492 dev_priv->dma_pages[cur].flushed = dev_priv->dma_pages[i].used; in savage_dma_flush()
497 dev_priv->dma_pages[cur].used, in savage_dma_flush()
498 dev_priv->dma_pages[cur].flushed); in savage_dma_flush()
507 dev_priv->dma_pages[dev_priv->current_dma_page].used == 0) in savage_fake_dma_flush()
512 dev_priv->dma_pages[dev_priv->current_dma_page].used); in savage_fake_dma_flush()
515 i <= dev_priv->current_dma_page && dev_priv->dma_pages[i].used; in savage_fake_dma_flush()
522 dev_priv->dma_pages[i].used != SAVAGE_DMA_PAGE_SIZE) { in savage_fake_dma_flush()
524 i, dev_priv->dma_pages[i].used); in savage_fake_dma_flush()
527 BEGIN_BCI(dev_priv->dma_pages[i].used); in savage_fake_dma_flush()
528 for (j = 0; j < dev_priv->dma_pages[i].used; ++j) { in savage_fake_dma_flush()
531 dev_priv->dma_pages[i].used = 0; in savage_fake_dma_flush()
909 kfree(dev_priv->dma_pages); in savage_do_cleanup_bci()