Lines Matching +full:loop +full:- +full:powered
1 // SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause)
2 // Copyright(c) 2015-2023 Intel Corporation. All rights reserved.
14 struct device *dev = sdw->cdns.dev; in intel_start_bus()
15 struct sdw_cdns *cdns = &sdw->cdns; in intel_start_bus()
16 struct sdw_bus *bus = &cdns->bus; in intel_start_bus()
23 if (bus->multi_link) in intel_start_bus()
34 if (bus->multi_link) { in intel_start_bus()
63 schedule_delayed_work(&cdns->attach_dwork, in intel_start_bus()
71 struct device *dev = sdw->cdns.dev; in intel_start_bus_after_reset()
72 struct sdw_cdns *cdns = &sdw->cdns; in intel_start_bus_after_reset()
73 struct sdw_bus *bus = &cdns->bus; in intel_start_bus_after_reset()
81 * all the masters are powered on for they are in the same power in intel_start_bus_after_reset()
85 clock_stop0 = sdw_cdns_is_clock_stop(&sdw->cdns); in intel_start_bus_after_reset()
101 if (bus->multi_link) in intel_start_bus_after_reset()
105 * Re-initialize the IP since it was powered-off in intel_start_bus_after_reset()
107 sdw_cdns_init(&sdw->cdns); in intel_start_bus_after_reset()
128 if (bus->multi_link) { in intel_start_bus_after_reset()
131 dev_err(sdw->cdns.dev, "sync go failed during resume\n"); in intel_start_bus_after_reset()
157 schedule_delayed_work(&cdns->attach_dwork, in intel_start_bus_after_reset()
165 struct device *dev = sdw->cdns.dev; in intel_check_clock_stop()
168 clock_stop0 = sdw_cdns_is_clock_stop(&sdw->cdns); in intel_check_clock_stop()
175 struct device *dev = sdw->cdns.dev; in intel_start_bus_after_clock_stop()
176 struct sdw_cdns *cdns = &sdw->cdns; in intel_start_bus_after_clock_stop()
193 schedule_delayed_work(&cdns->attach_dwork, in intel_start_bus_after_clock_stop()
201 struct device *dev = sdw->cdns.dev; in intel_stop_bus()
202 struct sdw_cdns *cdns = &sdw->cdns; in intel_stop_bus()
206 cancel_delayed_work_sync(&cdns->attach_dwork); in intel_stop_bus()
239 struct sdw_cdns *cdns = &sdw->cdns; in intel_pre_bank_switch()
240 struct sdw_bus *bus = &cdns->bus; in intel_pre_bank_switch()
242 /* Write to register only for multi-link */ in intel_pre_bank_switch()
243 if (!bus->multi_link) in intel_pre_bank_switch()
253 struct sdw_cdns *cdns = &sdw->cdns; in intel_post_bank_switch()
254 struct sdw_bus *bus = &cdns->bus; in intel_post_bank_switch()
257 /* Write to register only for multi-link */ in intel_post_bank_switch()
258 if (!bus->multi_link) in intel_post_bank_switch()
261 mutex_lock(sdw->link_res->shim_lock); in intel_post_bank_switch()
264 * post_bank_switch() ops is called from the bus in loop for in intel_post_bank_switch()
274 mutex_unlock(sdw->link_res->shim_lock); in intel_post_bank_switch()
277 dev_err(sdw->cdns.dev, "Post bank switch failed: %d\n", ret); in intel_post_bank_switch()