Lines Matching refs:prdev

24 __page_reporting_request(struct page_reporting_dev_info *prdev)  in __page_reporting_request()  argument
29 state = atomic_read(&prdev->state); in __page_reporting_request()
37 state = atomic_xchg(&prdev->state, PAGE_REPORTING_REQUESTED); in __page_reporting_request()
46 schedule_delayed_work(&prdev->work, PAGE_REPORTING_DELAY); in __page_reporting_request()
52 struct page_reporting_dev_info *prdev; in __page_reporting_notify() local
60 prdev = rcu_dereference(pr_dev_info); in __page_reporting_notify()
61 if (likely(prdev)) in __page_reporting_notify()
62 __page_reporting_request(prdev); in __page_reporting_notify()
68 page_reporting_drain(struct page_reporting_dev_info *prdev, in page_reporting_drain() argument
109 page_reporting_cycle(struct page_reporting_dev_info *prdev, struct zone *zone, in page_reporting_cycle() argument
157 atomic_set(&prdev->state, PAGE_REPORTING_REQUESTED); in page_reporting_cycle()
188 err = prdev->report(prdev, sgl, PAGE_REPORTING_CAPACITY); in page_reporting_cycle()
200 page_reporting_drain(prdev, sgl, PAGE_REPORTING_CAPACITY, !err); in page_reporting_cycle()
223 page_reporting_process_zone(struct page_reporting_dev_info *prdev, in page_reporting_process_zone() argument
248 err = page_reporting_cycle(prdev, zone, order, mt, in page_reporting_process_zone()
259 err = prdev->report(prdev, sgl, leftover); in page_reporting_process_zone()
263 page_reporting_drain(prdev, sgl, leftover, !err); in page_reporting_process_zone()
273 struct page_reporting_dev_info *prdev = in page_reporting_process() local
285 atomic_set(&prdev->state, state); in page_reporting_process()
295 err = page_reporting_process_zone(prdev, sgl, zone); in page_reporting_process()
307 state = atomic_cmpxchg(&prdev->state, state, PAGE_REPORTING_IDLE); in page_reporting_process()
309 schedule_delayed_work(&prdev->work, PAGE_REPORTING_DELAY); in page_reporting_process()
315 int page_reporting_register(struct page_reporting_dev_info *prdev) in page_reporting_register() argument
328 atomic_set(&prdev->state, PAGE_REPORTING_IDLE); in page_reporting_register()
329 INIT_DELAYED_WORK(&prdev->work, &page_reporting_process); in page_reporting_register()
332 __page_reporting_request(prdev); in page_reporting_register()
335 rcu_assign_pointer(pr_dev_info, prdev); in page_reporting_register()
349 void page_reporting_unregister(struct page_reporting_dev_info *prdev) in page_reporting_unregister() argument
353 if (rcu_access_pointer(pr_dev_info) == prdev) { in page_reporting_unregister()
359 cancel_delayed_work_sync(&prdev->work); in page_reporting_unregister()