Lines Matching refs:ctx
57 static int sdw_intel_cleanup(struct sdw_intel_ctx *ctx)
59 struct sdw_intel_link_res *link = ctx->links;
66 link_mask = ctx->link_mask;
68 for (i = 0; i < ctx->count; i++, link++) {
178 struct sdw_intel_ctx *ctx = dev_id;
181 list_for_each_entry(link, &ctx->link_list, list)
184 sdw_intel_enable_irq(ctx->mmio_base, true);
195 struct sdw_intel_ctx *ctx;
217 ctx = devm_kzalloc(&adev->dev, sizeof(*ctx), GFP_KERNEL);
218 if (!ctx)
221 ctx->count = count;
222 ctx->links = devm_kcalloc(&adev->dev, ctx->count,
223 sizeof(*ctx->links), GFP_KERNEL);
224 if (!ctx->links)
227 ctx->count = count;
228 ctx->mmio_base = res->mmio_base;
229 ctx->link_mask = res->link_mask;
230 ctx->handle = res->handle;
231 mutex_init(&ctx->shim_lock);
233 link = ctx->links;
234 link_mask = ctx->link_mask;
236 INIT_LIST_HEAD(&ctx->link_list);
256 link->shim_lock = &ctx->shim_lock;
257 link->shim_mask = &ctx->shim_mask;
279 list_add_tail(&link->list, &ctx->link_list);
286 ctx->ids = devm_kcalloc(&adev->dev, num_slaves,
287 sizeof(*ctx->ids), GFP_KERNEL);
288 if (!ctx->ids)
291 ctx->num_slaves = num_slaves;
293 list_for_each_entry(link, &ctx->link_list, list) {
296 ctx->ids[i].id = slave->id;
297 ctx->ids[i].link_id = bus->link_id;
302 return ctx;
305 ctx->count = i;
306 sdw_intel_cleanup(ctx);
311 sdw_intel_startup_controller(struct sdw_intel_ctx *ctx)
319 if (acpi_bus_get_device(ctx->handle, &adev))
323 caps = ioread32(ctx->mmio_base + SDW_SHIM_BASE + SDW_SHIM_LCAP);
327 if (caps < ctx->count) {
333 if (!ctx->links)
336 link = ctx->links;
337 link_mask = ctx->link_mask;
340 for (i = 0; i < ctx->count; i++, link++) {
439 * @ctx: SoundWire context allocated in the probe
444 int sdw_intel_startup(struct sdw_intel_ctx *ctx)
446 return sdw_intel_startup_controller(ctx);
451 * @ctx: SoundWire context allocated in the probe
455 void sdw_intel_exit(struct sdw_intel_ctx *ctx)
457 sdw_intel_cleanup(ctx);
461 void sdw_intel_process_wakeen_event(struct sdw_intel_ctx *ctx)
467 if (!ctx->links)
470 link = ctx->links;
471 link_mask = ctx->link_mask;
474 for (i = 0; i < ctx->count; i++, link++) {