Lines Matching full:link
31 MODULE_PARM_DESC(sdw_link_mask, "Intel link mask (one bit per link)");
35 struct fwnode_handle *link; in is_link_enabled() local
41 "mipi-sdw-link-%d-subproperties", i); in is_link_enabled()
43 link = fwnode_get_named_child_node(fw_node, name); in is_link_enabled()
44 if (!link) in is_link_enabled()
47 fwnode_property_read_u32(link, in is_link_enabled()
59 struct sdw_intel_link_res *link = ctx->links; in sdw_intel_cleanup() local
63 if (!link) in sdw_intel_cleanup()
68 for (i = 0; i < ctx->count; i++, link++) { in sdw_intel_cleanup()
72 if (link->pdev) { in sdw_intel_cleanup()
73 pm_runtime_disable(&link->pdev->dev); in sdw_intel_cleanup()
74 platform_device_unregister(link->pdev); in sdw_intel_cleanup()
77 if (!link->clock_stop_quirks) in sdw_intel_cleanup()
78 pm_runtime_put_noidle(link->dev); in sdw_intel_cleanup()
105 * 'master-count' property then all the inits based on link in sdw_intel_scan_controller()
119 dev_err(&adev->dev, "Link count %d exceeds max %d\n", in sdw_intel_scan_controller()
128 dev_dbg(&adev->dev, "ACPI reports %d SDW Link devices\n", count); in sdw_intel_scan_controller()
136 "Link %d masked, will not be enabled\n", i); in sdw_intel_scan_controller()
142 "Link %d not selected in firmware\n", i); in sdw_intel_scan_controller()
179 struct sdw_intel_link_res *link; in sdw_intel_thread() local
181 list_for_each_entry(link, &ctx->link_list, list) in sdw_intel_thread()
182 sdw_cdns_irq(irq, link->cdns); in sdw_intel_thread()
194 struct sdw_intel_link_res *link; in sdw_intel_probe_controller() local
215 dev_dbg(&adev->dev, "Creating %d SDW Link devices\n", count); in sdw_intel_probe_controller()
233 link = ctx->links; in sdw_intel_probe_controller()
239 for (i = 0; i < count; i++, link++) { in sdw_intel_probe_controller()
242 "Link %d masked, will not be enabled\n", i); in sdw_intel_probe_controller()
246 link->mmio_base = res->mmio_base; in sdw_intel_probe_controller()
247 link->registers = res->mmio_base + SDW_LINK_BASE in sdw_intel_probe_controller()
249 link->shim = res->mmio_base + SDW_SHIM_BASE; in sdw_intel_probe_controller()
250 link->alh = res->mmio_base + SDW_ALH_BASE; in sdw_intel_probe_controller()
252 link->ops = res->ops; in sdw_intel_probe_controller()
253 link->dev = res->dev; in sdw_intel_probe_controller()
255 link->clock_stop_quirks = res->clock_stop_quirks; in sdw_intel_probe_controller()
256 link->shim_lock = &ctx->shim_lock; in sdw_intel_probe_controller()
257 link->shim_mask = &ctx->shim_mask; in sdw_intel_probe_controller()
258 link->link_mask = link_mask; in sdw_intel_probe_controller()
266 pdevinfo.data = link; in sdw_intel_probe_controller()
267 pdevinfo.size_data = sizeof(*link); in sdw_intel_probe_controller()
276 link->pdev = pdev; in sdw_intel_probe_controller()
277 link->cdns = platform_get_drvdata(pdev); in sdw_intel_probe_controller()
279 list_add_tail(&link->list, &ctx->link_list); in sdw_intel_probe_controller()
280 bus = &link->cdns->bus; in sdw_intel_probe_controller()
293 list_for_each_entry(link, &ctx->link_list, list) { in sdw_intel_probe_controller()
294 bus = &link->cdns->bus; in sdw_intel_probe_controller()
314 struct sdw_intel_link_res *link; in sdw_intel_startup_controller() local
336 link = ctx->links; in sdw_intel_startup_controller()
340 for (i = 0; i < ctx->count; i++, link++) { in sdw_intel_startup_controller()
344 intel_master_startup(link->pdev); in sdw_intel_startup_controller()
346 if (!link->clock_stop_quirks) { in sdw_intel_startup_controller()
353 pm_runtime_get_noresume(link->dev); in sdw_intel_startup_controller()
384 * SoundWire link so filter accordingly in sdw_intel_acpi_cb()
462 struct sdw_intel_link_res *link; in sdw_intel_process_wakeen_event() local
469 link = ctx->links; in sdw_intel_process_wakeen_event()
473 for (i = 0; i < ctx->count; i++, link++) { in sdw_intel_process_wakeen_event()
477 intel_master_process_wakeen_event(link->pdev); in sdw_intel_process_wakeen_event()