ksproc 70 drivers/remoteproc/keystone_remoteproc.c static void keystone_rproc_dsp_reset(struct keystone_rproc *ksproc) ksproc 72 drivers/remoteproc/keystone_remoteproc.c reset_control_assert(ksproc->reset); ksproc 76 drivers/remoteproc/keystone_remoteproc.c static int keystone_rproc_dsp_boot(struct keystone_rproc *ksproc, u32 boot_addr) ksproc 81 drivers/remoteproc/keystone_remoteproc.c dev_err(ksproc->dev, "invalid boot address 0x%x, must be aligned on a 1KB boundary\n", ksproc 86 drivers/remoteproc/keystone_remoteproc.c ret = regmap_write(ksproc->dev_ctrl, ksproc->boot_offset, boot_addr); ksproc 88 drivers/remoteproc/keystone_remoteproc.c dev_err(ksproc->dev, "regmap_write of boot address failed, status = %d\n", ksproc 93 drivers/remoteproc/keystone_remoteproc.c reset_control_deassert(ksproc->reset); ksproc 111 drivers/remoteproc/keystone_remoteproc.c struct keystone_rproc *ksproc = dev_id; ksproc 113 drivers/remoteproc/keystone_remoteproc.c rproc_report_crash(ksproc->rproc, RPROC_FATAL_ERROR); ksproc 143 drivers/remoteproc/keystone_remoteproc.c struct keystone_rproc *ksproc = ksproc 146 drivers/remoteproc/keystone_remoteproc.c rproc_vq_interrupt(ksproc->rproc, 0); ksproc 147 drivers/remoteproc/keystone_remoteproc.c rproc_vq_interrupt(ksproc->rproc, 1); ksproc 155 drivers/remoteproc/keystone_remoteproc.c struct keystone_rproc *ksproc = dev_id; ksproc 157 drivers/remoteproc/keystone_remoteproc.c schedule_work(&ksproc->workqueue); ksproc 171 drivers/remoteproc/keystone_remoteproc.c struct keystone_rproc *ksproc = rproc->priv; ksproc 174 drivers/remoteproc/keystone_remoteproc.c INIT_WORK(&ksproc->workqueue, handle_event); ksproc 176 drivers/remoteproc/keystone_remoteproc.c ret = request_irq(ksproc->irq_ring, keystone_rproc_vring_interrupt, 0, ksproc 177 drivers/remoteproc/keystone_remoteproc.c dev_name(ksproc->dev), ksproc); ksproc 179 drivers/remoteproc/keystone_remoteproc.c dev_err(ksproc->dev, "failed to enable vring interrupt, ret = %d\n", ksproc 184 drivers/remoteproc/keystone_remoteproc.c ret = request_irq(ksproc->irq_fault, keystone_rproc_exception_interrupt, ksproc 185 drivers/remoteproc/keystone_remoteproc.c 0, dev_name(ksproc->dev), ksproc); ksproc 187 drivers/remoteproc/keystone_remoteproc.c dev_err(ksproc->dev, "failed to enable exception interrupt, ret = %d\n", ksproc 192 drivers/remoteproc/keystone_remoteproc.c ret = keystone_rproc_dsp_boot(ksproc, rproc->bootaddr); ksproc 199 drivers/remoteproc/keystone_remoteproc.c free_irq(ksproc->irq_fault, ksproc); ksproc 201 drivers/remoteproc/keystone_remoteproc.c free_irq(ksproc->irq_ring, ksproc); ksproc 202 drivers/remoteproc/keystone_remoteproc.c flush_work(&ksproc->workqueue); ksproc 215 drivers/remoteproc/keystone_remoteproc.c struct keystone_rproc *ksproc = rproc->priv; ksproc 217 drivers/remoteproc/keystone_remoteproc.c keystone_rproc_dsp_reset(ksproc); ksproc 218 drivers/remoteproc/keystone_remoteproc.c free_irq(ksproc->irq_fault, ksproc); ksproc 219 drivers/remoteproc/keystone_remoteproc.c free_irq(ksproc->irq_ring, ksproc); ksproc 220 drivers/remoteproc/keystone_remoteproc.c flush_work(&ksproc->workqueue); ksproc 233 drivers/remoteproc/keystone_remoteproc.c struct keystone_rproc *ksproc = rproc->priv; ksproc 235 drivers/remoteproc/keystone_remoteproc.c if (WARN_ON(ksproc->kick_gpio < 0)) ksproc 238 drivers/remoteproc/keystone_remoteproc.c gpio_set_value(ksproc->kick_gpio, 1); ksproc 251 drivers/remoteproc/keystone_remoteproc.c struct keystone_rproc *ksproc = rproc->priv; ksproc 261 drivers/remoteproc/keystone_remoteproc.c for (i = 0; i < ksproc->num_mems; i++) { ksproc 262 drivers/remoteproc/keystone_remoteproc.c bus_addr = ksproc->mem[i].bus_addr; ksproc 263 drivers/remoteproc/keystone_remoteproc.c dev_addr = ksproc->mem[i].dev_addr; ksproc 264 drivers/remoteproc/keystone_remoteproc.c size = ksproc->mem[i].size; ksproc 271 drivers/remoteproc/keystone_remoteproc.c va = ksproc->mem[i].cpu_addr + offset; ksproc 279 drivers/remoteproc/keystone_remoteproc.c va = ksproc->mem[i].cpu_addr + offset; ksproc 296 drivers/remoteproc/keystone_remoteproc.c struct keystone_rproc *ksproc) ksproc 305 drivers/remoteproc/keystone_remoteproc.c ksproc->mem = devm_kcalloc(ksproc->dev, num_mems, ksproc 306 drivers/remoteproc/keystone_remoteproc.c sizeof(*ksproc->mem), GFP_KERNEL); ksproc 307 drivers/remoteproc/keystone_remoteproc.c if (!ksproc->mem) ksproc 313 drivers/remoteproc/keystone_remoteproc.c ksproc->mem[i].cpu_addr = devm_ioremap_resource(dev, res); ksproc 314 drivers/remoteproc/keystone_remoteproc.c if (IS_ERR(ksproc->mem[i].cpu_addr)) { ksproc 317 drivers/remoteproc/keystone_remoteproc.c return PTR_ERR(ksproc->mem[i].cpu_addr); ksproc 319 drivers/remoteproc/keystone_remoteproc.c ksproc->mem[i].bus_addr = res->start; ksproc 320 drivers/remoteproc/keystone_remoteproc.c ksproc->mem[i].dev_addr = ksproc 322 drivers/remoteproc/keystone_remoteproc.c ksproc->mem[i].size = resource_size(res); ksproc 325 drivers/remoteproc/keystone_remoteproc.c memset((__force void *)ksproc->mem[i].cpu_addr, 0, ksproc 326 drivers/remoteproc/keystone_remoteproc.c ksproc->mem[i].size); ksproc 328 drivers/remoteproc/keystone_remoteproc.c ksproc->num_mems = num_mems; ksproc 334 drivers/remoteproc/keystone_remoteproc.c struct keystone_rproc *ksproc) ksproc 345 drivers/remoteproc/keystone_remoteproc.c ksproc->dev_ctrl = ksproc 347 drivers/remoteproc/keystone_remoteproc.c if (IS_ERR(ksproc->dev_ctrl)) { ksproc 348 drivers/remoteproc/keystone_remoteproc.c ret = PTR_ERR(ksproc->dev_ctrl); ksproc 353 drivers/remoteproc/keystone_remoteproc.c &ksproc->boot_offset)) { ksproc 365 drivers/remoteproc/keystone_remoteproc.c struct keystone_rproc *ksproc; ksproc 392 drivers/remoteproc/keystone_remoteproc.c sizeof(*ksproc)); ksproc 397 drivers/remoteproc/keystone_remoteproc.c ksproc = rproc->priv; ksproc 398 drivers/remoteproc/keystone_remoteproc.c ksproc->rproc = rproc; ksproc 399 drivers/remoteproc/keystone_remoteproc.c ksproc->dev = dev; ksproc 401 drivers/remoteproc/keystone_remoteproc.c ret = keystone_rproc_of_get_dev_syscon(pdev, ksproc); ksproc 405 drivers/remoteproc/keystone_remoteproc.c ksproc->reset = devm_reset_control_get_exclusive(dev, NULL); ksproc 406 drivers/remoteproc/keystone_remoteproc.c if (IS_ERR(ksproc->reset)) { ksproc 407 drivers/remoteproc/keystone_remoteproc.c ret = PTR_ERR(ksproc->reset); ksproc 420 drivers/remoteproc/keystone_remoteproc.c ret = keystone_rproc_of_get_memories(pdev, ksproc); ksproc 424 drivers/remoteproc/keystone_remoteproc.c ksproc->irq_ring = platform_get_irq_byname(pdev, "vring"); ksproc 425 drivers/remoteproc/keystone_remoteproc.c if (ksproc->irq_ring < 0) { ksproc 426 drivers/remoteproc/keystone_remoteproc.c ret = ksproc->irq_ring; ksproc 430 drivers/remoteproc/keystone_remoteproc.c ksproc->irq_fault = platform_get_irq_byname(pdev, "exception"); ksproc 431 drivers/remoteproc/keystone_remoteproc.c if (ksproc->irq_fault < 0) { ksproc 432 drivers/remoteproc/keystone_remoteproc.c ret = ksproc->irq_fault; ksproc 436 drivers/remoteproc/keystone_remoteproc.c ksproc->kick_gpio = of_get_named_gpio_flags(np, "kick-gpios", 0, NULL); ksproc 437 drivers/remoteproc/keystone_remoteproc.c if (ksproc->kick_gpio < 0) { ksproc 438 drivers/remoteproc/keystone_remoteproc.c ret = ksproc->kick_gpio; ksproc 448 drivers/remoteproc/keystone_remoteproc.c ret = reset_control_status(ksproc->reset); ksproc 454 drivers/remoteproc/keystone_remoteproc.c keystone_rproc_dsp_reset(ksproc); ksproc 464 drivers/remoteproc/keystone_remoteproc.c platform_set_drvdata(pdev, ksproc); ksproc 481 drivers/remoteproc/keystone_remoteproc.c struct keystone_rproc *ksproc = platform_get_drvdata(pdev); ksproc 483 drivers/remoteproc/keystone_remoteproc.c rproc_del(ksproc->rproc); ksproc 486 drivers/remoteproc/keystone_remoteproc.c rproc_free(ksproc->rproc);