Lines Matching defs:bus

22 #include "bus.h"
77 static int generic_pre_bank_switch(struct sdw_bus *bus)
79 struct sdw_cdns *cdns = bus_to_cdns(bus);
85 static int generic_post_bank_switch(struct sdw_bus *bus)
87 struct sdw_cdns *cdns = bus_to_cdns(bus);
93 static void generic_new_peripheral_assigned(struct sdw_bus *bus,
97 struct sdw_cdns *cdns = bus_to_cdns(bus);
113 dev_err(bus->dev, "%s: invalid dev_num %d, wake supported %d\n",
122 static int sdw_master_read_intel_prop(struct sdw_bus *bus)
124 struct sdw_master_prop *prop = &bus->prop;
132 "mipi-sdw-link-%d-subproperties", bus->link_id);
134 link = device_get_named_child_node(bus->dev, name);
136 dev_err(bus->dev, "Master node %s not found\n", name);
144 /* the values reported by BIOS are the 2x clock, not the bus clock */
157 intel_prop = devm_kzalloc(bus->dev, sizeof(*intel_prop), GFP_KERNEL);
179 bus->vendor_specific_prop = intel_prop;
181 dev_dbg(bus->dev, "doaise %#x doais %#x dodse %#x dods %#x\n",
190 static int intel_prop_read(struct sdw_bus *bus)
193 sdw_master_read_prop(bus);
196 sdw_master_read_intel_prop(bus);
203 static int intel_get_device_num_ida(struct sdw_bus *bus, struct sdw_slave *slave)
212 bit = find_first_zero_bit(slave->bus->assigned, SDW_MAX_DEVICES);
219 static void intel_put_device_num_ida(struct sdw_bus *bus, struct sdw_slave *slave)
250 struct sdw_bus *bus;
258 bus = &cdns->bus;
269 bus->controller_id = 0;
271 bus->link_id = auxdev->id;
272 bus->clk_stop_timeout = 1;
277 bus->ops = &sdw_intel_ops;
283 sdw->cdns.bus.compute_params = sdw_compute_params;
288 ret = sdw_bus_master_add(bus, dev, dev->fwnode);
294 if (bus->prop.hw_disabled)
297 bus->link_id);
302 bus->prop.err_threshold = 0;
312 struct sdw_bus *bus = &cdns->bus;
318 if (bus->prop.hw_disabled) {
325 link_flags = md_flags >> (bus->link_id * 8);
336 bus->hw_sync_min_links = 1;
338 bus->multi_link = multi_link;
364 pm_runtime_resume(bus->dev);
367 /* start bus */
370 dev_err(dev, "bus start failed: %d\n", ret);
402 pm_runtime_mark_last_busy(bus->dev);
423 struct sdw_bus *bus = &cdns->bus;
430 if (!bus->prop.hw_disabled) {
434 sdw_bus_master_delete(bus);
441 struct sdw_bus *bus;
444 bus = &sdw->cdns.bus;
446 if (bus->prop.hw_disabled || !sdw->startup_done) {
448 bus->link_id);
459 * resume the Master, which will generate a bus reset and result in
484 dev_dbg(dev, "skipping device, never detected on bus\n");
501 struct sdw_bus *bus = &cdns->bus;
505 if (bus->prop.hw_disabled || !sdw->startup_done) {
507 bus->link_id);
520 * The only solution is to resume the entire bus to full power
540 * Continue resuming the entire bus (parent + child devices) to exit
548 ret = device_for_each_child(bus->dev, NULL, intel_resume_child_device);
561 struct sdw_bus *bus = &cdns->bus;
565 if (bus->prop.hw_disabled || !sdw->startup_done) {
567 bus->link_id);
595 dev_err(dev, "%s: cannot stop bus: %d\n", __func__, ret);
606 struct sdw_bus *bus = &cdns->bus;
610 if (bus->prop.hw_disabled || !sdw->startup_done) {
612 bus->link_id);
621 dev_err(dev, "%s: cannot stop bus during teardown: %d\n",
628 dev_err(dev, "%s: cannot stop bus during clock_stop: %d\n",
645 struct sdw_bus *bus = &cdns->bus;
649 if (bus->prop.hw_disabled || !sdw->startup_done) {
651 bus->link_id);
664 pm_runtime_resume(bus->dev);
666 link_flags = md_flags >> (bus->link_id * 8);
682 sdw_clear_slave_status(bus, SDW_UNATTACH_REQUEST_MASTER_RESET);
686 dev_err(dev, "cannot start bus during resume\n");
701 pm_runtime_mark_last_busy(bus->dev);
711 struct sdw_bus *bus = &cdns->bus;
715 if (bus->prop.hw_disabled || !sdw->startup_done) {
717 bus->link_id);
737 sdw_clear_slave_status(bus, SDW_UNATTACH_REQUEST_MASTER_RESET);
741 dev_err(dev, "%s: cannot start bus after teardown: %d\n", __func__, ret);
749 dev_err(dev, "%s: power_up failed after bus reset: %d\n", __func__, ret);
755 dev_err(dev, "%s: cannot start bus after reset: %d\n", __func__, ret);
771 dev_err(dev, "%s: cannot start bus after clock stop: %d\n", __func__, ret);