Lines Matching refs:is
5 Power management (PM) is an event-driven state machine, tickled by various
36 policy is determined by the greatest allowable power action defined across all
39 connection is up which specifies it is willing to go into SNIFF, but its action
59 - `BTA_DM_PM_NO_ACTION` is effectively a no-op and has a value of zero, so any
68 action is still the same, however -- SNIFF mode is attempted. There are
71 - `BTA_DM_PM_ACTIVE` is full-on power.
73 timeout is possible to be set, which effectively allows a power operation to
83 At this point, the power managment code is basically done until the first set of
88 while this variable is declared as an extern in the `bta_dm_int.h` file, it only
95 1. An event is fired from one of the methods mentioned above in
97 2. The `bta_dm_pm_cback` function is called.
98 - The power mode config is looked up in the `bta_dm_pm_cfg` table. If none
103 - The power spec state table (`bta_dm_pm_spec`) is checked to see if
106 - `bta_dm_conn_srvcs` is consulted to ensure there's an entry for this
109 existing entry in this list is removed, otherwise one is added/updated
112 adjustments are to be made, and if so, `bta_dm_pm_ssr` is called with the
126 the same check is done against the second action and it is used
127 instead. If both actions have been attempted, then the action is set to
128 `BTA_DM_PM_NO_ACTION`. Only the highest power mode action is chosen from
130 - If the chosen action is `BTA_DM_PM_PARK` or `BTA_DM_PM_SNIFF` but the
132 - If a timeout is specified in the power spec table, then an unused timer
133 in `bta_dm_cb.pm_timer` is started.
134 - If the action chosen is `BTA_DM_PM_PARK`, `bta_dm_pm_park` is called,
137 - If the action chosen is `BTA_DM_PM_SNIFF`, the peer device's link policy
138 is checked to see if it's allowed. If so, then `bta_dm_pm_sniff` is
140 `BTM_ReadRemoteFeatures` and `BTM_SetPowerMode` to ensure SNIFF mode is
142 - If the action chosen is `BTA_DM_PM_ACTIVE`, a call to `bta_dm_pm_active`
143 is made, which calls `BTM_SetPowerMode` to set the link into ACTIVE
146 At this point, if one of the timers in `bta_dm_cb.pm_timer` times out, a call is
157 1. An event is fired from a callback in BTM to `bta_dm_pm_btm_cback`.
162 3. This is eventually routed to the `bta_dm_pm_btm_status` function.
163 **Determine if this is running on the workqueue thread or not**
164 - The message `status` passed in is actually the current status of the
166 - If the status is `BTM_PM_STS_ACTIVE` (still in the ACTIVE power mode),
173 - If the status is zero, and if the peer device `tBTA_DM_PEER_DEVICE`
174 `prev_low` field is set, calls `bta_dm_pm_ssr` to re-send SSR params,
179 - If the status is `BTM_PM_STS_PARK` or `BTM_PM_STS_HOLD`, saves the
181 - If the status is `BTM_PM_STS_SSR`, simply clears or sets the device
184 - If the status is `BTM_PM_STS_SNIFF` and the info field has the
185 `BTA_DM_DI_SET_SNIFF` bit set, then `BTA_DM_DI_INT_SNIFF` is set,
186 otherwise `BTA_DM_DI_ACP_SNIFF` is set.
187 - If `BTA_PM_STS_ERROR`, the `BTA_DM_DI_SET_SNIFF` bit is cleared in the