Lines Matching refs:base

55 	if (!atomic_test_bit(&pm->base.flags, PM_DEVICE_FLAG_RUNTIME_ENABLED)) {  in runtime_suspend()
68 if (pm->base.usage == 0U) { in runtime_suspend()
74 pm->base.usage--; in runtime_suspend()
75 if (pm->base.usage > 0U) { in runtime_suspend()
81 pm->base.state = PM_DEVICE_STATE_SUSPENDING; in runtime_suspend()
85 ret = pm->base.action_cb(pm->dev, PM_DEVICE_ACTION_SUSPEND); in runtime_suspend()
87 pm->base.usage++; in runtime_suspend()
91 pm->base.state = PM_DEVICE_STATE_SUSPENDED; in runtime_suspend()
108 ret = pm->base.action_cb(pm->dev, PM_DEVICE_ACTION_SUSPEND); in runtime_suspend_work()
112 pm->base.usage++; in runtime_suspend_work()
113 pm->base.state = PM_DEVICE_STATE_ACTIVE; in runtime_suspend_work()
115 pm->base.state = PM_DEVICE_STATE_SUSPENDED; in runtime_suspend_work()
117 k_event_set(&pm->event, BIT(pm->base.state)); in runtime_suspend_work()
125 atomic_test_bit(&pm->base.flags, PM_DEVICE_FLAG_PD_CLAIMED)) { in runtime_suspend_work()
126 (void)pm_device_runtime_put(PM_DOMAIN(&pm->base)); in runtime_suspend_work()
136 uint32_t flags = pm->base.flags; in get_sync_locked()
138 if (pm->base.usage == 0) { in get_sync_locked()
140 const struct device *domain = PM_DOMAIN(&pm->base); in get_sync_locked()
152 ret = pm->base.action_cb(dev, PM_DEVICE_ACTION_RESUME); in get_sync_locked()
156 pm->base.state = PM_DEVICE_STATE_ACTIVE; in get_sync_locked()
161 pm->base.usage++; in get_sync_locked()
180 if (!atomic_test_bit(&pm->base.flags, PM_DEVICE_FLAG_RUNTIME_ENABLED)) { in pm_device_runtime_get()
200 if (k_is_in_isr() && (pm->base.state == PM_DEVICE_STATE_SUSPENDING)) { in pm_device_runtime_get()
209 const struct device *domain = PM_DOMAIN(&pm->base); in pm_device_runtime_get()
217 if (atomic_test_bit(&pm->base.flags, PM_DEVICE_FLAG_TURN_ON_FAILED)) { in pm_device_runtime_get()
223 atomic_set_bit(&pm->base.flags, PM_DEVICE_FLAG_PD_CLAIMED); in pm_device_runtime_get()
226 pm->base.usage++; in pm_device_runtime_get()
233 if ((pm->base.state == PM_DEVICE_STATE_SUSPENDING) && in pm_device_runtime_get()
235 pm->base.state = PM_DEVICE_STATE_ACTIVE; in pm_device_runtime_get()
244 while (pm->base.state == PM_DEVICE_STATE_SUSPENDING) { in pm_device_runtime_get()
254 if (pm->base.usage > 1U) { in pm_device_runtime_get()
258 ret = pm->base.action_cb(pm->dev, PM_DEVICE_ACTION_RESUME); in pm_device_runtime_get()
260 pm->base.usage--; in pm_device_runtime_get()
264 pm->base.state = PM_DEVICE_STATE_ACTIVE; in pm_device_runtime_get()
282 uint32_t flags = pm->base.flags; in put_sync_locked()
288 if (pm->base.usage == 0U) { in put_sync_locked()
292 pm->base.usage--; in put_sync_locked()
293 if (pm->base.usage == 0U) { in put_sync_locked()
294 ret = pm->base.action_cb(dev, PM_DEVICE_ACTION_SUSPEND); in put_sync_locked()
298 pm->base.state = PM_DEVICE_STATE_SUSPENDED; in put_sync_locked()
301 const struct device *domain = PM_DOMAIN(&pm->base); in put_sync_locked()
391 if (pm->base.state == PM_DEVICE_STATE_ACTIVE) { in runtime_enable_sync()
392 ret = pm->base.action_cb(dev, PM_DEVICE_ACTION_SUSPEND); in runtime_enable_sync()
397 pm->base.state = PM_DEVICE_STATE_SUSPENDED; in runtime_enable_sync()
402 pm->base.flags |= BIT(PM_DEVICE_FLAG_RUNTIME_ENABLED); in runtime_enable_sync()
403 pm->base.usage = 0U; in runtime_enable_sync()
421 if (atomic_test_bit(&pm->base.flags, PM_DEVICE_FLAG_RUNTIME_ENABLED)) { in pm_device_runtime_enable()
445 if (pm->base.state == PM_DEVICE_STATE_ACTIVE) { in pm_device_runtime_enable()
446 ret = pm->base.action_cb(pm->dev, PM_DEVICE_ACTION_SUSPEND); in pm_device_runtime_enable()
450 pm->base.state = PM_DEVICE_STATE_SUSPENDED; in pm_device_runtime_enable()
453 pm->base.usage = 0U; in pm_device_runtime_enable()
455 atomic_set_bit(&pm->base.flags, PM_DEVICE_FLAG_RUNTIME_ENABLED); in pm_device_runtime_enable()
473 if (pm->base.state == PM_DEVICE_STATE_SUSPENDED) { in runtime_disable_sync()
474 ret = pm->base.action_cb(dev, PM_DEVICE_ACTION_RESUME); in runtime_disable_sync()
479 pm->base.state = PM_DEVICE_STATE_ACTIVE; in runtime_disable_sync()
484 pm->base.flags &= ~BIT(PM_DEVICE_FLAG_RUNTIME_ENABLED); in runtime_disable_sync()
502 if (!atomic_test_bit(&pm->base.flags, PM_DEVICE_FLAG_RUNTIME_ENABLED)) { in pm_device_runtime_disable()
516 if ((pm->base.state == PM_DEVICE_STATE_SUSPENDING) && in pm_device_runtime_disable()
518 pm->base.state = PM_DEVICE_STATE_ACTIVE; in pm_device_runtime_disable()
523 while (pm->base.state == PM_DEVICE_STATE_SUSPENDING) { in pm_device_runtime_disable()
534 if (pm->base.state == PM_DEVICE_STATE_SUSPENDED) { in pm_device_runtime_disable()
535 ret = pm->base.action_cb(dev, PM_DEVICE_ACTION_RESUME); in pm_device_runtime_disable()
540 pm->base.state = PM_DEVICE_STATE_ACTIVE; in pm_device_runtime_disable()
544 atomic_clear_bit(&pm->base.flags, PM_DEVICE_FLAG_RUNTIME_ENABLED); in pm_device_runtime_disable()