Lines Matching refs:kproc

154 	struct k3_r5_rproc *kproc = container_of(client, struct k3_r5_rproc,  in k3_r5_rproc_mbox_callback()  local
156 struct device *dev = kproc->rproc->dev.parent; in k3_r5_rproc_mbox_callback()
157 const char *name = kproc->rproc->name; in k3_r5_rproc_mbox_callback()
177 if (msg > kproc->rproc->max_notifyid) { in k3_r5_rproc_mbox_callback()
182 if (rproc_vq_interrupt(kproc->rproc, msg) == IRQ_NONE) in k3_r5_rproc_mbox_callback()
190 struct k3_r5_rproc *kproc = rproc->priv; in k3_r5_rproc_kick() local
196 ret = mbox_send_message(kproc->mbox, (void *)msg); in k3_r5_rproc_kick()
361 struct k3_r5_rproc *kproc = rproc->priv; in k3_r5_rproc_prepare() local
362 struct k3_r5_cluster *cluster = kproc->cluster; in k3_r5_rproc_prepare()
363 struct k3_r5_core *core = kproc->core; in k3_r5_rproc_prepare()
364 struct device *dev = kproc->dev; in k3_r5_rproc_prepare()
400 struct k3_r5_rproc *kproc = rproc->priv; in k3_r5_rproc_unprepare() local
401 struct k3_r5_cluster *cluster = kproc->cluster; in k3_r5_rproc_unprepare()
402 struct k3_r5_core *core = kproc->core; in k3_r5_rproc_unprepare()
403 struct device *dev = kproc->dev; in k3_r5_rproc_unprepare()
428 struct k3_r5_rproc *kproc = rproc->priv; in k3_r5_rproc_start() local
429 struct k3_r5_cluster *cluster = kproc->cluster; in k3_r5_rproc_start()
430 struct mbox_client *client = &kproc->client; in k3_r5_rproc_start()
431 struct device *dev = kproc->dev; in k3_r5_rproc_start()
442 kproc->mbox = mbox_request_channel(client, 0); in k3_r5_rproc_start()
443 if (IS_ERR(kproc->mbox)) { in k3_r5_rproc_start()
446 PTR_ERR(kproc->mbox)); in k3_r5_rproc_start()
457 ret = mbox_send_message(kproc->mbox, (void *)RP_MBOX_ECHO_REQUEST); in k3_r5_rproc_start()
468 core = kproc->core; in k3_r5_rproc_start()
494 mbox_free_channel(kproc->mbox); in k3_r5_rproc_start()
519 struct k3_r5_rproc *kproc = rproc->priv; in k3_r5_rproc_stop() local
520 struct k3_r5_cluster *cluster = kproc->cluster; in k3_r5_rproc_stop()
521 struct k3_r5_core *core = kproc->core; in k3_r5_rproc_stop()
539 mbox_free_channel(kproc->mbox); in k3_r5_rproc_stop()
562 struct k3_r5_rproc *kproc = rproc->priv; in k3_r5_rproc_da_to_va() local
563 struct k3_r5_core *core = kproc->core; in k3_r5_rproc_da_to_va()
607 for (i = 0; i < kproc->num_rmems; i++) { in k3_r5_rproc_da_to_va()
608 dev_addr = kproc->rmem[i].dev_addr; in k3_r5_rproc_da_to_va()
609 size = kproc->rmem[i].size; in k3_r5_rproc_da_to_va()
613 va = kproc->rmem[i].cpu_addr + offset; in k3_r5_rproc_da_to_va()
661 static int k3_r5_rproc_configure(struct k3_r5_rproc *kproc) in k3_r5_rproc_configure() argument
663 struct k3_r5_cluster *cluster = kproc->cluster; in k3_r5_rproc_configure()
664 struct device *dev = kproc->dev; in k3_r5_rproc_configure()
673 core = (cluster->mode == CLUSTER_MODE_LOCKSTEP) ? core0 : kproc->core; in k3_r5_rproc_configure()
755 static int k3_r5_reserved_mem_init(struct k3_r5_rproc *kproc) in k3_r5_reserved_mem_init() argument
757 struct device *dev = kproc->dev; in k3_r5_reserved_mem_init()
786 kproc->rmem = kcalloc(num_rmems, sizeof(*kproc->rmem), GFP_KERNEL); in k3_r5_reserved_mem_init()
787 if (!kproc->rmem) { in k3_r5_reserved_mem_init()
808 kproc->rmem[i].bus_addr = rmem->base; in k3_r5_reserved_mem_init()
819 kproc->rmem[i].dev_addr = (u32)rmem->base; in k3_r5_reserved_mem_init()
820 kproc->rmem[i].size = rmem->size; in k3_r5_reserved_mem_init()
821 kproc->rmem[i].cpu_addr = ioremap_wc(rmem->base, rmem->size); in k3_r5_reserved_mem_init()
822 if (!kproc->rmem[i].cpu_addr) { in k3_r5_reserved_mem_init()
830 i + 1, &kproc->rmem[i].bus_addr, in k3_r5_reserved_mem_init()
831 kproc->rmem[i].size, kproc->rmem[i].cpu_addr, in k3_r5_reserved_mem_init()
832 kproc->rmem[i].dev_addr); in k3_r5_reserved_mem_init()
834 kproc->num_rmems = num_rmems; in k3_r5_reserved_mem_init()
840 iounmap(kproc->rmem[i].cpu_addr); in k3_r5_reserved_mem_init()
841 kfree(kproc->rmem); in k3_r5_reserved_mem_init()
847 static void k3_r5_reserved_mem_exit(struct k3_r5_rproc *kproc) in k3_r5_reserved_mem_exit() argument
851 for (i = 0; i < kproc->num_rmems; i++) in k3_r5_reserved_mem_exit()
852 iounmap(kproc->rmem[i].cpu_addr); in k3_r5_reserved_mem_exit()
853 kfree(kproc->rmem); in k3_r5_reserved_mem_exit()
855 of_reserved_mem_device_release(kproc->dev); in k3_r5_reserved_mem_exit()
862 struct k3_r5_rproc *kproc; in k3_r5_cluster_rproc_init() local
880 fw_name, sizeof(*kproc)); in k3_r5_cluster_rproc_init()
891 kproc = rproc->priv; in k3_r5_cluster_rproc_init()
892 kproc->cluster = cluster; in k3_r5_cluster_rproc_init()
893 kproc->core = core; in k3_r5_cluster_rproc_init()
894 kproc->dev = cdev; in k3_r5_cluster_rproc_init()
895 kproc->rproc = rproc; in k3_r5_cluster_rproc_init()
898 ret = k3_r5_rproc_configure(kproc); in k3_r5_cluster_rproc_init()
905 ret = k3_r5_reserved_mem_init(kproc); in k3_r5_cluster_rproc_init()
928 k3_r5_reserved_mem_exit(kproc); in k3_r5_cluster_rproc_init()
937 kproc = rproc->priv; in k3_r5_cluster_rproc_init()
946 struct k3_r5_rproc *kproc; in k3_r5_cluster_rproc_exit() local
961 kproc = rproc->priv; in k3_r5_cluster_rproc_exit()
965 k3_r5_reserved_mem_exit(kproc); in k3_r5_cluster_rproc_exit()