Lines Matching refs:base
63 if (!atomic_test_bit(&pm->base.flags, PM_DEVICE_FLAG_RUNTIME_ENABLED)) { in runtime_suspend()
76 if (pm->base.usage == 0U) { in runtime_suspend()
82 pm->base.usage--; in runtime_suspend()
83 if (pm->base.usage > 0U) { in runtime_suspend()
90 pm->base.state = PM_DEVICE_STATE_SUSPENDING; in runtime_suspend()
99 ret = pm->base.action_cb(pm->dev, PM_DEVICE_ACTION_SUSPEND); in runtime_suspend()
101 pm->base.usage++; in runtime_suspend()
105 pm->base.state = PM_DEVICE_STATE_SUSPENDED; in runtime_suspend()
129 ret = pm->base.action_cb(pm->dev, PM_DEVICE_ACTION_SUSPEND); in runtime_suspend_work()
133 pm->base.usage++; in runtime_suspend_work()
134 pm->base.state = PM_DEVICE_STATE_ACTIVE; in runtime_suspend_work()
136 pm->base.state = PM_DEVICE_STATE_SUSPENDED; in runtime_suspend_work()
138 k_event_set(&pm->event, BIT(pm->base.state)); in runtime_suspend_work()
146 atomic_test_bit(&pm->base.flags, PM_DEVICE_FLAG_PD_CLAIMED)) { in runtime_suspend_work()
147 (void)pm_device_runtime_put(PM_DOMAIN(&pm->base)); in runtime_suspend_work()
148 atomic_clear_bit(&pm->base.flags, PM_DEVICE_FLAG_PD_CLAIMED); in runtime_suspend_work()
159 uint32_t flags = pm->base.flags; in get_sync_locked()
161 if (pm->base.usage == 0) { in get_sync_locked()
163 const struct device *domain = PM_DOMAIN(&pm->base); in get_sync_locked()
175 ret = pm->base.action_cb(dev, PM_DEVICE_ACTION_RESUME); in get_sync_locked()
179 pm->base.state = PM_DEVICE_STATE_ACTIVE; in get_sync_locked()
184 pm->base.usage++; in get_sync_locked()
203 if (!atomic_test_bit(&pm->base.flags, PM_DEVICE_FLAG_RUNTIME_ENABLED)) { in pm_device_runtime_get()
223 if (k_is_in_isr() && (pm->base.state == PM_DEVICE_STATE_SUSPENDING)) { in pm_device_runtime_get()
232 const struct device *domain = PM_DOMAIN(&pm->base); in pm_device_runtime_get()
240 if (atomic_test_bit(&pm->base.flags, PM_DEVICE_FLAG_TURN_ON_FAILED)) { in pm_device_runtime_get()
246 atomic_set_bit(&pm->base.flags, PM_DEVICE_FLAG_PD_CLAIMED); in pm_device_runtime_get()
249 pm->base.usage++; in pm_device_runtime_get()
257 if ((pm->base.state == PM_DEVICE_STATE_SUSPENDING) && in pm_device_runtime_get()
259 pm->base.state = PM_DEVICE_STATE_ACTIVE; in pm_device_runtime_get()
268 while (pm->base.state == PM_DEVICE_STATE_SUSPENDING) { in pm_device_runtime_get()
279 if (pm->base.usage > 1U) { in pm_device_runtime_get()
283 ret = pm->base.action_cb(pm->dev, PM_DEVICE_ACTION_RESUME); in pm_device_runtime_get()
285 pm->base.usage--; in pm_device_runtime_get()
292 pm->base.state = PM_DEVICE_STATE_ACTIVE; in pm_device_runtime_get()
310 uint32_t flags = pm->base.flags; in put_sync_locked()
316 if (pm->base.usage == 0U) { in put_sync_locked()
320 pm->base.usage--; in put_sync_locked()
321 if (pm->base.usage == 0U) { in put_sync_locked()
322 ret = pm->base.action_cb(dev, PM_DEVICE_ACTION_SUSPEND); in put_sync_locked()
326 pm->base.state = PM_DEVICE_STATE_SUSPENDED; in put_sync_locked()
329 const struct device *domain = PM_DOMAIN(&pm->base); in put_sync_locked()
416 if (pm->base.state == PM_DEVICE_STATE_ACTIVE) { in runtime_enable_sync()
417 ret = pm->base.action_cb(dev, PM_DEVICE_ACTION_SUSPEND); in runtime_enable_sync()
422 pm->base.state = PM_DEVICE_STATE_SUSPENDED; in runtime_enable_sync()
427 pm->base.flags |= BIT(PM_DEVICE_FLAG_RUNTIME_ENABLED); in runtime_enable_sync()
428 pm->base.usage = 0U; in runtime_enable_sync()
446 if (atomic_test_bit(&pm->base.flags, PM_DEVICE_FLAG_RUNTIME_ENABLED)) { in pm_device_runtime_enable()
472 if (pm->base.state == PM_DEVICE_STATE_ACTIVE) { in pm_device_runtime_enable()
473 ret = pm->base.action_cb(pm->dev, PM_DEVICE_ACTION_SUSPEND); in pm_device_runtime_enable()
477 pm->base.state = PM_DEVICE_STATE_SUSPENDED; in pm_device_runtime_enable()
480 pm->base.usage = 0U; in pm_device_runtime_enable()
482 atomic_set_bit(&pm->base.flags, PM_DEVICE_FLAG_RUNTIME_ENABLED); in pm_device_runtime_enable()
500 if (pm->base.state == PM_DEVICE_STATE_SUSPENDED) { in runtime_disable_sync()
501 ret = pm->base.action_cb(dev, PM_DEVICE_ACTION_RESUME); in runtime_disable_sync()
506 pm->base.state = PM_DEVICE_STATE_ACTIVE; in runtime_disable_sync()
511 pm->base.flags &= ~BIT(PM_DEVICE_FLAG_RUNTIME_ENABLED); in runtime_disable_sync()
529 if (!atomic_test_bit(&pm->base.flags, PM_DEVICE_FLAG_RUNTIME_ENABLED)) { in pm_device_runtime_disable()
544 if ((pm->base.state == PM_DEVICE_STATE_SUSPENDING) && in pm_device_runtime_disable()
546 pm->base.state = PM_DEVICE_STATE_ACTIVE; in pm_device_runtime_disable()
551 while (pm->base.state == PM_DEVICE_STATE_SUSPENDING) { in pm_device_runtime_disable()
563 if (pm->base.state == PM_DEVICE_STATE_SUSPENDED) { in pm_device_runtime_disable()
564 ret = pm->base.action_cb(dev, PM_DEVICE_ACTION_RESUME); in pm_device_runtime_disable()
569 pm->base.state = PM_DEVICE_STATE_ACTIVE; in pm_device_runtime_disable()
574 atomic_clear_bit(&pm->base.flags, PM_DEVICE_FLAG_RUNTIME_ENABLED); in pm_device_runtime_disable()