Lines Matching refs:req

143  * @req: Constraint request to apply
150 static int apply_constraint(struct dev_pm_qos_request *req,
153 struct dev_pm_qos *qos = req->dev->power.qos;
156 switch(req->type) {
162 &req->data.pnode, action, value);
166 &req->data.pnode, action, value);
169 req->dev->power.set_latency_tolerance(req->dev, value);
174 ret = freq_qos_apply(&req->data.freq, action, value);
177 ret = pm_qos_update_flags(&qos->flags, &req->data.flr,
249 struct dev_pm_qos_request *req, *tmp;
273 plist_for_each_entry_safe(req, tmp, &c->list, data.pnode) {
278 apply_constraint(req, PM_QOS_REMOVE_REQ, PM_QOS_DEFAULT_VALUE);
279 memset(req, 0, sizeof(*req));
283 plist_for_each_entry_safe(req, tmp, &c->list, data.pnode) {
284 apply_constraint(req, PM_QOS_REMOVE_REQ, PM_QOS_DEFAULT_VALUE);
285 memset(req, 0, sizeof(*req));
289 plist_for_each_entry_safe(req, tmp, &c->list, data.freq.pnode) {
290 apply_constraint(req, PM_QOS_REMOVE_REQ,
292 memset(req, 0, sizeof(*req));
296 plist_for_each_entry_safe(req, tmp, &c->list, data.freq.pnode) {
297 apply_constraint(req, PM_QOS_REMOVE_REQ,
299 memset(req, 0, sizeof(*req));
303 list_for_each_entry_safe(req, tmp, &f->list, data.flr.node) {
304 apply_constraint(req, PM_QOS_REMOVE_REQ, PM_QOS_DEFAULT_VALUE);
305 memset(req, 0, sizeof(*req));
329 struct dev_pm_qos_request *req,
334 if (!dev || !req || dev_pm_qos_invalid_req_type(dev, type))
337 if (WARN(dev_pm_qos_request_active(req),
350 req->dev = dev;
351 req->type = type;
352 if (req->type == DEV_PM_QOS_MIN_FREQUENCY)
354 &req->data.freq,
356 else if (req->type == DEV_PM_QOS_MAX_FREQUENCY)
358 &req->data.freq,
361 ret = apply_constraint(req, PM_QOS_ADD_REQ, value);
369 * @req: pointer to a preallocated handle
388 int dev_pm_qos_add_request(struct device *dev, struct dev_pm_qos_request *req,
394 ret = __dev_pm_qos_add_request(dev, req, type, value);
402 * @req : PM QoS request to modify.
405 static int __dev_pm_qos_update_request(struct dev_pm_qos_request *req,
411 if (!req) /*guard against callers passing in null */
414 if (WARN(!dev_pm_qos_request_active(req),
418 if (IS_ERR_OR_NULL(req->dev->power.qos))
421 switch(req->type) {
424 curr_value = req->data.pnode.prio;
428 curr_value = req->data.freq.pnode.prio;
431 curr_value = req->data.flr.flags;
437 trace_dev_pm_qos_update_request(dev_name(req->dev), req->type,
440 ret = apply_constraint(req, PM_QOS_UPDATE_REQ, new_value);
447 * @req : handle to list element holding a dev_pm_qos request to use
463 int dev_pm_qos_update_request(struct dev_pm_qos_request *req, s32 new_value)
468 ret = __dev_pm_qos_update_request(req, new_value);
474 static int __dev_pm_qos_remove_request(struct dev_pm_qos_request *req)
478 if (!req) /*guard against callers passing in null */
481 if (WARN(!dev_pm_qos_request_active(req),
485 if (IS_ERR_OR_NULL(req->dev->power.qos))
488 trace_dev_pm_qos_remove_request(dev_name(req->dev), req->type,
490 ret = apply_constraint(req, PM_QOS_REMOVE_REQ, PM_QOS_DEFAULT_VALUE);
491 memset(req, 0, sizeof(*req));
497 * @req: handle to request list element
510 int dev_pm_qos_remove_request(struct dev_pm_qos_request *req)
515 ret = __dev_pm_qos_remove_request(req);
624 * @req: Pointer to the preallocated handle.
629 struct dev_pm_qos_request *req,
650 ret = dev_pm_qos_add_request(ancestor, req, type, value);
653 req->dev = NULL;
662 struct dev_pm_qos_request *req = NULL;
666 req = dev->power.qos->resume_latency_req;
670 req = dev->power.qos->latency_tolerance_req;
674 req = dev->power.qos->flags_req;
681 __dev_pm_qos_remove_request(req);
682 kfree(req);
700 struct dev_pm_qos_request *req;
706 req = kzalloc(sizeof(*req), GFP_KERNEL);
707 if (!req)
710 ret = dev_pm_qos_add_request(dev, req, DEV_PM_QOS_RESUME_LATENCY, value);
712 kfree(req);
726 __dev_pm_qos_remove_request(req);
727 kfree(req);
731 dev->power.qos->resume_latency_req = req;
776 struct dev_pm_qos_request *req;
782 req = kzalloc(sizeof(*req), GFP_KERNEL);
783 if (!req)
786 ret = dev_pm_qos_add_request(dev, req, DEV_PM_QOS_FLAGS, val);
788 kfree(req);
803 __dev_pm_qos_remove_request(req);
804 kfree(req);
808 dev->power.qos->flags_req = req;
912 struct dev_pm_qos_request *req;
921 req = kzalloc(sizeof(*req), GFP_KERNEL);
922 if (!req) {
926 ret = __dev_pm_qos_add_request(dev, req, DEV_PM_QOS_LATENCY_TOLERANCE, val);
928 kfree(req);
931 dev->power.qos->latency_tolerance_req = req;