Lines Matching full:rproc

146  * needed to map it (in case @rproc is using an IOMMU). Reducing the TLB
246 * @notifyid is a unique rproc-wide notify index for this vring. This notify
269 * @notifyid is a unique rproc-wide notify index for this vdev. This notify
287 * to statically allocate a vdev upon registration of the rproc (dynamic vdev
313 struct rproc;
343 int (*alloc)(struct rproc *rproc, struct rproc_mem_entry *mem);
344 int (*release)(struct rproc *rproc, struct rproc_mem_entry *mem);
383 int (*prepare)(struct rproc *rproc);
384 int (*unprepare)(struct rproc *rproc);
385 int (*start)(struct rproc *rproc);
386 int (*stop)(struct rproc *rproc);
387 int (*attach)(struct rproc *rproc);
388 void (*kick)(struct rproc *rproc, int vqid);
389 void * (*da_to_va)(struct rproc *rproc, u64 da, size_t len, bool *is_iomem);
390 int (*parse_fw)(struct rproc *rproc, const struct firmware *fw);
391 int (*handle_rsc)(struct rproc *rproc, u32 rsc_type, void *rsc,
394 struct rproc *rproc, const struct firmware *fw);
395 int (*load)(struct rproc *rproc, const struct firmware *fw);
396 int (*sanity_check)(struct rproc *rproc, const struct firmware *fw);
397 u64 (*get_boot_addr)(struct rproc *rproc, const struct firmware *fw);
398 unsigned long (*panic)(struct rproc *rproc);
399 void (*coredump)(struct rproc *rproc);
463 * @node: list node related to the rproc segment list
477 void (*dump)(struct rproc *rproc, struct rproc_dump_segment *segment,
483 * struct rproc - represents a physical remote processor device
484 * @node: list node of this rproc object
486 * @name: human readable name of the rproc
488 * @priv: private data which belongs to the platform-specific rproc module
489 * @ops: platform-specific start/stop rproc handlers
491 * @power: refcount of users who need this rproc powered up
494 * @lock: lock which protects concurrent manipulations of the rproc
495 * @dbg_dir: debugfs directory of this rproc device
500 * @bootaddr: address of first instruction to boot rproc with (optional)
503 * @notifyids: idr for dynamically assigning rproc-wide unique notify ids
504 * @index: index of this rproc device
516 * @nb_vdev: number of vdev currently handled by rproc
517 * @char_dev: character device of the rproc
520 struct rproc { struct
562 * @node: list node related to the rproc subdevs list argument
563 * @prepare: prepare function, called before the rproc is started
564 * @start: start function, called after the rproc has been started
565 * @stop: stop function, called before the rproc is stopped; the @crashed
567 * @unprepare: unprepare function, called after the rproc has been stopped
588 * @notifyid: rproc-specific unique vring index
605 * @subdev: handle for registering the vdev as a rproc subdevice
608 * @rproc: the rproc handle
622 struct rproc *rproc; member
628 struct rproc *rproc_get_by_phandle(phandle phandle);
629 struct rproc *rproc_get_by_child(struct device *dev);
631 struct rproc *rproc_alloc(struct device *dev, const char *name,
634 void rproc_put(struct rproc *rproc);
635 int rproc_add(struct rproc *rproc);
636 int rproc_del(struct rproc *rproc);
637 void rproc_free(struct rproc *rproc);
638 void rproc_resource_cleanup(struct rproc *rproc);
640 struct rproc *devm_rproc_alloc(struct device *dev, const char *name,
643 int devm_rproc_add(struct device *dev, struct rproc *rproc);
645 void rproc_add_carveout(struct rproc *rproc, struct rproc_mem_entry *mem);
650 int (*alloc)(struct rproc *, struct rproc_mem_entry *),
651 int (*release)(struct rproc *, struct rproc_mem_entry *),
658 int rproc_boot(struct rproc *rproc);
659 void rproc_shutdown(struct rproc *rproc);
660 int rproc_set_firmware(struct rproc *rproc, const char *fw_name);
661 void rproc_report_crash(struct rproc *rproc, enum rproc_crash_type type);
664 void rproc_coredump_cleanup(struct rproc *rproc);
665 void rproc_coredump(struct rproc *rproc);
666 void rproc_coredump_using_sections(struct rproc *rproc);
667 int rproc_coredump_add_segment(struct rproc *rproc, dma_addr_t da, size_t size);
668 int rproc_coredump_add_custom_segment(struct rproc *rproc,
670 void (*dumpfn)(struct rproc *rproc,
675 int rproc_coredump_set_elf_info(struct rproc *rproc, u8 class, u16 machine);
682 static inline struct rproc *vdev_to_rproc(struct virtio_device *vdev) in vdev_to_rproc()
686 return rvdev->rproc; in vdev_to_rproc()
689 void rproc_add_subdev(struct rproc *rproc, struct rproc_subdev *subdev);
691 void rproc_remove_subdev(struct rproc *rproc, struct rproc_subdev *subdev);