From: Gerd Hoffmann <kraxel@redhat.com>
To: David Gibson <david@gibson.dropbear.id.au>
Cc: qemu-devel@nongnu.org, qemu-stable@nongnu.org
Subject: Re: [Qemu-devel] [PATCH] usb: Fix usb_packet_map() in the presence of IOMMUs
Date: Wed, 26 Sep 2012 08:32:26 +0200 [thread overview]
Message-ID: <5062A17A.9070401@redhat.com> (raw)
In-Reply-To: <1348628371-6828-1-git-send-email-david@gibson.dropbear.id.au>
On 09/26/12 04:59, David Gibson wrote:
> With the IOMMU infrastructure introduced before 1.2, we need to use
> dma_memory_map() to obtain a qemu pointer to memory from an IO bus address.
> However, dma_memory_map() alters the given length to reflect the length
> over which the used DMA translation is valid - which could be either more
> or less than the requested length.
>
> usb_packet_map() does not correctly handle these cases, simply failing if
> dma_memory_map() alters the requested length. If dma_memory_map()
> increased the length, we just need to use the requested length for the
> qemu_iovec_add(). However, if it decreased the length, it means that a
> single DMA translation is not valid for the whole sglist element, and so
> we need to loop, splitting it up into multiple iovec entries for each
> piece with a DMA translation (in practice >2 pieces is unlikely).
>
> This patch implements the correct behaviour
Patch added to usb patch queue.
thanks,
Gerd
prev parent reply other threads:[~2012-09-26 6:32 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-09-26 2:59 [Qemu-devel] [PATCH] usb: Fix usb_packet_map() in the presence of IOMMUs David Gibson
2012-09-26 6:32 ` Gerd Hoffmann [this message]
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=5062A17A.9070401@redhat.com \
--to=kraxel@redhat.com \
--cc=david@gibson.dropbear.id.au \
--cc=qemu-devel@nongnu.org \
--cc=qemu-stable@nongnu.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.