Lines Matching refs:req
192 struct pm_qos_request *req; in pm_qos_dbg_show_requests() local
229 plist_for_each_entry(req, &c->list, node) { in pm_qos_dbg_show_requests()
232 if ((req->node).prio != c->default_value) { in pm_qos_dbg_show_requests()
238 (req->node).prio, state); in pm_qos_dbg_show_requests()
331 struct pm_qos_flags_request *req) in pm_qos_flags_remove_req() argument
335 list_del(&req->node); in pm_qos_flags_remove_req()
336 list_for_each_entry(req, &pqf->list, node) in pm_qos_flags_remove_req()
337 val |= req->flags; in pm_qos_flags_remove_req()
354 struct pm_qos_flags_request *req, in pm_qos_update_flags() argument
366 pm_qos_flags_remove_req(pqf, req); in pm_qos_update_flags()
369 pm_qos_flags_remove_req(pqf, req); in pm_qos_update_flags()
371 req->flags = val; in pm_qos_update_flags()
372 INIT_LIST_HEAD(&req->node); in pm_qos_update_flags()
373 list_add_tail(&req->node, &pqf->list); in pm_qos_update_flags()
401 int pm_qos_request_active(struct pm_qos_request *req) in pm_qos_request_active() argument
403 return req->pm_qos_class != 0; in pm_qos_request_active()
407 static void __pm_qos_update_request(struct pm_qos_request *req, in __pm_qos_update_request() argument
410 trace_pm_qos_update_request(req->pm_qos_class, new_value); in __pm_qos_update_request()
412 if (new_value != req->node.prio) in __pm_qos_update_request()
414 pm_qos_array[req->pm_qos_class]->constraints, in __pm_qos_update_request()
415 &req->node, PM_QOS_UPDATE_REQ, new_value); in __pm_qos_update_request()
426 struct pm_qos_request *req = container_of(to_delayed_work(work), in pm_qos_work_fn() local
430 __pm_qos_update_request(req, PM_QOS_DEFAULT_VALUE); in pm_qos_work_fn()
446 void pm_qos_add_request(struct pm_qos_request *req, in pm_qos_add_request() argument
449 if (!req) /*guard against callers passing in null */ in pm_qos_add_request()
452 if (pm_qos_request_active(req)) { in pm_qos_add_request()
456 req->pm_qos_class = pm_qos_class; in pm_qos_add_request()
457 INIT_DELAYED_WORK(&req->work, pm_qos_work_fn); in pm_qos_add_request()
460 &req->node, PM_QOS_ADD_REQ, value); in pm_qos_add_request()
474 void pm_qos_update_request(struct pm_qos_request *req, in pm_qos_update_request() argument
477 if (!req) /*guard against callers passing in null */ in pm_qos_update_request()
480 if (!pm_qos_request_active(req)) { in pm_qos_update_request()
485 cancel_delayed_work_sync(&req->work); in pm_qos_update_request()
486 __pm_qos_update_request(req, new_value); in pm_qos_update_request()
498 void pm_qos_update_request_timeout(struct pm_qos_request *req, s32 new_value, in pm_qos_update_request_timeout() argument
501 if (!req) in pm_qos_update_request_timeout()
503 if (WARN(!pm_qos_request_active(req), in pm_qos_update_request_timeout()
507 cancel_delayed_work_sync(&req->work); in pm_qos_update_request_timeout()
509 trace_pm_qos_update_request_timeout(req->pm_qos_class, in pm_qos_update_request_timeout()
511 if (new_value != req->node.prio) in pm_qos_update_request_timeout()
513 pm_qos_array[req->pm_qos_class]->constraints, in pm_qos_update_request_timeout()
514 &req->node, PM_QOS_UPDATE_REQ, new_value); in pm_qos_update_request_timeout()
516 schedule_delayed_work(&req->work, usecs_to_jiffies(timeout_us)); in pm_qos_update_request_timeout()
527 void pm_qos_remove_request(struct pm_qos_request *req) in pm_qos_remove_request() argument
529 if (!req) /*guard against callers passing in null */ in pm_qos_remove_request()
533 if (!pm_qos_request_active(req)) { in pm_qos_remove_request()
538 cancel_delayed_work_sync(&req->work); in pm_qos_remove_request()
540 trace_pm_qos_remove_request(req->pm_qos_class, PM_QOS_DEFAULT_VALUE); in pm_qos_remove_request()
541 pm_qos_update_target(pm_qos_array[req->pm_qos_class]->constraints, in pm_qos_remove_request()
542 &req->node, PM_QOS_REMOVE_REQ, in pm_qos_remove_request()
544 memset(req, 0, sizeof(*req)); in pm_qos_remove_request()
622 struct pm_qos_request *req = kzalloc(sizeof(*req), GFP_KERNEL); in pm_qos_power_open() local
623 if (!req) in pm_qos_power_open()
626 pm_qos_add_request(req, pm_qos_class, PM_QOS_DEFAULT_VALUE); in pm_qos_power_open()
627 filp->private_data = req; in pm_qos_power_open()
636 struct pm_qos_request *req; in pm_qos_power_release() local
638 req = filp->private_data; in pm_qos_power_release()
639 pm_qos_remove_request(req); in pm_qos_power_release()
640 kfree(req); in pm_qos_power_release()
651 struct pm_qos_request *req = filp->private_data; in pm_qos_power_read() local
653 if (!req) in pm_qos_power_read()
655 if (!pm_qos_request_active(req)) in pm_qos_power_read()
659 value = pm_qos_get_value(pm_qos_array[req->pm_qos_class]->constraints); in pm_qos_power_read()
669 struct pm_qos_request *req; in pm_qos_power_write() local
682 req = filp->private_data; in pm_qos_power_write()
683 pm_qos_update_request(req, value); in pm_qos_power_write()