Lines Matching refs:mdev
38 static int mic_sync_dma(struct mic_device *mdev, dma_addr_t dst, in mic_sync_dma() argument
43 struct dma_chan *mic_ch = mdev->dma_ch; in mic_sync_dma()
65 dev_err(mdev->sdev->parent, "%s %d err %d\n", in mic_sync_dma()
80 struct mic_device *mdev = mvdev->mdev; in mic_virtio_copy_to_user() local
81 void __iomem *dbuf = mdev->aper.va + daddr; in mic_virtio_copy_to_user()
83 size_t dma_alignment = 1 << mdev->dma_ch->device->copy_align; in mic_virtio_copy_to_user()
95 err = mic_sync_dma(mdev, mvr->buf_da, daddr, in mic_virtio_copy_to_user()
129 struct mic_device *mdev = mvdev->mdev; in mic_virtio_copy_from_user() local
130 void __iomem *dbuf = mdev->aper.va + daddr; in mic_virtio_copy_from_user()
132 size_t dma_alignment = 1 << mdev->dma_ch->device->copy_align; in mic_virtio_copy_from_user()
151 err = mic_sync_dma(mdev, daddr, mvr->buf_da, in mic_virtio_copy_from_user()
188 mvdev->mdev->ops->send_intr(mvdev->mdev, db); in mic_notify()
397 (void __force *)mvdev->mdev->aper.va + in mic_virtio_init_post()
438 void mic_virtio_reset_devices(struct mic_device *mdev) in mic_virtio_reset_devices() argument
443 dev_dbg(mdev->sdev->parent, "%s\n", __func__); in mic_virtio_reset_devices()
445 list_for_each_safe(pos, tmp, &mdev->vdev_list) { in mic_virtio_reset_devices()
471 struct mic_device *mdev = mvdev->mdev; in mic_virtio_intr_handler() local
473 mdev->ops->intr_workarounds(mdev); in mic_virtio_intr_handler()
483 struct mic_bootparam *bootparam = mvdev->mdev->dp; in mic_virtio_config_change()
486 mutex_lock(&mvdev->mdev->mic_mutex); in mic_virtio_config_change()
503 mvdev->mdev->ops->send_intr(mvdev->mdev, db); in mic_virtio_config_change()
519 mutex_unlock(&mvdev->mdev->mic_mutex); in mic_virtio_config_change()
528 struct mic_device *mdev = mvdev->mdev; in mic_copy_dp_entry() local
574 devp = mdev->dp + i; in mic_copy_dp_entry()
620 struct mic_device *mdev = mvdev->mdev; in mic_virtio_add_device() local
627 struct mic_bootparam *bootparam = mdev->dp; in mic_virtio_add_device()
631 mutex_lock(&mdev->mic_mutex); in mic_virtio_add_device()
635 mutex_unlock(&mdev->mic_mutex); in mic_virtio_add_device()
665 vr_addr = mic_map_single(mdev, vr->va, vr_size); in mic_virtio_add_device()
689 dev_dbg(mdev->sdev->parent, in mic_virtio_add_device()
694 mvr->buf_da = mic_map_single(mvdev->mdev, mvr->buf, in mic_virtio_add_device()
698 snprintf(irqname, sizeof(irqname), "mic%dvirtio%d", mdev->id, in mic_virtio_add_device()
700 mvdev->virtio_db = mic_next_db(mdev); in mic_virtio_add_device()
701 mvdev->virtio_cookie = mic_request_threaded_irq(mdev, in mic_virtio_add_device()
707 dev_dbg(mdev->sdev->parent, "request irq failed\n"); in mic_virtio_add_device()
713 list_add_tail(&mvdev->list, &mdev->vdev_list); in mic_virtio_add_device()
723 dev_dbg(mdev->sdev->parent, "Added virtio device id %d\n", dd->type); in mic_virtio_add_device()
727 mdev->ops->send_intr(mdev, db); in mic_virtio_add_device()
728 mutex_unlock(&mdev->mic_mutex); in mic_virtio_add_device()
734 mic_unmap_single(mdev, le64_to_cpu(vqconfig[j].address), in mic_virtio_add_device()
739 mutex_unlock(&mdev->mic_mutex); in mic_virtio_add_device()
747 struct mic_device *mdev = mvdev->mdev; in mic_virtio_del_device() local
751 struct mic_bootparam *bootparam = mdev->dp; in mic_virtio_del_device()
754 mutex_lock(&mdev->mic_mutex); in mic_virtio_del_device()
758 dev_dbg(mdev->sdev->parent, in mic_virtio_del_device()
761 mdev->ops->send_intr(mdev, db); in mic_virtio_del_device()
768 dev_dbg(mdev->sdev->parent, in mic_virtio_del_device()
775 mic_free_irq(mdev, mvdev->virtio_cookie, mvdev); in mic_virtio_del_device()
781 mic_unmap_single(mvdev->mdev, mvr->buf_da, in mic_virtio_del_device()
787 mic_unmap_single(mdev, le64_to_cpu(vqconfig[i].address), in mic_virtio_del_device()
793 list_for_each_safe(pos, tmp, &mdev->vdev_list) { in mic_virtio_del_device()
797 dev_dbg(mdev->sdev->parent, in mic_virtio_del_device()
811 mutex_unlock(&mdev->mic_mutex); in mic_virtio_del_device()