• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/arch/powerpc/kernel/

Lines Matching refs:cmo

161 	if (viodev->cmo.entitled > viodev->cmo.allocated)
162 reserve_free = viodev->cmo.entitled - viodev->cmo.allocated;
173 viodev->cmo.allocated += size;
208 if (viodev->cmo.allocated > viodev->cmo.entitled) {
209 excess_freed = min(reserve_freed, (viodev->cmo.allocated -
210 viodev->cmo.entitled));
215 viodev->cmo.allocated -= (reserve_freed + excess_freed);
242 (viodev->cmo.entitled -
246 viodev->cmo.entitled -= tmp;
328 if ((viodev->cmo.entitled > viodev->cmo.allocated) &&
329 (viodev->cmo.entitled > VIO_CMO_MIN_ENT))
330 avail += viodev->cmo.entitled -
331 max_t(size_t, viodev->cmo.allocated,
354 if ((viodev->cmo.entitled > viodev->cmo.allocated) &&
355 (viodev->cmo.entitled > VIO_CMO_MIN_ENT))
356 tmp = viodev->cmo.entitled -
357 max_t(size_t, viodev->cmo.allocated,
359 viodev->cmo.entitled -= min(tmp, delta);
396 struct vio_cmo *cmo;
403 cmo = container_of(work, struct vio_cmo, balance_q.work);
408 cmo->min = vio_cmo_num_OF_devs() * VIO_CMO_MIN_ENT;
409 BUG_ON(cmo->min > cmo->entitled);
410 cmo->spare = min_t(size_t, VIO_CMO_MIN_ENT, (cmo->entitled - cmo->min));
411 cmo->min += cmo->spare;
412 cmo->desired = cmo->min;
418 avail = cmo->entitled - cmo->spare;
422 viodev->cmo.entitled = VIO_CMO_MIN_ENT;
423 cmo->desired += (viodev->cmo.desired - VIO_CMO_MIN_ENT);
424 avail -= max_t(size_t, viodev->cmo.allocated, VIO_CMO_MIN_ENT);
438 if (viodev->cmo.desired <= level) {
449 chunk = min(chunk, (viodev->cmo.desired -
450 viodev->cmo.entitled));
451 viodev->cmo.entitled += chunk;
458 need = max(viodev->cmo.allocated, viodev->cmo.entitled)-
459 max(viodev->cmo.allocated, level);
469 cmo->reserve.size = cmo->min;
470 cmo->excess.free = 0;
471 cmo->excess.size = 0;
476 if (viodev->cmo.entitled)
477 cmo->reserve.size += (viodev->cmo.entitled -
480 if (viodev->cmo.allocated > viodev->cmo.entitled)
481 need += viodev->cmo.allocated - viodev->cmo.entitled;
483 cmo->excess.size = cmo->entitled - cmo->reserve.size;
484 cmo->excess.free = cmo->excess.size - need;
497 atomic_inc(&viodev->cmo.allocs_failed);
504 atomic_inc(&viodev->cmo.allocs_failed);
529 atomic_inc(&viodev->cmo.allocs_failed);
536 atomic_inc(&viodev->cmo.allocs_failed);
567 atomic_inc(&viodev->cmo.allocs_failed);
575 atomic_inc(&viodev->cmo.allocs_failed);
654 if (desired >= viodev->cmo.desired) {
656 vio_cmo.desired += desired - viodev->cmo.desired;
657 viodev->cmo.desired = desired;
660 vio_cmo.desired -= viodev->cmo.desired - desired;
661 viodev->cmo.desired = desired;
666 if (viodev->cmo.entitled > desired) {
667 vio_cmo.reserve.size -= viodev->cmo.entitled - desired;
668 vio_cmo.excess.size += viodev->cmo.entitled - desired;
674 if (viodev->cmo.allocated < viodev->cmo.entitled)
675 vio_cmo.excess.free += viodev->cmo.entitled -
676 max(viodev->cmo.allocated, desired);
677 viodev->cmo.entitled = desired;
719 viodev->cmo.desired = IOMMU_PAGE_ALIGN(viodrv->get_desired_dma(viodev));
720 if (viodev->cmo.desired < VIO_CMO_MIN_ENT)
721 viodev->cmo.desired = VIO_CMO_MIN_ENT;
733 viodev->cmo.desired = 0;
748 vio_cmo.desired += (viodev->cmo.desired -
774 vio_cmo.desired += viodev->cmo.desired;
785 * Remove the device from the cmo device list. The minimum entitlement
797 if (viodev->cmo.allocated) {
800 __func__, viodev->cmo.allocated);
820 if (viodev->cmo.entitled) {
826 vio_cmo.desired -= (viodev->cmo.desired - VIO_CMO_MIN_ENT);
833 viodev->cmo.entitled -= VIO_CMO_MIN_ENT;
836 if (viodev->cmo.entitled && (vio_cmo.spare < VIO_CMO_MIN_ENT)) {
837 tmp = min(viodev->cmo.entitled, (VIO_CMO_MIN_ENT -
840 viodev->cmo.entitled -= tmp;
844 vio_cmo.excess.size += viodev->cmo.entitled;
845 vio_cmo.excess.free += viodev->cmo.entitled;
846 vio_cmo.reserve.size -= viodev->cmo.entitled;
853 viodev->cmo.entitled = VIO_CMO_MIN_ENT;
854 viodev->cmo.desired = VIO_CMO_MIN_ENT;
855 atomic_set(&viodev->cmo.allocs_failed, 0);
924 return sprintf(buf, "%lu\n", to_vio_dev(dev)->cmo.name); \
931 return sprintf(buf, "%d\n", atomic_read(&viodev->cmo.allocs_failed));
938 atomic_set(&viodev->cmo.allocs_failed, 0);
1120 memset(&viodev->cmo, 0, sizeof(viodev->cmo));