Lines Matching refs:req
136 static int apply_constraint(struct dev_pm_qos_request *req, in apply_constraint() argument
139 struct dev_pm_qos *qos = req->dev->power.qos; in apply_constraint()
142 switch(req->type) { in apply_constraint()
144 ret = pm_qos_update_target(&qos->latency, &req->data.pnode, in apply_constraint()
150 req); in apply_constraint()
154 ret = pm_qos_update_flags(&qos->flags, &req->data.flr, in apply_constraint()
216 struct dev_pm_qos_request *req, *tmp; in dev_pm_qos_constraints_destroy() local
240 plist_for_each_entry_safe(req, tmp, &c->list, data.pnode) { in dev_pm_qos_constraints_destroy()
245 apply_constraint(req, PM_QOS_REMOVE_REQ, PM_QOS_DEFAULT_VALUE); in dev_pm_qos_constraints_destroy()
246 memset(req, 0, sizeof(*req)); in dev_pm_qos_constraints_destroy()
249 list_for_each_entry_safe(req, tmp, &f->list, data.flr.node) { in dev_pm_qos_constraints_destroy()
250 apply_constraint(req, PM_QOS_REMOVE_REQ, PM_QOS_DEFAULT_VALUE); in dev_pm_qos_constraints_destroy()
251 memset(req, 0, sizeof(*req)); in dev_pm_qos_constraints_destroy()
289 int dev_pm_qos_add_request(struct device *dev, struct dev_pm_qos_request *req, in dev_pm_qos_add_request() argument
294 if (!dev || !req) /*guard against callers passing in null */ in dev_pm_qos_add_request()
297 if (WARN(dev_pm_qos_request_active(req), in dev_pm_qos_add_request()
309 req->dev = dev; in dev_pm_qos_add_request()
310 req->type = type; in dev_pm_qos_add_request()
311 ret = apply_constraint(req, PM_QOS_ADD_REQ, value); in dev_pm_qos_add_request()
325 static int __dev_pm_qos_update_request(struct dev_pm_qos_request *req, in __dev_pm_qos_update_request() argument
331 if (!req) /*guard against callers passing in null */ in __dev_pm_qos_update_request()
334 if (WARN(!dev_pm_qos_request_active(req), in __dev_pm_qos_update_request()
338 if (IS_ERR_OR_NULL(req->dev->power.qos)) in __dev_pm_qos_update_request()
341 switch(req->type) { in __dev_pm_qos_update_request()
343 curr_value = req->data.pnode.prio; in __dev_pm_qos_update_request()
346 curr_value = req->data.flr.flags; in __dev_pm_qos_update_request()
353 ret = apply_constraint(req, PM_QOS_UPDATE_REQ, new_value); in __dev_pm_qos_update_request()
376 int dev_pm_qos_update_request(struct dev_pm_qos_request *req, s32 new_value) in dev_pm_qos_update_request() argument
381 ret = __dev_pm_qos_update_request(req, new_value); in dev_pm_qos_update_request()
387 static int __dev_pm_qos_remove_request(struct dev_pm_qos_request *req) in __dev_pm_qos_remove_request() argument
391 if (!req) /*guard against callers passing in null */ in __dev_pm_qos_remove_request()
394 if (WARN(!dev_pm_qos_request_active(req), in __dev_pm_qos_remove_request()
398 if (IS_ERR_OR_NULL(req->dev->power.qos)) in __dev_pm_qos_remove_request()
401 ret = apply_constraint(req, PM_QOS_REMOVE_REQ, PM_QOS_DEFAULT_VALUE); in __dev_pm_qos_remove_request()
402 memset(req, 0, sizeof(*req)); in __dev_pm_qos_remove_request()
421 int dev_pm_qos_remove_request(struct dev_pm_qos_request *req) in dev_pm_qos_remove_request() argument
426 ret = __dev_pm_qos_remove_request(req); in dev_pm_qos_remove_request()
530 struct dev_pm_qos_request *req, s32 value) in dev_pm_qos_add_ancestor_request() argument
539 ret = dev_pm_qos_add_request(ancestor, req, in dev_pm_qos_add_ancestor_request()
543 req->dev = NULL; in dev_pm_qos_add_ancestor_request()
553 struct dev_pm_qos_request *req = NULL; in __dev_pm_qos_drop_user_request() local
557 req = dev->power.qos->latency_req; in __dev_pm_qos_drop_user_request()
561 req = dev->power.qos->flags_req; in __dev_pm_qos_drop_user_request()
565 __dev_pm_qos_remove_request(req); in __dev_pm_qos_drop_user_request()
566 kfree(req); in __dev_pm_qos_drop_user_request()
584 struct dev_pm_qos_request *req; in dev_pm_qos_expose_latency_limit() local
590 req = kzalloc(sizeof(*req), GFP_KERNEL); in dev_pm_qos_expose_latency_limit()
591 if (!req) in dev_pm_qos_expose_latency_limit()
594 ret = dev_pm_qos_add_request(dev, req, DEV_PM_QOS_LATENCY, value); in dev_pm_qos_expose_latency_limit()
596 kfree(req); in dev_pm_qos_expose_latency_limit()
610 __dev_pm_qos_remove_request(req); in dev_pm_qos_expose_latency_limit()
611 kfree(req); in dev_pm_qos_expose_latency_limit()
615 dev->power.qos->latency_req = req; in dev_pm_qos_expose_latency_limit()
660 struct dev_pm_qos_request *req; in dev_pm_qos_expose_flags() local
666 req = kzalloc(sizeof(*req), GFP_KERNEL); in dev_pm_qos_expose_flags()
667 if (!req) in dev_pm_qos_expose_flags()
670 ret = dev_pm_qos_add_request(dev, req, DEV_PM_QOS_FLAGS, val); in dev_pm_qos_expose_flags()
672 kfree(req); in dev_pm_qos_expose_flags()
687 __dev_pm_qos_remove_request(req); in dev_pm_qos_expose_flags()
688 kfree(req); in dev_pm_qos_expose_flags()
692 dev->power.qos->flags_req = req; in dev_pm_qos_expose_flags()