Lines Matching refs:prdev

61 __page_reporting_request(struct page_reporting_dev_info *prdev)  in __page_reporting_request()  argument
66 state = atomic_read(&prdev->state); in __page_reporting_request()
74 state = atomic_xchg(&prdev->state, PAGE_REPORTING_REQUESTED); in __page_reporting_request()
83 schedule_delayed_work(&prdev->work, PAGE_REPORTING_DELAY); in __page_reporting_request()
89 struct page_reporting_dev_info *prdev; in __page_reporting_notify() local
97 prdev = rcu_dereference(pr_dev_info); in __page_reporting_notify()
98 if (likely(prdev)) in __page_reporting_notify()
99 __page_reporting_request(prdev); in __page_reporting_notify()
105 page_reporting_drain(struct page_reporting_dev_info *prdev, in page_reporting_drain() argument
146 page_reporting_cycle(struct page_reporting_dev_info *prdev, struct zone *zone, in page_reporting_cycle() argument
194 atomic_set(&prdev->state, PAGE_REPORTING_REQUESTED); in page_reporting_cycle()
225 err = prdev->report(prdev, sgl, PAGE_REPORTING_CAPACITY); in page_reporting_cycle()
237 page_reporting_drain(prdev, sgl, PAGE_REPORTING_CAPACITY, !err); in page_reporting_cycle()
260 page_reporting_process_zone(struct page_reporting_dev_info *prdev, in page_reporting_process_zone() argument
285 err = page_reporting_cycle(prdev, zone, order, mt, in page_reporting_process_zone()
296 err = prdev->report(prdev, sgl, leftover); in page_reporting_process_zone()
300 page_reporting_drain(prdev, sgl, leftover, !err); in page_reporting_process_zone()
310 struct page_reporting_dev_info *prdev = in page_reporting_process() local
322 atomic_set(&prdev->state, state); in page_reporting_process()
332 err = page_reporting_process_zone(prdev, sgl, zone); in page_reporting_process()
344 state = atomic_cmpxchg(&prdev->state, state, PAGE_REPORTING_IDLE); in page_reporting_process()
346 schedule_delayed_work(&prdev->work, PAGE_REPORTING_DELAY); in page_reporting_process()
352 int page_reporting_register(struct page_reporting_dev_info *prdev) in page_reporting_register() argument
373 if (prdev->order > 0 && prdev->order <= MAX_ORDER) in page_reporting_register()
374 page_reporting_order = prdev->order; in page_reporting_register()
380 atomic_set(&prdev->state, PAGE_REPORTING_IDLE); in page_reporting_register()
381 INIT_DELAYED_WORK(&prdev->work, &page_reporting_process); in page_reporting_register()
384 __page_reporting_request(prdev); in page_reporting_register()
387 rcu_assign_pointer(pr_dev_info, prdev); in page_reporting_register()
401 void page_reporting_unregister(struct page_reporting_dev_info *prdev) in page_reporting_unregister() argument
405 if (prdev == rcu_dereference_protected(pr_dev_info, in page_reporting_unregister()
412 cancel_delayed_work_sync(&prdev->work); in page_reporting_unregister()