From: Srivatsa Vaddagiri <vatsa@codeaurora.org>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: tsoni@codeaurora.org, virtio-dev@lists.oasis-open.org,
konrad.wilk@oracle.com, jan.kiszka@siemens.com,
jasowang@redhat.com, "Michael S. Tsirkin" <mst@redhat.com>,
christoffer.dall@arm.com,
virtualization@lists.linux-foundation.org,
alex.bennee@linaro.org, iommu@lists.linux-foundation.org,
stefano.stabellini@xilinx.com, will@kernel.org,
linux-kernel@vger.kernel.org, pratikp@codeaurora.org
Subject: Re: [PATCH 5/5] virtio: Add bounce DMA ops
Date: Wed, 29 Apr 2020 09:39:29 +0530 [thread overview]
Message-ID: <20200429040929.GC5097@quicinc.com> (raw)
In-Reply-To: <alpine.DEB.2.21.2004281556180.29217@sstabellini-ThinkPad-T480s>
* Stefano Stabellini <sstabellini@kernel.org> [2020-04-28 16:04:34]:
> > > Is swiotlb commonly used for multiple devices that may be on different trust
> > > boundaries (and not behind a hardware iommu)?
>
> The trust boundary is not a good way of describing the scenario and I
> think it leads to miscommunication.
>
> A better way to describe the scenario would be that the device can only
> DMA to/from a small reserved-memory region advertised on device tree.
>
> Do we have other instances of devices that can only DMA to/from very
> specific and non-configurable address ranges? If so, this series could
> follow their example.
AFAICT there is no such notion in current DMA API.
static inline bool dma_capable(struct device *dev, dma_addr_t addr, size_t size,
bool is_ram)
{
return end <= min_not_zero(*dev->dma_mask, dev->bus_dma_limit);
}
Only the max address a device can access is defined and not a range that we seem
to need here. I think we need to set the bus_dma_limit to 0 for virtio devices
which will force the use of swiotlb_map API. We should also have a per-device
swiotlb pool defined, so that swiotlb can use the pool meant for the given
device.
--
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member
of Code Aurora Forum, hosted by The Linux Foundation
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu
WARNING: multiple messages have this Message-ID (diff)
From: Srivatsa Vaddagiri <vatsa@codeaurora.org>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: "Michael S. Tsirkin" <mst@redhat.com>,
konrad.wilk@oracle.com, jasowang@redhat.com,
jan.kiszka@siemens.com, will@kernel.org,
stefano.stabellini@xilinx.com, iommu@lists.linux-foundation.org,
virtualization@lists.linux-foundation.org,
virtio-dev@lists.oasis-open.org, tsoni@codeaurora.org,
pratikp@codeaurora.org, christoffer.dall@arm.com,
alex.bennee@linaro.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 5/5] virtio: Add bounce DMA ops
Date: Wed, 29 Apr 2020 09:39:29 +0530 [thread overview]
Message-ID: <20200429040929.GC5097@quicinc.com> (raw)
In-Reply-To: <alpine.DEB.2.21.2004281556180.29217@sstabellini-ThinkPad-T480s>
* Stefano Stabellini <sstabellini@kernel.org> [2020-04-28 16:04:34]:
> > > Is swiotlb commonly used for multiple devices that may be on different trust
> > > boundaries (and not behind a hardware iommu)?
>
> The trust boundary is not a good way of describing the scenario and I
> think it leads to miscommunication.
>
> A better way to describe the scenario would be that the device can only
> DMA to/from a small reserved-memory region advertised on device tree.
>
> Do we have other instances of devices that can only DMA to/from very
> specific and non-configurable address ranges? If so, this series could
> follow their example.
AFAICT there is no such notion in current DMA API.
static inline bool dma_capable(struct device *dev, dma_addr_t addr, size_t size,
bool is_ram)
{
return end <= min_not_zero(*dev->dma_mask, dev->bus_dma_limit);
}
Only the max address a device can access is defined and not a range that we seem
to need here. I think we need to set the bus_dma_limit to 0 for virtio devices
which will force the use of swiotlb_map API. We should also have a per-device
swiotlb pool defined, so that swiotlb can use the pool meant for the given
device.
--
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member
of Code Aurora Forum, hosted by The Linux Foundation
next prev parent reply other threads:[~2020-04-29 4:10 UTC|newest]
Thread overview: 90+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-04-28 11:39 [PATCH 0/5] virtio on Type-1 hypervisor Srivatsa Vaddagiri
2020-04-28 11:39 ` Srivatsa Vaddagiri
2020-04-28 11:39 ` [PATCH 1/5] swiotlb: Introduce concept of swiotlb_pool Srivatsa Vaddagiri
2020-04-28 11:39 ` Srivatsa Vaddagiri
2020-04-29 0:31 ` kbuild test robot
2020-04-29 0:31 ` kbuild test robot
2020-04-29 0:31 ` kbuild test robot
2020-04-29 0:31 ` kbuild test robot
2020-04-28 11:39 ` [PATCH 2/5] swiotlb: Allow for non-linear mapping between paddr and vaddr Srivatsa Vaddagiri
2020-04-28 11:39 ` Srivatsa Vaddagiri
2020-04-28 11:39 ` [PATCH 3/5] swiotlb: Add alloc and free APIs Srivatsa Vaddagiri
2020-04-28 11:39 ` Srivatsa Vaddagiri
2020-04-30 4:18 ` kbuild test robot
2020-04-30 4:18 ` kbuild test robot
2020-04-30 4:18 ` kbuild test robot
2020-04-30 4:18 ` kbuild test robot
2020-04-28 11:39 ` [PATCH 4/5] swiotlb: Add API to register new pool Srivatsa Vaddagiri
2020-04-28 11:39 ` Srivatsa Vaddagiri
2020-04-28 11:39 ` [PATCH 5/5] virtio: Add bounce DMA ops Srivatsa Vaddagiri
2020-04-28 11:39 ` Srivatsa Vaddagiri
2020-04-28 16:17 ` Michael S. Tsirkin
2020-04-28 16:17 ` Michael S. Tsirkin
2020-04-28 16:17 ` [virtio-dev] " Michael S. Tsirkin
2020-04-28 17:49 ` Srivatsa Vaddagiri
2020-04-28 17:49 ` Srivatsa Vaddagiri
2020-04-28 17:49 ` Srivatsa Vaddagiri
2020-04-28 20:41 ` Michael S. Tsirkin
2020-04-28 20:41 ` Michael S. Tsirkin
2020-04-28 20:41 ` [virtio-dev] " Michael S. Tsirkin
2020-04-28 23:04 ` Stefano Stabellini
2020-04-28 23:04 ` Stefano Stabellini
2020-04-29 4:09 ` Srivatsa Vaddagiri [this message]
2020-04-29 4:09 ` Srivatsa Vaddagiri
2020-04-29 2:22 ` Lu Baolu
2020-04-29 2:22 ` Lu Baolu
2020-04-29 4:57 ` Michael S. Tsirkin
2020-04-29 4:57 ` Michael S. Tsirkin
2020-04-29 4:57 ` [virtio-dev] " Michael S. Tsirkin
2020-04-29 5:42 ` Lu Baolu
2020-04-29 5:42 ` Lu Baolu
2020-04-29 6:50 ` Michael S. Tsirkin
2020-04-29 6:50 ` Michael S. Tsirkin
2020-04-29 6:50 ` [virtio-dev] " Michael S. Tsirkin
2020-04-29 7:01 ` Lu Baolu
2020-04-29 7:01 ` Lu Baolu
2020-04-29 9:44 ` Srivatsa Vaddagiri
2020-04-29 9:44 ` Srivatsa Vaddagiri
2020-04-29 9:52 ` Michael S. Tsirkin
2020-04-29 9:52 ` Michael S. Tsirkin
2020-04-29 9:52 ` [virtio-dev] " Michael S. Tsirkin
2020-04-29 10:09 ` Srivatsa Vaddagiri
2020-04-29 10:09 ` Srivatsa Vaddagiri
2020-04-29 10:20 ` Michael S. Tsirkin
2020-04-29 10:20 ` Michael S. Tsirkin
2020-04-29 10:20 ` [virtio-dev] " Michael S. Tsirkin
2020-04-29 10:26 ` Jan Kiszka
2020-04-29 10:26 ` Jan Kiszka
2020-04-29 10:26 ` [virtio-dev] " Jan Kiszka
2020-04-29 10:45 ` Michael S. Tsirkin
2020-04-29 10:45 ` Michael S. Tsirkin
2020-04-29 10:45 ` [virtio-dev] " Michael S. Tsirkin
2020-04-29 10:55 ` Jan Kiszka
2020-04-29 10:55 ` Jan Kiszka
2020-04-29 10:55 ` Jan Kiszka
2020-04-29 10:55 ` [virtio-dev] " Jan Kiszka
2020-04-29 10:34 ` Srivatsa Vaddagiri
2020-04-29 10:34 ` Srivatsa Vaddagiri
2020-04-30 15:20 ` Konrad Rzeszutek Wilk
2020-04-30 15:20 ` Konrad Rzeszutek Wilk
2020-04-30 15:20 ` Konrad Rzeszutek Wilk
2020-04-29 3:35 ` Srivatsa Vaddagiri
2020-04-29 3:35 ` Srivatsa Vaddagiri
2020-04-28 21:35 ` kbuild test robot
2020-04-28 21:35 ` kbuild test robot
2020-04-28 21:35 ` kbuild test robot
2020-04-28 21:35 ` kbuild test robot
2020-04-28 22:18 ` kbuild test robot
2020-04-28 22:18 ` kbuild test robot
2020-04-28 22:18 ` kbuild test robot
2020-04-28 22:18 ` kbuild test robot
2020-04-28 22:53 ` Stefano Stabellini
2020-04-28 22:53 ` Stefano Stabellini
2020-04-29 21:06 ` kbuild test robot
2020-04-29 21:06 ` kbuild test robot
2020-04-29 21:06 ` kbuild test robot
2020-04-29 21:06 ` kbuild test robot
2020-04-29 21:06 ` [RFC PATCH] virtio: virtio_pool can be static kbuild test robot
2020-04-29 21:06 ` kbuild test robot
2020-04-29 21:06 ` kbuild test robot
2020-04-29 21:06 ` kbuild test robot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200429040929.GC5097@quicinc.com \
--to=vatsa@codeaurora.org \
--cc=alex.bennee@linaro.org \
--cc=christoffer.dall@arm.com \
--cc=iommu@lists.linux-foundation.org \
--cc=jan.kiszka@siemens.com \
--cc=jasowang@redhat.com \
--cc=konrad.wilk@oracle.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mst@redhat.com \
--cc=pratikp@codeaurora.org \
--cc=sstabellini@kernel.org \
--cc=stefano.stabellini@xilinx.com \
--cc=tsoni@codeaurora.org \
--cc=virtio-dev@lists.oasis-open.org \
--cc=virtualization@lists.linux-foundation.org \
--cc=will@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.