Lines Matching refs:rpdev

104 	struct rpmsg_device rpdev;  member
110 container_of(_rpdev, struct virtio_rpmsg_channel, rpdev)
204 struct rpmsg_device *rpdev, in __rpmsg_create_ept() argument
210 struct device *dev = rpdev ? &rpdev->dev : &vrp->vdev->dev; in __rpmsg_create_ept()
219 ept->rpdev = rpdev; in __rpmsg_create_ept()
253 static struct rpmsg_device *virtio_rpmsg_create_channel(struct rpmsg_device *rpdev, in virtio_rpmsg_create_channel() argument
256 struct virtio_rpmsg_channel *vch = to_virtio_rpmsg_channel(rpdev); in virtio_rpmsg_create_channel()
262 static int virtio_rpmsg_release_channel(struct rpmsg_device *rpdev, in virtio_rpmsg_release_channel() argument
265 struct virtio_rpmsg_channel *vch = to_virtio_rpmsg_channel(rpdev); in virtio_rpmsg_release_channel()
271 static struct rpmsg_endpoint *virtio_rpmsg_create_ept(struct rpmsg_device *rpdev, in virtio_rpmsg_create_ept() argument
276 struct virtio_rpmsg_channel *vch = to_virtio_rpmsg_channel(rpdev); in virtio_rpmsg_create_ept()
278 return __rpmsg_create_ept(vch->vrp, rpdev, cb, priv, chinfo.src); in virtio_rpmsg_create_ept()
309 struct virtio_rpmsg_channel *vch = to_virtio_rpmsg_channel(ept->rpdev); in virtio_rpmsg_destroy_ept()
314 static int virtio_rpmsg_announce_create(struct rpmsg_device *rpdev) in virtio_rpmsg_announce_create() argument
316 struct virtio_rpmsg_channel *vch = to_virtio_rpmsg_channel(rpdev); in virtio_rpmsg_announce_create()
318 struct device *dev = &rpdev->dev; in virtio_rpmsg_announce_create()
322 if (rpdev->announce && rpdev->ept && in virtio_rpmsg_announce_create()
326 strscpy_pad(nsm.name, rpdev->id.name, sizeof(nsm.name)); in virtio_rpmsg_announce_create()
327 nsm.addr = cpu_to_rpmsg32(rpdev, rpdev->ept->addr); in virtio_rpmsg_announce_create()
328 nsm.flags = cpu_to_rpmsg32(rpdev, RPMSG_NS_CREATE); in virtio_rpmsg_announce_create()
330 err = rpmsg_sendto(rpdev->ept, &nsm, sizeof(nsm), RPMSG_NS_ADDR); in virtio_rpmsg_announce_create()
338 static int virtio_rpmsg_announce_destroy(struct rpmsg_device *rpdev) in virtio_rpmsg_announce_destroy() argument
340 struct virtio_rpmsg_channel *vch = to_virtio_rpmsg_channel(rpdev); in virtio_rpmsg_announce_destroy()
342 struct device *dev = &rpdev->dev; in virtio_rpmsg_announce_destroy()
346 if (rpdev->announce && rpdev->ept && in virtio_rpmsg_announce_destroy()
350 strscpy_pad(nsm.name, rpdev->id.name, sizeof(nsm.name)); in virtio_rpmsg_announce_destroy()
351 nsm.addr = cpu_to_rpmsg32(rpdev, rpdev->ept->addr); in virtio_rpmsg_announce_destroy()
352 nsm.flags = cpu_to_rpmsg32(rpdev, RPMSG_NS_DESTROY); in virtio_rpmsg_announce_destroy()
354 err = rpmsg_sendto(rpdev->ept, &nsm, sizeof(nsm), RPMSG_NS_ADDR); in virtio_rpmsg_announce_destroy()
372 struct rpmsg_device *rpdev = to_rpmsg_device(dev); in virtio_rpmsg_release_device() local
373 struct virtio_rpmsg_channel *vch = to_virtio_rpmsg_channel(rpdev); in virtio_rpmsg_release_device()
375 kfree(rpdev->driver_override); in virtio_rpmsg_release_device()
388 struct rpmsg_device *rpdev; in __rpmsg_create_channel() local
410 rpdev = &vch->rpdev; in __rpmsg_create_channel()
411 rpdev->src = chinfo->src; in __rpmsg_create_channel()
412 rpdev->dst = chinfo->dst; in __rpmsg_create_channel()
413 rpdev->ops = &virtio_rpmsg_ops; in __rpmsg_create_channel()
414 rpdev->little_endian = virtio_is_little_endian(vrp->vdev); in __rpmsg_create_channel()
420 rpdev->announce = rpdev->src != RPMSG_ADDR_ANY; in __rpmsg_create_channel()
422 strscpy(rpdev->id.name, chinfo->name, sizeof(rpdev->id.name)); in __rpmsg_create_channel()
424 rpdev->dev.parent = &vrp->vdev->dev; in __rpmsg_create_channel()
425 rpdev->dev.release = virtio_rpmsg_release_device; in __rpmsg_create_channel()
426 ret = rpmsg_register_device(rpdev); in __rpmsg_create_channel()
430 return rpdev; in __rpmsg_create_channel()
547 static int rpmsg_send_offchannel_raw(struct rpmsg_device *rpdev, in rpmsg_send_offchannel_raw() argument
551 struct virtio_rpmsg_channel *vch = to_virtio_rpmsg_channel(rpdev); in rpmsg_send_offchannel_raw()
553 struct device *dev = &rpdev->dev; in rpmsg_send_offchannel_raw()
608 msg->len = cpu_to_rpmsg16(rpdev, len); in rpmsg_send_offchannel_raw()
610 msg->src = cpu_to_rpmsg32(rpdev, src); in rpmsg_send_offchannel_raw()
611 msg->dst = cpu_to_rpmsg32(rpdev, dst); in rpmsg_send_offchannel_raw()
647 struct rpmsg_device *rpdev = ept->rpdev; in virtio_rpmsg_send() local
648 u32 src = ept->addr, dst = rpdev->dst; in virtio_rpmsg_send()
650 return rpmsg_send_offchannel_raw(rpdev, src, dst, data, len, true); in virtio_rpmsg_send()
656 struct rpmsg_device *rpdev = ept->rpdev; in virtio_rpmsg_sendto() local
659 return rpmsg_send_offchannel_raw(rpdev, src, dst, data, len, true); in virtio_rpmsg_sendto()
664 struct rpmsg_device *rpdev = ept->rpdev; in virtio_rpmsg_trysend() local
665 u32 src = ept->addr, dst = rpdev->dst; in virtio_rpmsg_trysend()
667 return rpmsg_send_offchannel_raw(rpdev, src, dst, data, len, false); in virtio_rpmsg_trysend()
673 struct rpmsg_device *rpdev = ept->rpdev; in virtio_rpmsg_trysendto() local
676 return rpmsg_send_offchannel_raw(rpdev, src, dst, data, len, false); in virtio_rpmsg_trysendto()
681 struct rpmsg_device *rpdev = ept->rpdev; in virtio_rpmsg_get_mtu() local
682 struct virtio_rpmsg_channel *vch = to_virtio_rpmsg_channel(rpdev); in virtio_rpmsg_get_mtu()
732 ept->cb(ept->rpdev, msg->data, msg_len, ept->priv, in rpmsg_recv_single()
824 rpdev_ctrl = &vch->rpdev; in rpmsg_virtio_add_ctrl_dev()
948 rpdev_ns = &vch->rpdev; in rpmsg_probe()