Lines Matching full:resources

61  * @num_res: the maximum number of resources it can assign
64 * assign up to the requested number of resources. Uses bit strings to track
65 * which resources have been assigned. This type of resmgr is intended to be
71 resmgr->resources = bit_alloc(num_res, M_ICE_RESMGR, M_NOWAIT); in ice_resmgr_init()
72 if (resmgr->resources == NULL) in ice_resmgr_init()
83 * @num_res: the maximum number of resources it can assign
108 * resources have been released.
113 if (resmgr->resources != NULL) { in ice_resmgr_destroy()
117 bit_count(resmgr->resources, 0, resmgr->num_res, &set); in ice_resmgr_destroy()
121 free(resmgr->resources, M_ICE_RESMGR); in ice_resmgr_destroy()
122 resmgr->resources = NULL; in ice_resmgr_destroy()
132 * ice_resmgr_assign_contiguous - Assign contiguous mapping of resources
135 * @num_res: the number of resources to assign
137 * Assign num_res number of contiguous resources into the idx mapping. On
148 bit_ffc_area(resmgr->resources, resmgr->num_res, num_res, &start); in ice_resmgr_assign_contiguous()
154 bit_set(resmgr->resources, start + i); in ice_resmgr_assign_contiguous()
162 * ice_resmgr_assign_scattered - Assign possibly scattered resources
165 * @num_res: the number of resources to assign
167 * Assign num_res number of resources into the idx_mapping. On success, idx
192 bit_ffc_at(resmgr->resources, index, resmgr->num_res, &index); in ice_resmgr_assign_scattered()
196 bit_set(resmgr->resources, index); in ice_resmgr_assign_scattered()
202 /* Release any resources we did assign up to this point. */ in ice_resmgr_assign_scattered()
211 * @num_res: number of resources in the mapping
224 bit_clear(resmgr->resources, idx[i]); in ice_resmgr_release_map()