[Qemu-devel] [PATCH v3 0/2] xlnx-zynqmp: Add emulation of the ZynqMP GDMA and ADMA

Francisco Iglesias posted 2 patches 7 years, 5 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20180503214201.29082-1-frasse.iglesias@gmail.com
Test checkpatch passed
Test docker-build@min-glib passed
Test docker-mingw@fedora passed
Test s390x passed
hw/arm/xlnx-zynqmp.c         |  53 +++
hw/dma/Makefile.objs         |   1 +
hw/dma/xlnx-zdma.c           | 832 +++++++++++++++++++++++++++++++++++++++++++
include/hw/arm/xlnx-zynqmp.h |   5 +
include/hw/dma/xlnx-zdma.h   |  84 +++++
5 files changed, 975 insertions(+)
create mode 100644 hw/dma/xlnx-zdma.c
create mode 100644 include/hw/dma/xlnx-zdma.h
[Qemu-devel] [PATCH v3 0/2] xlnx-zynqmp: Add emulation of the ZynqMP GDMA and ADMA
Posted by Francisco Iglesias 7 years, 5 months ago
Hi,

The ZynqMP Soc contains two separate instances of a generic DMA, one located in
the FPD (full power domain) called GDMA and a second one located in the LPD
(low power domain) called ADMA. This patch series attempts to add emulation
support for these two DMAs on the ZynqMP board. The first patch in the series
adds a model of the ZynqMP generic DMA (the ZDMA). The second patch in the
series connects the two instances of the ZDMA, the GDMA and the ADMA, to the
ZynqMP board.

Best regards,
Francisco Iglesias

Changelog:
v2 -> v3
  * Use sizeof(s->dsc_dst) as the memcpy length when loading dsc_dst.
  * Remove an unnecessary qemu_log.
  * Move the setting of DMA_DONE til after the DMA transfer while loop.
  * Add dsc_src and dsc_dst to vmstate_zdma.

v1 -> v2
  * Don't unpause the DMA channel if CONT is zero and clear CONT after
    unpausing.
  * Added 'state' to the vmstate_zdma.
  * Renamed defines and variables in 'xlnx-zynqmp: Connect the ZynqMP GDMA and
    ADMA' to better reflect they are channels variables.

Francisco Iglesias (2):
  xlnx-zdma: Add a model of the Xilinx ZynqMP generic DMA
  xlnx-zynqmp: Connect the ZynqMP GDMA and ADMA

 hw/arm/xlnx-zynqmp.c         |  53 +++
 hw/dma/Makefile.objs         |   1 +
 hw/dma/xlnx-zdma.c           | 832 +++++++++++++++++++++++++++++++++++++++++++
 include/hw/arm/xlnx-zynqmp.h |   5 +
 include/hw/dma/xlnx-zdma.h   |  84 +++++
 5 files changed, 975 insertions(+)
 create mode 100644 hw/dma/xlnx-zdma.c
 create mode 100644 include/hw/dma/xlnx-zdma.h

-- 
2.11.0


Re: [Qemu-devel] [PATCH v3 0/2] xlnx-zynqmp: Add emulation of the ZynqMP GDMA and ADMA
Posted by Peter Maydell 7 years, 5 months ago
On 3 May 2018 at 22:41, Francisco Iglesias <frasse.iglesias@gmail.com> wrote:
> Hi,
>
> The ZynqMP Soc contains two separate instances of a generic DMA, one located in
> the FPD (full power domain) called GDMA and a second one located in the LPD
> (low power domain) called ADMA. This patch series attempts to add emulation
> support for these two DMAs on the ZynqMP board. The first patch in the series
> adds a model of the ZynqMP generic DMA (the ZDMA). The second patch in the
> series connects the two instances of the ZDMA, the GDMA and the ADMA, to the
> ZynqMP board.
>
> Best regards,
> Francisco Iglesias
>
> Changelog:
> v2 -> v3
>   * Use sizeof(s->dsc_dst) as the memcpy length when loading dsc_dst.
>   * Remove an unnecessary qemu_log.
>   * Move the setting of DMA_DONE til after the DMA transfer while loop.
>   * Add dsc_src and dsc_dst to vmstate_zdma.
>
> v1 -> v2
>   * Don't unpause the DMA channel if CONT is zero and clear CONT after
>     unpausing.
>   * Added 'state' to the vmstate_zdma.
>   * Renamed defines and variables in 'xlnx-zynqmp: Connect the ZynqMP GDMA and
>     ADMA' to better reflect they are channels variables.

Applied to target-arm.next, thanks.

-- PMM

Re: [Qemu-devel] [PATCH v3 0/2] xlnx-zynqmp: Add emulation of the ZynqMP GDMA and ADMA
Posted by francisco iglesias 7 years, 5 months ago
Hi Peter,

Thank you! (And thank you Edgar, Alistair and Sai for reviewing!)

Best regards,
Francisco

On Thursday, 17 May 2018, Peter Maydell <peter.maydell@linaro.org> wrote:

> On 3 May 2018 at 22:41, Francisco Iglesias <frasse.iglesias@gmail.com>
> wrote:
> > Hi,
> >
> > The ZynqMP Soc contains two separate instances of a generic DMA, one
> located in
> > the FPD (full power domain) called GDMA and a second one located in the
> LPD
> > (low power domain) called ADMA. This patch series attempts to add
> emulation
> > support for these two DMAs on the ZynqMP board. The first patch in the
> series
> > adds a model of the ZynqMP generic DMA (the ZDMA). The second patch in
> the
> > series connects the two instances of the ZDMA, the GDMA and the ADMA, to
> the
> > ZynqMP board.
> >
> > Best regards,
> > Francisco Iglesias
> >
> > Changelog:
> > v2 -> v3
> >   * Use sizeof(s->dsc_dst) as the memcpy length when loading dsc_dst.
> >   * Remove an unnecessary qemu_log.
> >   * Move the setting of DMA_DONE til after the DMA transfer while loop.
> >   * Add dsc_src and dsc_dst to vmstate_zdma.
> >
> > v1 -> v2
> >   * Don't unpause the DMA channel if CONT is zero and clear CONT after
> >     unpausing.
> >   * Added 'state' to the vmstate_zdma.
> >   * Renamed defines and variables in 'xlnx-zynqmp: Connect the ZynqMP
> GDMA and
> >     ADMA' to better reflect they are channels variables.
>
> Applied to target-arm.next, thanks.
>
> -- PMM
>