Lines Matching refs:entitled
91 size_t entitled; member
153 if (viodev->cmo.entitled > viodev->cmo.allocated) in vio_cmo_alloc()
154 reserve_free = viodev->cmo.entitled - viodev->cmo.allocated; in vio_cmo_alloc()
200 if (viodev->cmo.allocated > viodev->cmo.entitled) { in vio_cmo_dealloc()
202 viodev->cmo.entitled)); in vio_cmo_dealloc()
233 tmp = min3(spare_needed, reserve_freed, (viodev->cmo.entitled - VIO_CMO_MIN_ENT)); in vio_cmo_dealloc()
236 viodev->cmo.entitled -= tmp; in vio_cmo_dealloc()
286 if (new_entitlement > vio_cmo.entitled) { in vio_cmo_entitlement_update()
287 delta = new_entitlement - vio_cmo.entitled; in vio_cmo_entitlement_update()
298 vio_cmo.entitled += delta; in vio_cmo_entitlement_update()
306 delta = vio_cmo.entitled - new_entitlement; in vio_cmo_entitlement_update()
318 if ((viodev->cmo.entitled > viodev->cmo.allocated) && in vio_cmo_entitlement_update()
319 (viodev->cmo.entitled > VIO_CMO_MIN_ENT)) in vio_cmo_entitlement_update()
320 avail += viodev->cmo.entitled - in vio_cmo_entitlement_update()
326 vio_cmo.entitled -= delta; in vio_cmo_entitlement_update()
344 if ((viodev->cmo.entitled > viodev->cmo.allocated) && in vio_cmo_entitlement_update()
345 (viodev->cmo.entitled > VIO_CMO_MIN_ENT)) in vio_cmo_entitlement_update()
346 tmp = viodev->cmo.entitled - in vio_cmo_entitlement_update()
349 viodev->cmo.entitled -= min(tmp, delta); in vio_cmo_entitlement_update()
399 BUG_ON(cmo->min > cmo->entitled); in vio_cmo_balance()
400 cmo->spare = min_t(size_t, VIO_CMO_MIN_ENT, (cmo->entitled - cmo->min)); in vio_cmo_balance()
408 avail = cmo->entitled - cmo->spare; in vio_cmo_balance()
412 viodev->cmo.entitled = VIO_CMO_MIN_ENT; in vio_cmo_balance()
440 viodev->cmo.entitled)); in vio_cmo_balance()
441 viodev->cmo.entitled += chunk; in vio_cmo_balance()
448 need = max(viodev->cmo.allocated, viodev->cmo.entitled)- in vio_cmo_balance()
466 if (viodev->cmo.entitled) in vio_cmo_balance()
467 cmo->reserve.size += (viodev->cmo.entitled - in vio_cmo_balance()
470 if (viodev->cmo.allocated > viodev->cmo.entitled) in vio_cmo_balance()
471 need += viodev->cmo.allocated - viodev->cmo.entitled; in vio_cmo_balance()
473 cmo->excess.size = cmo->entitled - cmo->reserve.size; in vio_cmo_balance()
666 if (viodev->cmo.entitled > desired) { in vio_cmo_set_dev_desired()
667 vio_cmo.reserve.size -= viodev->cmo.entitled - desired; in vio_cmo_set_dev_desired()
668 vio_cmo.excess.size += viodev->cmo.entitled - desired; in vio_cmo_set_dev_desired()
674 if (viodev->cmo.allocated < viodev->cmo.entitled) in vio_cmo_set_dev_desired()
675 vio_cmo.excess.free += viodev->cmo.entitled - in vio_cmo_set_dev_desired()
677 viodev->cmo.entitled = desired; in vio_cmo_set_dev_desired()
837 if (viodev->cmo.entitled) { in vio_cmo_bus_remove()
850 viodev->cmo.entitled -= VIO_CMO_MIN_ENT; in vio_cmo_bus_remove()
853 if (viodev->cmo.entitled && (vio_cmo.spare < VIO_CMO_MIN_ENT)) { in vio_cmo_bus_remove()
854 tmp = min(viodev->cmo.entitled, (VIO_CMO_MIN_ENT - in vio_cmo_bus_remove()
857 viodev->cmo.entitled -= tmp; in vio_cmo_bus_remove()
861 vio_cmo.excess.size += viodev->cmo.entitled; in vio_cmo_bus_remove()
862 vio_cmo.excess.free += viodev->cmo.entitled; in vio_cmo_bus_remove()
863 vio_cmo.reserve.size -= viodev->cmo.entitled; in vio_cmo_bus_remove()
870 viodev->cmo.entitled = VIO_CMO_MIN_ENT; in vio_cmo_bus_remove()
910 vio_cmo.entitled = 0; in vio_cmo_bus_init()
912 vio_cmo.entitled = mpp_data.entitled_mem; in vio_cmo_bus_init()
920 if (vio_cmo.reserve.size > vio_cmo.entitled) { in vio_cmo_bus_init()
927 vio_cmo.excess.size = vio_cmo.entitled - vio_cmo.reserve.size; in vio_cmo_bus_init()
974 viodev_cmo_rd_attr(entitled);
1021 viobus_cmo_rd_attr(entitled);