Lines Matching refs:mgr
73 int mgr_get_resource(struct rsc_mgr *mgr, unsigned int n, unsigned int *ridx)
77 if (n > mgr->avail)
80 err = get_resource(mgr->rscs, mgr->amount, n, ridx);
82 mgr->avail -= n;
87 int mgr_put_resource(struct rsc_mgr *mgr, unsigned int n, unsigned int idx)
89 put_resource(mgr->rscs, n, idx);
90 mgr->avail += n;
204 int rsc_mgr_init(struct rsc_mgr *mgr, enum RSCTYP type,
209 mgr->type = NUM_RSCTYP;
211 mgr->rscs = kzalloc(DIV_ROUND_UP(amount, 8), GFP_KERNEL);
212 if (!mgr->rscs)
217 err = hw->src_mgr_get_ctrl_blk(&mgr->ctrl_blk);
220 err = hw->srcimp_mgr_get_ctrl_blk(&mgr->ctrl_blk);
223 err = hw->amixer_mgr_get_ctrl_blk(&mgr->ctrl_blk);
226 err = hw->daio_mgr_get_ctrl_blk(hw, &mgr->ctrl_blk);
243 mgr->type = type;
244 mgr->avail = mgr->amount = amount;
245 mgr->hw = hw;
250 kfree(mgr->rscs);
254 int rsc_mgr_uninit(struct rsc_mgr *mgr)
256 kfree(mgr->rscs);
257 mgr->rscs = NULL;
259 if ((NULL != mgr->hw) && (NULL != mgr->ctrl_blk)) {
260 switch (mgr->type) {
262 mgr->hw->src_mgr_put_ctrl_blk(mgr->ctrl_blk);
265 mgr->hw->srcimp_mgr_put_ctrl_blk(mgr->ctrl_blk);
268 mgr->hw->amixer_mgr_put_ctrl_blk(mgr->ctrl_blk);
271 mgr->hw->daio_mgr_put_ctrl_blk(mgr->ctrl_blk);
276 dev_err(((struct hw *)mgr->hw)->card->dev,
278 mgr->type);
282 mgr->hw = mgr->ctrl_blk = NULL;
285 mgr->type = NUM_RSCTYP;
286 mgr->avail = mgr->amount = 0;