From: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
To: "Philippe Mathieu-Daudé" <philmd@redhat.com>
Cc: "Peter Maydell" <peter.maydell@linaro.org>,
"Michael S. Tsirkin" <mst@redhat.com>,
"Jason Wang" <jasowang@redhat.com>,
"Mark Cave-Ayland" <mark.cave-ayland@ilande.co.uk>,
qemu-devel@nongnu.org, "Peter Xu" <peterx@redhat.com>,
"Gerd Hoffmann" <kraxel@redhat.com>,
qemu-block@nongnu.org, "Peter Chubb" <peter.chubb@nicta.com.au>,
"Joel Stanley" <joel@jms.id.au>,
"Marcel Apfelbaum" <marcel.apfelbaum@gmail.com>,
"David Gibson" <david@gibson.dropbear.id.au>,
"Laszlo Ersek" <lersek@redhat.com>,
"Eduardo Habkost" <ehabkost@redhat.com>,
"Alistair Francis" <alistair@alistair23.me>,
"Beniamino Galvani" <b.galvani@gmail.com>,
"Eric Auger" <eric.auger@redhat.com>,
qemu-arm@nongnu.org, "Jan Kiszka" <jan.kiszka@web.de>,
"Cédric Le Goater" <clg@kaod.org>, "John Snow" <jsnow@redhat.com>,
"Richard Henderson" <rth@twiddle.net>,
"Andrew Jeffery" <andrew@aj.id.au>,
"Philippe Mathieu-Daudé" <f4bug@amsat.org>,
"Andrew Baumann" <Andrew.Baumann@microsoft.com>,
qemu-ppc@nongnu.org, "Paolo Bonzini" <pbonzini@redhat.com>
Subject: Re: [PATCH 03/13] dma: Document address_space_map/address_space_unmap() prototypes
Date: Mon, 7 Sep 2020 08:55:28 +0200 [thread overview]
Message-ID: <20200907065528.GY2954729@toto> (raw)
In-Reply-To: <20200904154439.643272-4-philmd@redhat.com>
On Fri, Sep 04, 2020 at 05:44:29PM +0200, Philippe Mathieu-Daudé wrote:
> Add documentation based on address_space_map / address_space_unmap.
>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
> include/sysemu/dma.h | 30 +++++++++++++++++++++++++++++-
> 1 file changed, 29 insertions(+), 1 deletion(-)
>
> diff --git a/include/sysemu/dma.h b/include/sysemu/dma.h
> index 80c5bc3e02d..19bc9ad1b69 100644
> --- a/include/sysemu/dma.h
> +++ b/include/sysemu/dma.h
> @@ -1,7 +1,7 @@
> /*
> * DMA helper functions
> *
> - * Copyright (c) 2009 Red Hat
> + * Copyright (c) 2009, 2020 Red Hat
> *
> * This work is licensed under the terms of the GNU General Public License
> * (GNU GPL), version 2 or later.
> @@ -125,6 +125,20 @@ static inline int dma_memory_write(AddressSpace *as, dma_addr_t addr,
>
> int dma_memory_set(AddressSpace *as, dma_addr_t addr, uint8_t c, dma_addr_t len);
>
> +/**
> + * address_space_map: Map a physical memory region into a DMA controller
> + * virtual address
It may be easier to understand this if you change DMA controller virtual address
to host virtual address.
Either way:
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
> + *
> + * May map a subset of the requested range, given by and returned in @plen.
> + * May return %NULL and set *@plen to zero(0), if resources needed to perform
> + * the mapping are exhausted.
> + * Use only for reads OR writes - not for read-modify-write operations.
> + *
> + * @as: #AddressSpace to be accessed
> + * @addr: address within that address space
> + * @len: pointer to length of buffer; updated on return
> + * @dir: indicates the transfer direction
> + */
> static inline void *dma_memory_map(AddressSpace *as,
> dma_addr_t addr, dma_addr_t *len,
> DMADirection dir)
> @@ -138,6 +152,20 @@ static inline void *dma_memory_map(AddressSpace *as,
> return p;
> }
>
> +/**
> + * address_space_unmap: Unmaps a memory region previously mapped
> + * by dma_memory_map()
> + *
> + * Will also mark the memory as dirty if @dir == %DMA_DIRECTION_FROM_DEVICE.
> + * @access_len gives the amount of memory that was actually read or written
> + * by the caller.
> + *
> + * @as: #AddressSpace used
> + * @buffer: host pointer as returned by address_space_map()
> + * @len: buffer length as returned by address_space_map()
> + * @dir: indicates the transfer direction
> + * @access_len: amount of data actually transferred
> + */
> static inline void dma_memory_unmap(AddressSpace *as,
> void *buffer, dma_addr_t len,
> DMADirection dir, dma_addr_t access_len)
> --
> 2.26.2
>
WARNING: multiple messages have this Message-ID (diff)
From: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
To: "Philippe Mathieu-Daudé" <philmd@redhat.com>
Cc: "Peter Maydell" <peter.maydell@linaro.org>,
"Michael S. Tsirkin" <mst@redhat.com>,
"Jason Wang" <jasowang@redhat.com>,
"Mark Cave-Ayland" <mark.cave-ayland@ilande.co.uk>,
qemu-devel@nongnu.org, "Peter Xu" <peterx@redhat.com>,
"Gerd Hoffmann" <kraxel@redhat.com>,
qemu-block@nongnu.org, "Peter Chubb" <peter.chubb@nicta.com.au>,
"Joel Stanley" <joel@jms.id.au>,
"David Gibson" <david@gibson.dropbear.id.au>,
"Laszlo Ersek" <lersek@redhat.com>,
"Eduardo Habkost" <ehabkost@redhat.com>,
"Alistair Francis" <alistair@alistair23.me>,
"Beniamino Galvani" <b.galvani@gmail.com>,
"Eric Auger" <eric.auger@redhat.com>,
qemu-arm@nongnu.org, "Jan Kiszka" <jan.kiszka@web.de>,
"Cédric Le Goater" <clg@kaod.org>, "John Snow" <jsnow@redhat.com>,
"Richard Henderson" <rth@twiddle.net>,
"Andrew Jeffery" <andrew@aj.id.au>,
"Philippe Mathieu-Daudé" <f4bug@amsat.org>,
"Andrew Baumann" <Andrew.Baumann@microsoft.com>,
qemu-ppc@nongnu.org, "Paolo Bonzini" <pbonzini@redhat.com>
Subject: Re: [PATCH 03/13] dma: Document address_space_map/address_space_unmap() prototypes
Date: Mon, 7 Sep 2020 08:55:28 +0200 [thread overview]
Message-ID: <20200907065528.GY2954729@toto> (raw)
In-Reply-To: <20200904154439.643272-4-philmd@redhat.com>
On Fri, Sep 04, 2020 at 05:44:29PM +0200, Philippe Mathieu-Daudé wrote:
> Add documentation based on address_space_map / address_space_unmap.
>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
> include/sysemu/dma.h | 30 +++++++++++++++++++++++++++++-
> 1 file changed, 29 insertions(+), 1 deletion(-)
>
> diff --git a/include/sysemu/dma.h b/include/sysemu/dma.h
> index 80c5bc3e02d..19bc9ad1b69 100644
> --- a/include/sysemu/dma.h
> +++ b/include/sysemu/dma.h
> @@ -1,7 +1,7 @@
> /*
> * DMA helper functions
> *
> - * Copyright (c) 2009 Red Hat
> + * Copyright (c) 2009, 2020 Red Hat
> *
> * This work is licensed under the terms of the GNU General Public License
> * (GNU GPL), version 2 or later.
> @@ -125,6 +125,20 @@ static inline int dma_memory_write(AddressSpace *as, dma_addr_t addr,
>
> int dma_memory_set(AddressSpace *as, dma_addr_t addr, uint8_t c, dma_addr_t len);
>
> +/**
> + * address_space_map: Map a physical memory region into a DMA controller
> + * virtual address
It may be easier to understand this if you change DMA controller virtual address
to host virtual address.
Either way:
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
> + *
> + * May map a subset of the requested range, given by and returned in @plen.
> + * May return %NULL and set *@plen to zero(0), if resources needed to perform
> + * the mapping are exhausted.
> + * Use only for reads OR writes - not for read-modify-write operations.
> + *
> + * @as: #AddressSpace to be accessed
> + * @addr: address within that address space
> + * @len: pointer to length of buffer; updated on return
> + * @dir: indicates the transfer direction
> + */
> static inline void *dma_memory_map(AddressSpace *as,
> dma_addr_t addr, dma_addr_t *len,
> DMADirection dir)
> @@ -138,6 +152,20 @@ static inline void *dma_memory_map(AddressSpace *as,
> return p;
> }
>
> +/**
> + * address_space_unmap: Unmaps a memory region previously mapped
> + * by dma_memory_map()
> + *
> + * Will also mark the memory as dirty if @dir == %DMA_DIRECTION_FROM_DEVICE.
> + * @access_len gives the amount of memory that was actually read or written
> + * by the caller.
> + *
> + * @as: #AddressSpace used
> + * @buffer: host pointer as returned by address_space_map()
> + * @len: buffer length as returned by address_space_map()
> + * @dir: indicates the transfer direction
> + * @access_len: amount of data actually transferred
> + */
> static inline void dma_memory_unmap(AddressSpace *as,
> void *buffer, dma_addr_t len,
> DMADirection dir, dma_addr_t access_len)
> --
> 2.26.2
>
next prev parent reply other threads:[~2020-09-07 6:56 UTC|newest]
Thread overview: 77+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-09-04 15:44 [PATCH 00/13] dma: Let the DMA API take MemTxAttrs argument and propagate MemTxResult Philippe Mathieu-Daudé
2020-09-04 15:44 ` Philippe Mathieu-Daudé
2020-09-04 15:44 ` [PATCH 01/13] pci: pass along the return value of dma_memory_rw Philippe Mathieu-Daudé
2020-09-04 15:44 ` Philippe Mathieu-Daudé
2020-09-06 3:45 ` Richard Henderson
2020-09-07 1:00 ` Li Qiang
2020-09-07 1:00 ` Li Qiang
2020-09-04 15:44 ` [PATCH 02/13] docs/devel/loads-stores: Add regexp for DMA functions Philippe Mathieu-Daudé
2020-09-06 3:45 ` Richard Henderson
2020-09-06 3:45 ` Richard Henderson
2020-09-04 15:44 ` [PATCH 03/13] dma: Document address_space_map/address_space_unmap() prototypes Philippe Mathieu-Daudé
2020-09-06 3:47 ` Richard Henderson
2020-09-06 3:47 ` Richard Henderson
2020-09-07 6:55 ` Edgar E. Iglesias [this message]
2020-09-07 6:55 ` Edgar E. Iglesias
2020-09-04 15:44 ` [PATCH 04/13] dma: Let dma_memory_set() propagate MemTxResult Philippe Mathieu-Daudé
2020-09-06 3:55 ` Richard Henderson
2020-09-07 1:05 ` Li Qiang
2020-09-07 1:05 ` Li Qiang
2020-09-04 15:44 ` [PATCH 05/13] dma: Let dma_memory_rw() " Philippe Mathieu-Daudé
2020-09-04 15:44 ` Philippe Mathieu-Daudé
2020-09-06 3:57 ` Richard Henderson
2020-09-06 3:57 ` Richard Henderson
2020-09-07 1:06 ` Li Qiang
2020-09-07 1:06 ` Li Qiang
2020-09-04 15:44 ` [PATCH 06/13] dma: Let dma_memory_read() " Philippe Mathieu-Daudé
2020-09-04 15:44 ` Philippe Mathieu-Daudé
2020-09-06 3:58 ` Richard Henderson
2020-09-06 3:58 ` Richard Henderson
2020-09-07 1:06 ` Li Qiang
2020-09-07 1:06 ` Li Qiang
2020-09-04 15:44 ` [PATCH 07/13] dma: Let dma_memory_write() " Philippe Mathieu-Daudé
2020-09-06 3:58 ` Richard Henderson
2020-09-06 3:58 ` Richard Henderson
2020-09-07 1:07 ` Li Qiang
2020-09-07 1:07 ` Li Qiang
2020-09-04 15:44 ` [PATCH 08/13] dma: Let dma_memory_valid() take MemTxAttrs argument Philippe Mathieu-Daudé
2020-09-06 3:59 ` Richard Henderson
2020-09-06 3:59 ` Richard Henderson
2020-09-07 1:11 ` Li Qiang
2020-09-07 1:11 ` Li Qiang
2020-09-04 15:44 ` [PATCH 09/13] dma: Let dma_memory_set() " Philippe Mathieu-Daudé
2020-09-04 15:44 ` Philippe Mathieu-Daudé
2020-09-06 4:00 ` Richard Henderson
2020-09-06 4:00 ` Richard Henderson
2020-09-07 1:13 ` Li Qiang
2020-09-07 1:13 ` Li Qiang
2020-09-04 15:44 ` [PATCH 10/13] dma: Let dma_memory_rw_relaxed() " Philippe Mathieu-Daudé
2020-09-06 4:01 ` Richard Henderson
2020-09-06 4:01 ` Richard Henderson
2020-09-07 1:14 ` Li Qiang
2020-09-07 1:14 ` Li Qiang
2020-09-04 15:44 ` [PATCH 11/13] dma: Let dma_memory_rw() " Philippe Mathieu-Daudé
2020-09-04 15:44 ` Philippe Mathieu-Daudé
2020-09-06 4:02 ` Richard Henderson
2020-09-06 4:02 ` Richard Henderson
2020-09-07 1:16 ` Li Qiang
2020-09-04 15:44 ` [PATCH 12/13] dma: Let dma_memory_read/write() " Philippe Mathieu-Daudé
2020-09-06 4:04 ` Richard Henderson
2020-09-07 1:17 ` Li Qiang
2020-09-04 15:44 ` [PATCH 13/13] dma: Let dma_memory_map() " Philippe Mathieu-Daudé
2020-09-04 15:44 ` Philippe Mathieu-Daudé
2020-09-06 4:05 ` Richard Henderson
2020-09-06 4:05 ` Richard Henderson
2020-09-07 1:18 ` Li Qiang
2020-09-07 6:55 ` [PATCH 00/13] dma: Let the DMA API take MemTxAttrs argument and propagate MemTxResult Edgar E. Iglesias
2020-09-07 6:55 ` Edgar E. Iglesias
2020-09-15 17:28 ` Philippe Mathieu-Daudé
2020-09-15 17:28 ` Philippe Mathieu-Daudé
2020-09-16 13:48 ` Philippe Mathieu-Daudé
2020-09-16 13:48 ` Philippe Mathieu-Daudé
2020-09-16 23:10 ` Edgar E. Iglesias
2020-09-16 23:10 ` Edgar E. Iglesias
2020-09-23 15:24 ` John Snow
2020-09-23 15:24 ` John Snow
2020-09-23 16:46 ` Philippe Mathieu-Daudé
2020-09-23 16:46 ` Philippe Mathieu-Daudé
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=20200907065528.GY2954729@toto \
--to=edgar.iglesias@gmail.com \
--cc=Andrew.Baumann@microsoft.com \
--cc=alistair@alistair23.me \
--cc=andrew@aj.id.au \
--cc=b.galvani@gmail.com \
--cc=clg@kaod.org \
--cc=david@gibson.dropbear.id.au \
--cc=ehabkost@redhat.com \
--cc=eric.auger@redhat.com \
--cc=f4bug@amsat.org \
--cc=jan.kiszka@web.de \
--cc=jasowang@redhat.com \
--cc=joel@jms.id.au \
--cc=jsnow@redhat.com \
--cc=kraxel@redhat.com \
--cc=lersek@redhat.com \
--cc=marcel.apfelbaum@gmail.com \
--cc=mark.cave-ayland@ilande.co.uk \
--cc=mst@redhat.com \
--cc=pbonzini@redhat.com \
--cc=peter.chubb@nicta.com.au \
--cc=peter.maydell@linaro.org \
--cc=peterx@redhat.com \
--cc=philmd@redhat.com \
--cc=qemu-arm@nongnu.org \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=qemu-ppc@nongnu.org \
--cc=rth@twiddle.net \
/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.