Lines Matching refs:ctx
143 static int sst_platform_get_resources(struct intel_sst_drv *ctx) in sst_platform_get_resources() argument
146 struct platform_device *pdev = to_platform_device(ctx->dev); in sst_platform_get_resources()
151 ctx->pdata->res_info->acpi_lpe_res_index); in sst_platform_get_resources()
153 dev_err(ctx->dev, "Invalid SHIM base from IFWI"); in sst_platform_get_resources()
156 dev_info(ctx->dev, "LPE base: %#x size:%#x", (unsigned int) rsrc->start, in sst_platform_get_resources()
159 ctx->iram_base = rsrc->start + ctx->pdata->res_info->iram_offset; in sst_platform_get_resources()
160 ctx->iram_end = ctx->iram_base + ctx->pdata->res_info->iram_size - 1; in sst_platform_get_resources()
161 dev_info(ctx->dev, "IRAM base: %#x", ctx->iram_base); in sst_platform_get_resources()
162 ctx->iram = devm_ioremap_nocache(ctx->dev, ctx->iram_base, in sst_platform_get_resources()
163 ctx->pdata->res_info->iram_size); in sst_platform_get_resources()
164 if (!ctx->iram) { in sst_platform_get_resources()
165 dev_err(ctx->dev, "unable to map IRAM"); in sst_platform_get_resources()
169 ctx->dram_base = rsrc->start + ctx->pdata->res_info->dram_offset; in sst_platform_get_resources()
170 ctx->dram_end = ctx->dram_base + ctx->pdata->res_info->dram_size - 1; in sst_platform_get_resources()
171 dev_info(ctx->dev, "DRAM base: %#x", ctx->dram_base); in sst_platform_get_resources()
172 ctx->dram = devm_ioremap_nocache(ctx->dev, ctx->dram_base, in sst_platform_get_resources()
173 ctx->pdata->res_info->dram_size); in sst_platform_get_resources()
174 if (!ctx->dram) { in sst_platform_get_resources()
175 dev_err(ctx->dev, "unable to map DRAM"); in sst_platform_get_resources()
179 ctx->shim_phy_add = rsrc->start + ctx->pdata->res_info->shim_offset; in sst_platform_get_resources()
180 dev_info(ctx->dev, "SHIM base: %#x", ctx->shim_phy_add); in sst_platform_get_resources()
181 ctx->shim = devm_ioremap_nocache(ctx->dev, ctx->shim_phy_add, in sst_platform_get_resources()
182 ctx->pdata->res_info->shim_size); in sst_platform_get_resources()
183 if (!ctx->shim) { in sst_platform_get_resources()
184 dev_err(ctx->dev, "unable to map SHIM"); in sst_platform_get_resources()
189 ctx->shim_phy_add = ctx->pdata->res_info->shim_phy_addr; in sst_platform_get_resources()
192 ctx->mailbox_add = rsrc->start + ctx->pdata->res_info->mbox_offset; in sst_platform_get_resources()
193 dev_info(ctx->dev, "Mailbox base: %#x", ctx->mailbox_add); in sst_platform_get_resources()
194 ctx->mailbox = devm_ioremap_nocache(ctx->dev, ctx->mailbox_add, in sst_platform_get_resources()
195 ctx->pdata->res_info->mbox_size); in sst_platform_get_resources()
196 if (!ctx->mailbox) { in sst_platform_get_resources()
197 dev_err(ctx->dev, "unable to map mailbox"); in sst_platform_get_resources()
202 ctx->mailbox_add = ctx->info.mailbox_start; in sst_platform_get_resources()
205 ctx->pdata->res_info->acpi_ddr_index); in sst_platform_get_resources()
207 dev_err(ctx->dev, "Invalid DDR base from IFWI"); in sst_platform_get_resources()
210 ctx->ddr_base = rsrc->start; in sst_platform_get_resources()
211 ctx->ddr_end = rsrc->end; in sst_platform_get_resources()
212 dev_info(ctx->dev, "DDR base: %#x", ctx->ddr_base); in sst_platform_get_resources()
213 ctx->ddr = devm_ioremap_nocache(ctx->dev, ctx->ddr_base, in sst_platform_get_resources()
215 if (!ctx->ddr) { in sst_platform_get_resources()
216 dev_err(ctx->dev, "unable to map DDR"); in sst_platform_get_resources()
221 ctx->irq_num = platform_get_irq(pdev, in sst_platform_get_resources()
222 ctx->pdata->res_info->acpi_ipc_irq_index); in sst_platform_get_resources()
252 struct intel_sst_drv *ctx; in sst_acpi_probe() local
292 ret = sst_alloc_drv_context(&ctx, dev, dev_id); in sst_acpi_probe()
297 ctx->pdata = mach->pdata; in sst_acpi_probe()
298 strcpy(ctx->firmware_name, mach->firmware); in sst_acpi_probe()
300 ret = sst_platform_get_resources(ctx); in sst_acpi_probe()
304 ret = sst_context_init(ctx); in sst_acpi_probe()
309 ctx->shim_regs64 = devm_kzalloc(ctx->dev, sizeof(*ctx->shim_regs64), in sst_acpi_probe()
311 if (!ctx->shim_regs64) { in sst_acpi_probe()
316 sst_configure_runtime_pm(ctx); in sst_acpi_probe()
317 platform_set_drvdata(pdev, ctx); in sst_acpi_probe()
321 sst_context_cleanup(ctx); in sst_acpi_probe()
323 dev_err(ctx->dev, "failed with %d\n", ret); in sst_acpi_probe()
337 struct intel_sst_drv *ctx; in sst_acpi_remove() local
339 ctx = platform_get_drvdata(pdev); in sst_acpi_remove()
340 sst_context_cleanup(ctx); in sst_acpi_remove()