Lines Matching refs:rpdev

97  * @rpdev: the rpmsg channel device
104 struct rpmsg_device rpdev;
110 container_of(_rpdev, struct virtio_rpmsg_channel, rpdev)
210 struct rpmsg_device *rpdev,
216 struct device *dev = rpdev ? &rpdev->dev : &vrp->vdev->dev;
225 ept->rpdev = rpdev;
259 static struct rpmsg_device *virtio_rpmsg_create_channel(struct rpmsg_device *rpdev,
262 struct virtio_rpmsg_channel *vch = to_virtio_rpmsg_channel(rpdev);
268 static int virtio_rpmsg_release_channel(struct rpmsg_device *rpdev,
271 struct virtio_rpmsg_channel *vch = to_virtio_rpmsg_channel(rpdev);
277 static struct rpmsg_endpoint *virtio_rpmsg_create_ept(struct rpmsg_device *rpdev,
282 struct virtio_rpmsg_channel *vch = to_virtio_rpmsg_channel(rpdev);
284 return __rpmsg_create_ept(vch->vrp, rpdev, cb, priv, chinfo.src);
315 struct virtio_rpmsg_channel *vch = to_virtio_rpmsg_channel(ept->rpdev);
320 static int virtio_rpmsg_announce_create(struct rpmsg_device *rpdev)
322 struct virtio_rpmsg_channel *vch = to_virtio_rpmsg_channel(rpdev);
324 struct device *dev = &rpdev->dev;
328 if (rpdev->announce && rpdev->ept &&
332 strncpy(nsm.name, rpdev->id.name, RPMSG_NAME_SIZE);
333 nsm.addr = cpu_to_rpmsg32(rpdev, rpdev->ept->addr);
334 nsm.flags = cpu_to_rpmsg32(rpdev, RPMSG_NS_CREATE);
336 err = rpmsg_sendto(rpdev->ept, &nsm, sizeof(nsm), RPMSG_NS_ADDR);
344 static int virtio_rpmsg_announce_destroy(struct rpmsg_device *rpdev)
346 struct virtio_rpmsg_channel *vch = to_virtio_rpmsg_channel(rpdev);
348 struct device *dev = &rpdev->dev;
352 if (rpdev->announce && rpdev->ept &&
356 strncpy(nsm.name, rpdev->id.name, RPMSG_NAME_SIZE);
357 nsm.addr = cpu_to_rpmsg32(rpdev, rpdev->ept->addr);
358 nsm.flags = cpu_to_rpmsg32(rpdev, RPMSG_NS_DESTROY);
360 err = rpmsg_sendto(rpdev->ept, &nsm, sizeof(nsm), RPMSG_NS_ADDR);
378 struct rpmsg_device *rpdev = to_rpmsg_device(dev);
379 struct virtio_rpmsg_channel *vch = to_virtio_rpmsg_channel(rpdev);
381 kfree(rpdev->driver_override);
394 struct rpmsg_device *rpdev;
416 rpdev = &vch->rpdev;
417 rpdev->src = chinfo->src;
418 rpdev->dst = chinfo->dst;
419 rpdev->ops = &virtio_rpmsg_ops;
420 rpdev->little_endian = virtio_is_little_endian(vrp->vdev);
426 rpdev->announce = rpdev->src != RPMSG_ADDR_ANY;
428 strncpy(rpdev->id.name, chinfo->name, RPMSG_NAME_SIZE);
430 rpdev->dev.parent = &vrp->vdev->dev;
431 rpdev->dev.release = virtio_rpmsg_release_device;
432 ret = rpmsg_register_device(rpdev);
436 return rpdev;
521 * @rpdev: the rpmsg channel
531 * message will be sent to the remote processor which the @rpdev channel
553 static int rpmsg_send_offchannel_raw(struct rpmsg_device *rpdev,
557 struct virtio_rpmsg_channel *vch = to_virtio_rpmsg_channel(rpdev);
559 struct device *dev = &rpdev->dev;
614 msg->len = cpu_to_rpmsg16(rpdev, len);
616 msg->src = cpu_to_rpmsg32(rpdev, src);
617 msg->dst = cpu_to_rpmsg32(rpdev, dst);
653 struct rpmsg_device *rpdev = ept->rpdev;
654 u32 src = ept->addr, dst = rpdev->dst;
656 return rpmsg_send_offchannel_raw(rpdev, src, dst, data, len, true);
662 struct rpmsg_device *rpdev = ept->rpdev;
665 return rpmsg_send_offchannel_raw(rpdev, src, dst, data, len, true);
671 struct rpmsg_device *rpdev = ept->rpdev;
673 return rpmsg_send_offchannel_raw(rpdev, src, dst, data, len, true);
678 struct rpmsg_device *rpdev = ept->rpdev;
679 u32 src = ept->addr, dst = rpdev->dst;
681 return rpmsg_send_offchannel_raw(rpdev, src, dst, data, len, false);
687 struct rpmsg_device *rpdev = ept->rpdev;
690 return rpmsg_send_offchannel_raw(rpdev, src, dst, data, len, false);
696 struct rpmsg_device *rpdev = ept->rpdev;
698 return rpmsg_send_offchannel_raw(rpdev, src, dst, data, len, false);
703 struct rpmsg_device *rpdev = ept->rpdev;
704 struct virtio_rpmsg_channel *vch = to_virtio_rpmsg_channel(rpdev);
754 ept->cb(ept->rpdev, msg->data, msg_len, ept->priv,
846 rpdev_ctrl = &vch->rpdev;
968 rpdev_ns = &vch->rpdev;