adsp 528 drivers/net/wireless/ath/ath9k/mac.c struct ar5416_desc *adsp = AR5416DESC(ds); adsp 531 drivers/net/wireless/ath/ath9k/mac.c if ((adsp->ds_rxstatus8 & AR_RxDone) == 0) adsp 534 drivers/net/wireless/ath/ath9k/mac.c ads.u.rx = adsp->u.rx; adsp 99 drivers/remoteproc/qcom_q6v5_adsp.c static int qcom_adsp_shutdown(struct qcom_adsp *adsp) adsp 106 drivers/remoteproc/qcom_q6v5_adsp.c val = readl(adsp->qdsp6ss_base + RET_CFG_REG); adsp 108 drivers/remoteproc/qcom_q6v5_adsp.c writel(val, adsp->qdsp6ss_base + RET_CFG_REG); adsp 110 drivers/remoteproc/qcom_q6v5_adsp.c clk_bulk_disable_unprepare(adsp->num_clks, adsp->clks); adsp 113 drivers/remoteproc/qcom_q6v5_adsp.c ret = regmap_read(adsp->halt_map, adsp 114 drivers/remoteproc/qcom_q6v5_adsp.c adsp->halt_lpass + LPASS_PWR_ON_REG, &val); adsp 118 drivers/remoteproc/qcom_q6v5_adsp.c ret = regmap_read(adsp->halt_map, adsp 119 drivers/remoteproc/qcom_q6v5_adsp.c adsp->halt_lpass + LPASS_MASTER_IDLE_REG, adsp 124 drivers/remoteproc/qcom_q6v5_adsp.c regmap_write(adsp->halt_map, adsp 125 drivers/remoteproc/qcom_q6v5_adsp.c adsp->halt_lpass + LPASS_HALTREQ_REG, 1); adsp 130 drivers/remoteproc/qcom_q6v5_adsp.c ret = regmap_read(adsp->halt_map, adsp 131 drivers/remoteproc/qcom_q6v5_adsp.c adsp->halt_lpass + LPASS_HALTACK_REG, &val); adsp 138 drivers/remoteproc/qcom_q6v5_adsp.c ret = regmap_read(adsp->halt_map, adsp 139 drivers/remoteproc/qcom_q6v5_adsp.c adsp->halt_lpass + LPASS_MASTER_IDLE_REG, &val); adsp 141 drivers/remoteproc/qcom_q6v5_adsp.c dev_err(adsp->dev, "port failed halt\n"); adsp 145 drivers/remoteproc/qcom_q6v5_adsp.c reset_control_assert(adsp->pdc_sync_reset); adsp 147 drivers/remoteproc/qcom_q6v5_adsp.c reset_control_assert(adsp->restart); adsp 152 drivers/remoteproc/qcom_q6v5_adsp.c regmap_write(adsp->halt_map, adsp->halt_lpass + LPASS_HALTREQ_REG, 0); adsp 155 drivers/remoteproc/qcom_q6v5_adsp.c reset_control_deassert(adsp->pdc_sync_reset); adsp 157 drivers/remoteproc/qcom_q6v5_adsp.c reset_control_deassert(adsp->restart); adsp 166 drivers/remoteproc/qcom_q6v5_adsp.c struct qcom_adsp *adsp = (struct qcom_adsp *)rproc->priv; adsp 168 drivers/remoteproc/qcom_q6v5_adsp.c return qcom_mdt_load_no_init(adsp->dev, fw, rproc->firmware, 0, adsp 169 drivers/remoteproc/qcom_q6v5_adsp.c adsp->mem_region, adsp->mem_phys, adsp->mem_size, adsp 170 drivers/remoteproc/qcom_q6v5_adsp.c &adsp->mem_reloc); adsp 175 drivers/remoteproc/qcom_q6v5_adsp.c struct qcom_adsp *adsp = (struct qcom_adsp *)rproc->priv; adsp 179 drivers/remoteproc/qcom_q6v5_adsp.c qcom_q6v5_prepare(&adsp->q6v5); adsp 181 drivers/remoteproc/qcom_q6v5_adsp.c ret = clk_prepare_enable(adsp->xo); adsp 185 drivers/remoteproc/qcom_q6v5_adsp.c dev_pm_genpd_set_performance_state(adsp->dev, INT_MAX); adsp 186 drivers/remoteproc/qcom_q6v5_adsp.c ret = pm_runtime_get_sync(adsp->dev); adsp 190 drivers/remoteproc/qcom_q6v5_adsp.c ret = clk_bulk_prepare_enable(adsp->num_clks, adsp->clks); adsp 192 drivers/remoteproc/qcom_q6v5_adsp.c dev_err(adsp->dev, "adsp clk_enable failed\n"); adsp 197 drivers/remoteproc/qcom_q6v5_adsp.c writel(1, adsp->qdsp6ss_base + QDSP6SS_XO_CBCR); adsp 200 drivers/remoteproc/qcom_q6v5_adsp.c writel(1, adsp->qdsp6ss_base + QDSP6SS_SLEEP_CBCR); adsp 203 drivers/remoteproc/qcom_q6v5_adsp.c writel(1, adsp->qdsp6ss_base + QDSP6SS_CORE_CBCR); adsp 206 drivers/remoteproc/qcom_q6v5_adsp.c writel(adsp->mem_phys >> 4, adsp->qdsp6ss_base + RST_EVB_REG); adsp 209 drivers/remoteproc/qcom_q6v5_adsp.c writel(0x1, adsp->qdsp6ss_base + CORE_START_REG); adsp 212 drivers/remoteproc/qcom_q6v5_adsp.c writel(0x1, adsp->qdsp6ss_base + BOOT_CMD_REG); adsp 215 drivers/remoteproc/qcom_q6v5_adsp.c ret = readl_poll_timeout(adsp->qdsp6ss_base + BOOT_STATUS_REG, adsp 218 drivers/remoteproc/qcom_q6v5_adsp.c dev_err(adsp->dev, "failed to bootup adsp\n"); adsp 222 drivers/remoteproc/qcom_q6v5_adsp.c ret = qcom_q6v5_wait_for_start(&adsp->q6v5, msecs_to_jiffies(5 * HZ)); adsp 224 drivers/remoteproc/qcom_q6v5_adsp.c dev_err(adsp->dev, "start timed out\n"); adsp 231 drivers/remoteproc/qcom_q6v5_adsp.c clk_bulk_disable_unprepare(adsp->num_clks, adsp->clks); adsp 233 drivers/remoteproc/qcom_q6v5_adsp.c dev_pm_genpd_set_performance_state(adsp->dev, 0); adsp 234 drivers/remoteproc/qcom_q6v5_adsp.c pm_runtime_put(adsp->dev); adsp 236 drivers/remoteproc/qcom_q6v5_adsp.c clk_disable_unprepare(adsp->xo); adsp 238 drivers/remoteproc/qcom_q6v5_adsp.c qcom_q6v5_unprepare(&adsp->q6v5); adsp 245 drivers/remoteproc/qcom_q6v5_adsp.c struct qcom_adsp *adsp = container_of(q6v5, struct qcom_adsp, q6v5); adsp 247 drivers/remoteproc/qcom_q6v5_adsp.c clk_disable_unprepare(adsp->xo); adsp 248 drivers/remoteproc/qcom_q6v5_adsp.c dev_pm_genpd_set_performance_state(adsp->dev, 0); adsp 249 drivers/remoteproc/qcom_q6v5_adsp.c pm_runtime_put(adsp->dev); adsp 254 drivers/remoteproc/qcom_q6v5_adsp.c struct qcom_adsp *adsp = (struct qcom_adsp *)rproc->priv; adsp 258 drivers/remoteproc/qcom_q6v5_adsp.c ret = qcom_q6v5_request_stop(&adsp->q6v5); adsp 260 drivers/remoteproc/qcom_q6v5_adsp.c dev_err(adsp->dev, "timed out on wait\n"); adsp 262 drivers/remoteproc/qcom_q6v5_adsp.c ret = qcom_adsp_shutdown(adsp); adsp 264 drivers/remoteproc/qcom_q6v5_adsp.c dev_err(adsp->dev, "failed to shutdown: %d\n", ret); adsp 266 drivers/remoteproc/qcom_q6v5_adsp.c handover = qcom_q6v5_unprepare(&adsp->q6v5); adsp 268 drivers/remoteproc/qcom_q6v5_adsp.c qcom_adsp_pil_handover(&adsp->q6v5); adsp 275 drivers/remoteproc/qcom_q6v5_adsp.c struct qcom_adsp *adsp = (struct qcom_adsp *)rproc->priv; adsp 278 drivers/remoteproc/qcom_q6v5_adsp.c offset = da - adsp->mem_reloc; adsp 279 drivers/remoteproc/qcom_q6v5_adsp.c if (offset < 0 || offset + len > adsp->mem_size) adsp 282 drivers/remoteproc/qcom_q6v5_adsp.c return adsp->mem_region + offset; adsp 293 drivers/remoteproc/qcom_q6v5_adsp.c static int adsp_init_clock(struct qcom_adsp *adsp, const char **clk_ids) adsp 298 drivers/remoteproc/qcom_q6v5_adsp.c adsp->xo = devm_clk_get(adsp->dev, "xo"); adsp 299 drivers/remoteproc/qcom_q6v5_adsp.c if (IS_ERR(adsp->xo)) { adsp 300 drivers/remoteproc/qcom_q6v5_adsp.c ret = PTR_ERR(adsp->xo); adsp 302 drivers/remoteproc/qcom_q6v5_adsp.c dev_err(adsp->dev, "failed to get xo clock"); adsp 309 drivers/remoteproc/qcom_q6v5_adsp.c adsp->num_clks = num_clks; adsp 310 drivers/remoteproc/qcom_q6v5_adsp.c adsp->clks = devm_kcalloc(adsp->dev, adsp->num_clks, adsp 311 drivers/remoteproc/qcom_q6v5_adsp.c sizeof(*adsp->clks), GFP_KERNEL); adsp 312 drivers/remoteproc/qcom_q6v5_adsp.c if (!adsp->clks) adsp 315 drivers/remoteproc/qcom_q6v5_adsp.c for (i = 0; i < adsp->num_clks; i++) adsp 316 drivers/remoteproc/qcom_q6v5_adsp.c adsp->clks[i].id = clk_ids[i]; adsp 318 drivers/remoteproc/qcom_q6v5_adsp.c return devm_clk_bulk_get(adsp->dev, adsp->num_clks, adsp->clks); adsp 321 drivers/remoteproc/qcom_q6v5_adsp.c static int adsp_init_reset(struct qcom_adsp *adsp) adsp 323 drivers/remoteproc/qcom_q6v5_adsp.c adsp->pdc_sync_reset = devm_reset_control_get_optional_exclusive(adsp->dev, adsp 325 drivers/remoteproc/qcom_q6v5_adsp.c if (IS_ERR(adsp->pdc_sync_reset)) { adsp 326 drivers/remoteproc/qcom_q6v5_adsp.c dev_err(adsp->dev, "failed to acquire pdc_sync reset\n"); adsp 327 drivers/remoteproc/qcom_q6v5_adsp.c return PTR_ERR(adsp->pdc_sync_reset); adsp 330 drivers/remoteproc/qcom_q6v5_adsp.c adsp->restart = devm_reset_control_get_optional_exclusive(adsp->dev, "restart"); adsp 333 drivers/remoteproc/qcom_q6v5_adsp.c if (!adsp->restart) adsp 334 drivers/remoteproc/qcom_q6v5_adsp.c adsp->restart = devm_reset_control_get_exclusive(adsp->dev, "cc_lpass"); adsp 336 drivers/remoteproc/qcom_q6v5_adsp.c if (IS_ERR(adsp->restart)) { adsp 337 drivers/remoteproc/qcom_q6v5_adsp.c dev_err(adsp->dev, "failed to acquire restart\n"); adsp 338 drivers/remoteproc/qcom_q6v5_adsp.c return PTR_ERR(adsp->restart); adsp 344 drivers/remoteproc/qcom_q6v5_adsp.c static int adsp_init_mmio(struct qcom_adsp *adsp, adsp 352 drivers/remoteproc/qcom_q6v5_adsp.c adsp->qdsp6ss_base = devm_ioremap(&pdev->dev, res->start, adsp 354 drivers/remoteproc/qcom_q6v5_adsp.c if (!adsp->qdsp6ss_base) { adsp 355 drivers/remoteproc/qcom_q6v5_adsp.c dev_err(adsp->dev, "failed to map QDSP6SS registers\n"); adsp 365 drivers/remoteproc/qcom_q6v5_adsp.c adsp->halt_map = syscon_node_to_regmap(syscon); adsp 367 drivers/remoteproc/qcom_q6v5_adsp.c if (IS_ERR(adsp->halt_map)) adsp 368 drivers/remoteproc/qcom_q6v5_adsp.c return PTR_ERR(adsp->halt_map); adsp 371 drivers/remoteproc/qcom_q6v5_adsp.c 1, &adsp->halt_lpass); adsp 380 drivers/remoteproc/qcom_q6v5_adsp.c static int adsp_alloc_memory_region(struct qcom_adsp *adsp) adsp 386 drivers/remoteproc/qcom_q6v5_adsp.c node = of_parse_phandle(adsp->dev->of_node, "memory-region", 0); adsp 388 drivers/remoteproc/qcom_q6v5_adsp.c dev_err(adsp->dev, "no memory-region specified\n"); adsp 396 drivers/remoteproc/qcom_q6v5_adsp.c adsp->mem_phys = adsp->mem_reloc = r.start; adsp 397 drivers/remoteproc/qcom_q6v5_adsp.c adsp->mem_size = resource_size(&r); adsp 398 drivers/remoteproc/qcom_q6v5_adsp.c adsp->mem_region = devm_ioremap_wc(adsp->dev, adsp 399 drivers/remoteproc/qcom_q6v5_adsp.c adsp->mem_phys, adsp->mem_size); adsp 400 drivers/remoteproc/qcom_q6v5_adsp.c if (!adsp->mem_region) { adsp 401 drivers/remoteproc/qcom_q6v5_adsp.c dev_err(adsp->dev, "unable to map memory region: %pa+%zx\n", adsp 402 drivers/remoteproc/qcom_q6v5_adsp.c &r.start, adsp->mem_size); adsp 412 drivers/remoteproc/qcom_q6v5_adsp.c struct qcom_adsp *adsp; adsp 421 drivers/remoteproc/qcom_q6v5_adsp.c desc->firmware_name, sizeof(*adsp)); adsp 427 drivers/remoteproc/qcom_q6v5_adsp.c adsp = (struct qcom_adsp *)rproc->priv; adsp 428 drivers/remoteproc/qcom_q6v5_adsp.c adsp->dev = &pdev->dev; adsp 429 drivers/remoteproc/qcom_q6v5_adsp.c adsp->rproc = rproc; adsp 430 drivers/remoteproc/qcom_q6v5_adsp.c platform_set_drvdata(pdev, adsp); adsp 432 drivers/remoteproc/qcom_q6v5_adsp.c ret = adsp_alloc_memory_region(adsp); adsp 436 drivers/remoteproc/qcom_q6v5_adsp.c ret = adsp_init_clock(adsp, desc->clk_ids); adsp 440 drivers/remoteproc/qcom_q6v5_adsp.c pm_runtime_enable(adsp->dev); adsp 442 drivers/remoteproc/qcom_q6v5_adsp.c ret = adsp_init_reset(adsp); adsp 446 drivers/remoteproc/qcom_q6v5_adsp.c ret = adsp_init_mmio(adsp, pdev); adsp 450 drivers/remoteproc/qcom_q6v5_adsp.c ret = qcom_q6v5_init(&adsp->q6v5, pdev, rproc, desc->crash_reason_smem, adsp 455 drivers/remoteproc/qcom_q6v5_adsp.c qcom_add_glink_subdev(rproc, &adsp->glink_subdev); adsp 456 drivers/remoteproc/qcom_q6v5_adsp.c qcom_add_ssr_subdev(rproc, &adsp->ssr_subdev, desc->ssr_name); adsp 457 drivers/remoteproc/qcom_q6v5_adsp.c adsp->sysmon = qcom_add_sysmon_subdev(rproc, adsp 460 drivers/remoteproc/qcom_q6v5_adsp.c if (IS_ERR(adsp->sysmon)) { adsp 461 drivers/remoteproc/qcom_q6v5_adsp.c ret = PTR_ERR(adsp->sysmon); adsp 472 drivers/remoteproc/qcom_q6v5_adsp.c pm_runtime_disable(adsp->dev); adsp 481 drivers/remoteproc/qcom_q6v5_adsp.c struct qcom_adsp *adsp = platform_get_drvdata(pdev); adsp 483 drivers/remoteproc/qcom_q6v5_adsp.c rproc_del(adsp->rproc); adsp 485 drivers/remoteproc/qcom_q6v5_adsp.c qcom_remove_glink_subdev(adsp->rproc, &adsp->glink_subdev); adsp 486 drivers/remoteproc/qcom_q6v5_adsp.c qcom_remove_sysmon_subdev(adsp->sysmon); adsp 487 drivers/remoteproc/qcom_q6v5_adsp.c qcom_remove_ssr_subdev(adsp->rproc, &adsp->ssr_subdev); adsp 488 drivers/remoteproc/qcom_q6v5_adsp.c pm_runtime_disable(adsp->dev); adsp 489 drivers/remoteproc/qcom_q6v5_adsp.c rproc_free(adsp->rproc); adsp 72 drivers/remoteproc/qcom_q6v5_pas.c struct qcom_adsp *adsp = (struct qcom_adsp *)rproc->priv; adsp 74 drivers/remoteproc/qcom_q6v5_pas.c return qcom_mdt_load(adsp->dev, fw, rproc->firmware, adsp->pas_id, adsp 75 drivers/remoteproc/qcom_q6v5_pas.c adsp->mem_region, adsp->mem_phys, adsp->mem_size, adsp 76 drivers/remoteproc/qcom_q6v5_pas.c &adsp->mem_reloc); adsp 82 drivers/remoteproc/qcom_q6v5_pas.c struct qcom_adsp *adsp = (struct qcom_adsp *)rproc->priv; adsp 85 drivers/remoteproc/qcom_q6v5_pas.c qcom_q6v5_prepare(&adsp->q6v5); adsp 87 drivers/remoteproc/qcom_q6v5_pas.c ret = clk_prepare_enable(adsp->xo); adsp 91 drivers/remoteproc/qcom_q6v5_pas.c ret = clk_prepare_enable(adsp->aggre2_clk); adsp 95 drivers/remoteproc/qcom_q6v5_pas.c ret = regulator_enable(adsp->cx_supply); adsp 99 drivers/remoteproc/qcom_q6v5_pas.c ret = regulator_enable(adsp->px_supply); adsp 103 drivers/remoteproc/qcom_q6v5_pas.c ret = qcom_scm_pas_auth_and_reset(adsp->pas_id); adsp 105 drivers/remoteproc/qcom_q6v5_pas.c dev_err(adsp->dev, adsp 110 drivers/remoteproc/qcom_q6v5_pas.c ret = qcom_q6v5_wait_for_start(&adsp->q6v5, msecs_to_jiffies(5000)); adsp 112 drivers/remoteproc/qcom_q6v5_pas.c dev_err(adsp->dev, "start timed out\n"); adsp 113 drivers/remoteproc/qcom_q6v5_pas.c qcom_scm_pas_shutdown(adsp->pas_id); adsp 120 drivers/remoteproc/qcom_q6v5_pas.c regulator_disable(adsp->px_supply); adsp 122 drivers/remoteproc/qcom_q6v5_pas.c regulator_disable(adsp->cx_supply); adsp 124 drivers/remoteproc/qcom_q6v5_pas.c clk_disable_unprepare(adsp->aggre2_clk); adsp 126 drivers/remoteproc/qcom_q6v5_pas.c clk_disable_unprepare(adsp->xo); adsp 133 drivers/remoteproc/qcom_q6v5_pas.c struct qcom_adsp *adsp = container_of(q6v5, struct qcom_adsp, q6v5); adsp 135 drivers/remoteproc/qcom_q6v5_pas.c regulator_disable(adsp->px_supply); adsp 136 drivers/remoteproc/qcom_q6v5_pas.c regulator_disable(adsp->cx_supply); adsp 137 drivers/remoteproc/qcom_q6v5_pas.c clk_disable_unprepare(adsp->aggre2_clk); adsp 138 drivers/remoteproc/qcom_q6v5_pas.c clk_disable_unprepare(adsp->xo); adsp 143 drivers/remoteproc/qcom_q6v5_pas.c struct qcom_adsp *adsp = (struct qcom_adsp *)rproc->priv; adsp 147 drivers/remoteproc/qcom_q6v5_pas.c ret = qcom_q6v5_request_stop(&adsp->q6v5); adsp 149 drivers/remoteproc/qcom_q6v5_pas.c dev_err(adsp->dev, "timed out on wait\n"); adsp 151 drivers/remoteproc/qcom_q6v5_pas.c ret = qcom_scm_pas_shutdown(adsp->pas_id); adsp 153 drivers/remoteproc/qcom_q6v5_pas.c dev_err(adsp->dev, "failed to shutdown: %d\n", ret); adsp 155 drivers/remoteproc/qcom_q6v5_pas.c handover = qcom_q6v5_unprepare(&adsp->q6v5); adsp 157 drivers/remoteproc/qcom_q6v5_pas.c qcom_pas_handover(&adsp->q6v5); adsp 164 drivers/remoteproc/qcom_q6v5_pas.c struct qcom_adsp *adsp = (struct qcom_adsp *)rproc->priv; adsp 167 drivers/remoteproc/qcom_q6v5_pas.c offset = da - adsp->mem_reloc; adsp 168 drivers/remoteproc/qcom_q6v5_pas.c if (offset < 0 || offset + len > adsp->mem_size) adsp 171 drivers/remoteproc/qcom_q6v5_pas.c return adsp->mem_region + offset; adsp 182 drivers/remoteproc/qcom_q6v5_pas.c static int adsp_init_clock(struct qcom_adsp *adsp) adsp 186 drivers/remoteproc/qcom_q6v5_pas.c adsp->xo = devm_clk_get(adsp->dev, "xo"); adsp 187 drivers/remoteproc/qcom_q6v5_pas.c if (IS_ERR(adsp->xo)) { adsp 188 drivers/remoteproc/qcom_q6v5_pas.c ret = PTR_ERR(adsp->xo); adsp 190 drivers/remoteproc/qcom_q6v5_pas.c dev_err(adsp->dev, "failed to get xo clock"); adsp 194 drivers/remoteproc/qcom_q6v5_pas.c if (adsp->has_aggre2_clk) { adsp 195 drivers/remoteproc/qcom_q6v5_pas.c adsp->aggre2_clk = devm_clk_get(adsp->dev, "aggre2"); adsp 196 drivers/remoteproc/qcom_q6v5_pas.c if (IS_ERR(adsp->aggre2_clk)) { adsp 197 drivers/remoteproc/qcom_q6v5_pas.c ret = PTR_ERR(adsp->aggre2_clk); adsp 199 drivers/remoteproc/qcom_q6v5_pas.c dev_err(adsp->dev, adsp 208 drivers/remoteproc/qcom_q6v5_pas.c static int adsp_init_regulator(struct qcom_adsp *adsp) adsp 210 drivers/remoteproc/qcom_q6v5_pas.c adsp->cx_supply = devm_regulator_get(adsp->dev, "cx"); adsp 211 drivers/remoteproc/qcom_q6v5_pas.c if (IS_ERR(adsp->cx_supply)) adsp 212 drivers/remoteproc/qcom_q6v5_pas.c return PTR_ERR(adsp->cx_supply); adsp 214 drivers/remoteproc/qcom_q6v5_pas.c regulator_set_load(adsp->cx_supply, 100000); adsp 216 drivers/remoteproc/qcom_q6v5_pas.c adsp->px_supply = devm_regulator_get(adsp->dev, "px"); adsp 217 drivers/remoteproc/qcom_q6v5_pas.c return PTR_ERR_OR_ZERO(adsp->px_supply); adsp 220 drivers/remoteproc/qcom_q6v5_pas.c static int adsp_alloc_memory_region(struct qcom_adsp *adsp) adsp 226 drivers/remoteproc/qcom_q6v5_pas.c node = of_parse_phandle(adsp->dev->of_node, "memory-region", 0); adsp 228 drivers/remoteproc/qcom_q6v5_pas.c dev_err(adsp->dev, "no memory-region specified\n"); adsp 236 drivers/remoteproc/qcom_q6v5_pas.c adsp->mem_phys = adsp->mem_reloc = r.start; adsp 237 drivers/remoteproc/qcom_q6v5_pas.c adsp->mem_size = resource_size(&r); adsp 238 drivers/remoteproc/qcom_q6v5_pas.c adsp->mem_region = devm_ioremap_wc(adsp->dev, adsp->mem_phys, adsp->mem_size); adsp 239 drivers/remoteproc/qcom_q6v5_pas.c if (!adsp->mem_region) { adsp 240 drivers/remoteproc/qcom_q6v5_pas.c dev_err(adsp->dev, "unable to map memory region: %pa+%zx\n", adsp 241 drivers/remoteproc/qcom_q6v5_pas.c &r.start, adsp->mem_size); adsp 251 drivers/remoteproc/qcom_q6v5_pas.c struct qcom_adsp *adsp; adsp 270 drivers/remoteproc/qcom_q6v5_pas.c fw_name, sizeof(*adsp)); adsp 276 drivers/remoteproc/qcom_q6v5_pas.c adsp = (struct qcom_adsp *)rproc->priv; adsp 277 drivers/remoteproc/qcom_q6v5_pas.c adsp->dev = &pdev->dev; adsp 278 drivers/remoteproc/qcom_q6v5_pas.c adsp->rproc = rproc; adsp 279 drivers/remoteproc/qcom_q6v5_pas.c adsp->pas_id = desc->pas_id; adsp 280 drivers/remoteproc/qcom_q6v5_pas.c adsp->has_aggre2_clk = desc->has_aggre2_clk; adsp 281 drivers/remoteproc/qcom_q6v5_pas.c platform_set_drvdata(pdev, adsp); adsp 283 drivers/remoteproc/qcom_q6v5_pas.c ret = adsp_alloc_memory_region(adsp); adsp 287 drivers/remoteproc/qcom_q6v5_pas.c ret = adsp_init_clock(adsp); adsp 291 drivers/remoteproc/qcom_q6v5_pas.c ret = adsp_init_regulator(adsp); adsp 295 drivers/remoteproc/qcom_q6v5_pas.c ret = qcom_q6v5_init(&adsp->q6v5, pdev, rproc, desc->crash_reason_smem, adsp 300 drivers/remoteproc/qcom_q6v5_pas.c qcom_add_glink_subdev(rproc, &adsp->glink_subdev); adsp 301 drivers/remoteproc/qcom_q6v5_pas.c qcom_add_smd_subdev(rproc, &adsp->smd_subdev); adsp 302 drivers/remoteproc/qcom_q6v5_pas.c qcom_add_ssr_subdev(rproc, &adsp->ssr_subdev, desc->ssr_name); adsp 303 drivers/remoteproc/qcom_q6v5_pas.c adsp->sysmon = qcom_add_sysmon_subdev(rproc, adsp 306 drivers/remoteproc/qcom_q6v5_pas.c if (IS_ERR(adsp->sysmon)) { adsp 307 drivers/remoteproc/qcom_q6v5_pas.c ret = PTR_ERR(adsp->sysmon); adsp 325 drivers/remoteproc/qcom_q6v5_pas.c struct qcom_adsp *adsp = platform_get_drvdata(pdev); adsp 327 drivers/remoteproc/qcom_q6v5_pas.c rproc_del(adsp->rproc); adsp 329 drivers/remoteproc/qcom_q6v5_pas.c qcom_remove_glink_subdev(adsp->rproc, &adsp->glink_subdev); adsp 330 drivers/remoteproc/qcom_q6v5_pas.c qcom_remove_sysmon_subdev(adsp->sysmon); adsp 331 drivers/remoteproc/qcom_q6v5_pas.c qcom_remove_smd_subdev(adsp->rproc, &adsp->smd_subdev); adsp 332 drivers/remoteproc/qcom_q6v5_pas.c qcom_remove_ssr_subdev(adsp->rproc, &adsp->ssr_subdev); adsp 333 drivers/remoteproc/qcom_q6v5_pas.c rproc_free(adsp->rproc); adsp 77 sound/soc/codecs/arizona.h struct wm_adsp adsp[ARIZONA_MAX_ADSP]; adsp 1245 sound/soc/codecs/cs47l15.c return wm_adsp_compr_open(&priv->adsp[n_adsp], stream); adsp 1255 sound/soc/codecs/cs47l15.c ret = wm_adsp_compr_handle_irq(&priv->adsp[0]); adsp 1292 sound/soc/codecs/cs47l15.c wm_adsp2_component_probe(&cs47l15->core.adsp[0], component); adsp 1306 sound/soc/codecs/cs47l15.c wm_adsp2_component_remove(&cs47l15->core.adsp[0], component); adsp 1392 sound/soc/codecs/cs47l15.c cs47l15->core.adsp[0].part = "cs47l15"; adsp 1393 sound/soc/codecs/cs47l15.c cs47l15->core.adsp[0].num = 1; adsp 1394 sound/soc/codecs/cs47l15.c cs47l15->core.adsp[0].type = WMFW_ADSP2; adsp 1395 sound/soc/codecs/cs47l15.c cs47l15->core.adsp[0].rev = 2; adsp 1396 sound/soc/codecs/cs47l15.c cs47l15->core.adsp[0].dev = madera->dev; adsp 1397 sound/soc/codecs/cs47l15.c cs47l15->core.adsp[0].regmap = madera->regmap_32bit; adsp 1399 sound/soc/codecs/cs47l15.c cs47l15->core.adsp[0].base = MADERA_DSP1_CONFIG_1; adsp 1400 sound/soc/codecs/cs47l15.c cs47l15->core.adsp[0].mem = cs47l15_dsp1_regions; adsp 1401 sound/soc/codecs/cs47l15.c cs47l15->core.adsp[0].num_mems = ARRAY_SIZE(cs47l15_dsp1_regions); adsp 1403 sound/soc/codecs/cs47l15.c cs47l15->core.adsp[0].lock_regions = adsp 1406 sound/soc/codecs/cs47l15.c ret = wm_adsp2_init(&cs47l15->core.adsp[0]); adsp 1445 sound/soc/codecs/cs47l15.c wm_adsp2_remove(&cs47l15->core.adsp[0]); adsp 1465 sound/soc/codecs/cs47l15.c wm_adsp2_remove(&cs47l15->core.adsp[0]); adsp 1090 sound/soc/codecs/cs47l24.c return wm_adsp_compr_open(&priv->core.adsp[n_adsp], stream); adsp 1102 sound/soc/codecs/cs47l24.c ret = wm_adsp_compr_handle_irq(&priv->core.adsp[i]); adsp 1138 sound/soc/codecs/cs47l24.c ret = wm_adsp2_component_probe(&priv->core.adsp[1], component); adsp 1142 sound/soc/codecs/cs47l24.c ret = wm_adsp2_component_probe(&priv->core.adsp[2], component); adsp 1157 sound/soc/codecs/cs47l24.c wm_adsp2_component_remove(&priv->core.adsp[1], component); adsp 1158 sound/soc/codecs/cs47l24.c wm_adsp2_component_remove(&priv->core.adsp[2], component); adsp 1167 sound/soc/codecs/cs47l24.c wm_adsp2_component_remove(&priv->core.adsp[1], component); adsp 1168 sound/soc/codecs/cs47l24.c wm_adsp2_component_remove(&priv->core.adsp[2], component); adsp 1236 sound/soc/codecs/cs47l24.c cs47l24->core.adsp[i].part = "cs47l24"; adsp 1237 sound/soc/codecs/cs47l24.c cs47l24->core.adsp[i].num = i + 1; adsp 1238 sound/soc/codecs/cs47l24.c cs47l24->core.adsp[i].type = WMFW_ADSP2; adsp 1239 sound/soc/codecs/cs47l24.c cs47l24->core.adsp[i].dev = arizona->dev; adsp 1240 sound/soc/codecs/cs47l24.c cs47l24->core.adsp[i].regmap = arizona->regmap; adsp 1242 sound/soc/codecs/cs47l24.c cs47l24->core.adsp[i].base = ARIZONA_DSP1_CONTROL_1 + adsp 1244 sound/soc/codecs/cs47l24.c cs47l24->core.adsp[i].mem = cs47l24_dsp_regions[i - 1]; adsp 1245 sound/soc/codecs/cs47l24.c cs47l24->core.adsp[i].num_mems = adsp 1248 sound/soc/codecs/cs47l24.c ret = wm_adsp2_init(&cs47l24->core.adsp[i]); adsp 1330 sound/soc/codecs/cs47l24.c wm_adsp2_remove(&cs47l24->core.adsp[1]); adsp 1331 sound/soc/codecs/cs47l24.c wm_adsp2_remove(&cs47l24->core.adsp[2]); adsp 1523 sound/soc/codecs/cs47l35.c return wm_adsp_compr_open(&priv->adsp[n_adsp], stream); adsp 1536 sound/soc/codecs/cs47l35.c ret = wm_adsp_compr_handle_irq(&priv->adsp[i]); adsp 1584 sound/soc/codecs/cs47l35.c wm_adsp2_component_probe(&cs47l35->core.adsp[i], component); adsp 1600 sound/soc/codecs/cs47l35.c wm_adsp2_component_remove(&cs47l35->core.adsp[i], component); adsp 1685 sound/soc/codecs/cs47l35.c cs47l35->core.adsp[i].part = "cs47l35"; adsp 1686 sound/soc/codecs/cs47l35.c cs47l35->core.adsp[i].num = i + 1; adsp 1687 sound/soc/codecs/cs47l35.c cs47l35->core.adsp[i].type = WMFW_ADSP2; adsp 1688 sound/soc/codecs/cs47l35.c cs47l35->core.adsp[i].rev = 1; adsp 1689 sound/soc/codecs/cs47l35.c cs47l35->core.adsp[i].dev = madera->dev; adsp 1690 sound/soc/codecs/cs47l35.c cs47l35->core.adsp[i].regmap = madera->regmap_32bit; adsp 1692 sound/soc/codecs/cs47l35.c cs47l35->core.adsp[i].base = wm_adsp2_control_bases[i]; adsp 1693 sound/soc/codecs/cs47l35.c cs47l35->core.adsp[i].mem = cs47l35_dsp_regions[i]; adsp 1694 sound/soc/codecs/cs47l35.c cs47l35->core.adsp[i].num_mems = adsp 1697 sound/soc/codecs/cs47l35.c ret = wm_adsp2_init(&cs47l35->core.adsp[i]); adsp 1700 sound/soc/codecs/cs47l35.c wm_adsp2_remove(&cs47l35->core.adsp[i]); adsp 1733 sound/soc/codecs/cs47l35.c wm_adsp2_remove(&cs47l35->core.adsp[i]); adsp 1753 sound/soc/codecs/cs47l35.c wm_adsp2_remove(&cs47l35->core.adsp[i]); adsp 2462 sound/soc/codecs/cs47l85.c return wm_adsp_compr_open(&priv->adsp[n_adsp], stream); adsp 2475 sound/soc/codecs/cs47l85.c ret = wm_adsp_compr_handle_irq(&priv->adsp[i]); adsp 2523 sound/soc/codecs/cs47l85.c wm_adsp2_component_probe(&cs47l85->core.adsp[i], component); adsp 2539 sound/soc/codecs/cs47l85.c wm_adsp2_component_remove(&cs47l85->core.adsp[i], component); adsp 2633 sound/soc/codecs/cs47l85.c cs47l85->core.adsp[i].part = "cs47l85"; adsp 2634 sound/soc/codecs/cs47l85.c cs47l85->core.adsp[i].num = i + 1; adsp 2635 sound/soc/codecs/cs47l85.c cs47l85->core.adsp[i].type = WMFW_ADSP2; adsp 2636 sound/soc/codecs/cs47l85.c cs47l85->core.adsp[i].rev = 1; adsp 2637 sound/soc/codecs/cs47l85.c cs47l85->core.adsp[i].dev = madera->dev; adsp 2638 sound/soc/codecs/cs47l85.c cs47l85->core.adsp[i].regmap = madera->regmap_32bit; adsp 2640 sound/soc/codecs/cs47l85.c cs47l85->core.adsp[i].base = wm_adsp2_control_bases[i]; adsp 2641 sound/soc/codecs/cs47l85.c cs47l85->core.adsp[i].mem = cs47l85_dsp_regions[i]; adsp 2642 sound/soc/codecs/cs47l85.c cs47l85->core.adsp[i].num_mems = adsp 2645 sound/soc/codecs/cs47l85.c ret = wm_adsp2_init(&cs47l85->core.adsp[i]); adsp 2648 sound/soc/codecs/cs47l85.c wm_adsp2_remove(&cs47l85->core.adsp[i]); adsp 2686 sound/soc/codecs/cs47l85.c wm_adsp2_remove(&cs47l85->core.adsp[i]); adsp 2706 sound/soc/codecs/cs47l85.c wm_adsp2_remove(&cs47l85->core.adsp[i]); adsp 2373 sound/soc/codecs/cs47l90.c return wm_adsp_compr_open(&priv->adsp[n_adsp], stream); adsp 2386 sound/soc/codecs/cs47l90.c ret = wm_adsp_compr_handle_irq(&priv->adsp[i]); adsp 2434 sound/soc/codecs/cs47l90.c wm_adsp2_component_probe(&cs47l90->core.adsp[i], component); adsp 2450 sound/soc/codecs/cs47l90.c wm_adsp2_component_remove(&cs47l90->core.adsp[i], component); adsp 2536 sound/soc/codecs/cs47l90.c cs47l90->core.adsp[i].part = "cs47l90"; adsp 2537 sound/soc/codecs/cs47l90.c cs47l90->core.adsp[i].num = i + 1; adsp 2538 sound/soc/codecs/cs47l90.c cs47l90->core.adsp[i].type = WMFW_ADSP2; adsp 2539 sound/soc/codecs/cs47l90.c cs47l90->core.adsp[i].rev = 2; adsp 2540 sound/soc/codecs/cs47l90.c cs47l90->core.adsp[i].dev = madera->dev; adsp 2541 sound/soc/codecs/cs47l90.c cs47l90->core.adsp[i].regmap = madera->regmap_32bit; adsp 2543 sound/soc/codecs/cs47l90.c cs47l90->core.adsp[i].base = cs47l90_dsp_control_bases[i]; adsp 2544 sound/soc/codecs/cs47l90.c cs47l90->core.adsp[i].mem = cs47l90_dsp_regions[i]; adsp 2545 sound/soc/codecs/cs47l90.c cs47l90->core.adsp[i].num_mems = adsp 2548 sound/soc/codecs/cs47l90.c cs47l90->core.adsp[i].lock_regions = WM_ADSP2_REGION_1_9; adsp 2550 sound/soc/codecs/cs47l90.c ret = wm_adsp2_init(&cs47l90->core.adsp[i]); adsp 2556 sound/soc/codecs/cs47l90.c wm_adsp2_remove(&cs47l90->core.adsp[i]); adsp 2562 sound/soc/codecs/cs47l90.c wm_adsp2_remove(&cs47l90->core.adsp[i]); adsp 2602 sound/soc/codecs/cs47l90.c wm_adsp2_remove(&cs47l90->core.adsp[i]); adsp 2622 sound/soc/codecs/cs47l90.c wm_adsp2_remove(&cs47l90->core.adsp[i]); adsp 1801 sound/soc/codecs/cs47l92.c return wm_adsp_compr_open(&priv->adsp[n_adsp], stream); adsp 1811 sound/soc/codecs/cs47l92.c ret = wm_adsp_compr_handle_irq(&priv->adsp[0]); adsp 1848 sound/soc/codecs/cs47l92.c return wm_adsp2_component_probe(&cs47l92->core.adsp[0], component); adsp 1860 sound/soc/codecs/cs47l92.c wm_adsp2_component_remove(&cs47l92->core.adsp[0], component); adsp 1944 sound/soc/codecs/cs47l92.c cs47l92->core.adsp[0].part = "cs47l92"; adsp 1945 sound/soc/codecs/cs47l92.c cs47l92->core.adsp[0].num = 1; adsp 1946 sound/soc/codecs/cs47l92.c cs47l92->core.adsp[0].type = WMFW_ADSP2; adsp 1947 sound/soc/codecs/cs47l92.c cs47l92->core.adsp[0].rev = 2; adsp 1948 sound/soc/codecs/cs47l92.c cs47l92->core.adsp[0].dev = madera->dev; adsp 1949 sound/soc/codecs/cs47l92.c cs47l92->core.adsp[0].regmap = madera->regmap_32bit; adsp 1951 sound/soc/codecs/cs47l92.c cs47l92->core.adsp[0].base = MADERA_DSP1_CONFIG_1; adsp 1952 sound/soc/codecs/cs47l92.c cs47l92->core.adsp[0].mem = cs47l92_dsp1_regions; adsp 1953 sound/soc/codecs/cs47l92.c cs47l92->core.adsp[0].num_mems = ARRAY_SIZE(cs47l92_dsp1_regions); adsp 1955 sound/soc/codecs/cs47l92.c cs47l92->core.adsp[0].lock_regions = WM_ADSP2_REGION_1_9; adsp 1957 sound/soc/codecs/cs47l92.c ret = wm_adsp2_init(&cs47l92->core.adsp[0]); adsp 1963 sound/soc/codecs/cs47l92.c wm_adsp2_remove(&cs47l92->core.adsp[0]); adsp 1998 sound/soc/codecs/cs47l92.c wm_adsp2_remove(&cs47l92->core.adsp[0]); adsp 2015 sound/soc/codecs/cs47l92.c wm_adsp2_remove(&cs47l92->core.adsp[0]); adsp 862 sound/soc/codecs/madera.c if (!madera_can_change_grp_rate(priv, priv->adsp[adsp_num].base)) { adsp 961 sound/soc/codecs/madera.c struct wm_adsp *dsp = &priv->adsp[dsp_num]; adsp 1231 sound/soc/codecs/madera.c &priv->adsp[dsp_num]); adsp 1246 sound/soc/codecs/madera.c &priv->adsp[dsp_num]); adsp 119 sound/soc/codecs/madera.h struct wm_adsp adsp[MADERA_MAX_ADSP]; adsp 1918 sound/soc/codecs/wm5102.c return wm_adsp_compr_open(&priv->core.adsp[0], stream); adsp 1927 sound/soc/codecs/wm5102.c ret = wm_adsp_compr_handle_irq(&priv->core.adsp[0]); adsp 1945 sound/soc/codecs/wm5102.c ret = wm_adsp2_component_probe(&priv->core.adsp[0], component); adsp 1967 sound/soc/codecs/wm5102.c wm_adsp2_component_remove(&priv->core.adsp[0], component); adsp 1976 sound/soc/codecs/wm5102.c wm_adsp2_component_remove(&priv->core.adsp[0], component); adsp 2050 sound/soc/codecs/wm5102.c wm5102->core.adsp[0].part = "wm5102"; adsp 2051 sound/soc/codecs/wm5102.c wm5102->core.adsp[0].num = 1; adsp 2052 sound/soc/codecs/wm5102.c wm5102->core.adsp[0].type = WMFW_ADSP2; adsp 2053 sound/soc/codecs/wm5102.c wm5102->core.adsp[0].base = ARIZONA_DSP1_CONTROL_1; adsp 2054 sound/soc/codecs/wm5102.c wm5102->core.adsp[0].dev = arizona->dev; adsp 2055 sound/soc/codecs/wm5102.c wm5102->core.adsp[0].regmap = arizona->regmap; adsp 2056 sound/soc/codecs/wm5102.c wm5102->core.adsp[0].mem = wm5102_dsp1_regions; adsp 2057 sound/soc/codecs/wm5102.c wm5102->core.adsp[0].num_mems = ARRAY_SIZE(wm5102_dsp1_regions); adsp 2059 sound/soc/codecs/wm5102.c ret = wm_adsp2_init(&wm5102->core.adsp[0]); adsp 2140 sound/soc/codecs/wm5102.c wm_adsp2_remove(&wm5102->core.adsp[0]); adsp 2259 sound/soc/codecs/wm5110.c return wm_adsp_compr_open(&priv->core.adsp[n_adsp], stream); adsp 2271 sound/soc/codecs/wm5110.c ret = wm_adsp_compr_handle_irq(&priv->core.adsp[i]); adsp 2308 sound/soc/codecs/wm5110.c ret = wm_adsp2_component_probe(&priv->core.adsp[i], component); adsp 2325 sound/soc/codecs/wm5110.c wm_adsp2_component_remove(&priv->core.adsp[i], component); adsp 2336 sound/soc/codecs/wm5110.c wm_adsp2_component_remove(&priv->core.adsp[i], component); adsp 2410 sound/soc/codecs/wm5110.c wm5110->core.adsp[i].part = "wm5110"; adsp 2411 sound/soc/codecs/wm5110.c wm5110->core.adsp[i].num = i + 1; adsp 2412 sound/soc/codecs/wm5110.c wm5110->core.adsp[i].type = WMFW_ADSP2; adsp 2413 sound/soc/codecs/wm5110.c wm5110->core.adsp[i].dev = arizona->dev; adsp 2414 sound/soc/codecs/wm5110.c wm5110->core.adsp[i].regmap = arizona->regmap; adsp 2416 sound/soc/codecs/wm5110.c wm5110->core.adsp[i].base = ARIZONA_DSP1_CONTROL_1 adsp 2418 sound/soc/codecs/wm5110.c wm5110->core.adsp[i].mem = wm5110_dsp_regions[i]; adsp 2419 sound/soc/codecs/wm5110.c wm5110->core.adsp[i].num_mems adsp 2422 sound/soc/codecs/wm5110.c ret = wm_adsp2_init(&wm5110->core.adsp[i]); adsp 2506 sound/soc/codecs/wm5110.c wm_adsp2_remove(&wm5110->core.adsp[i]);