qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Peter Crosthwaite <peter.crosthwaite@xilinx.com>
To: qemu-devel@nongnu.org, edgar.iglesias@gmail.com
Cc: Peter Crosthwaite <peter.crosthwaite@xilinx.com>
Subject: [Qemu-devel] [PATCH v5 00/16]  Stream Patches
Date: Wed,  3 Apr 2013 15:17:00 +1000	[thread overview]
Message-ID: <cover.1364965814.git.peter.crosthwaite@xilinx.com> (raw)

Hi all. The Xilinx AXIEnet and DMA devices have two AXI stream connections
(control and data), only one of which is currently modelled (data). AXI stream
is modelled using the stream QOM interface described in stream.h. Unfortunately,
interfaces have no nice way of modelling multiple connections of the same type.
So to overcome this I created a secondary object which acts as a proxy for the
stream connection. Multiple connections can be implemented using multiple
proxies and stream masters link to the relevant proxy, rather than the ethernet
device itself. This Series changes AXI Enet and DMA to be connected as such.

Also changed the stream interface to implement flow control handshaking. This
is needed for the AXIEnet to be be able to implement the net can_receive() flow
control.

Patches 1-10 are low-impact cleanup of axienet/dma as per the current QOM
styling guidelines and can be cherry-picked off the front.

changed from v4:
resynchronized control flow stream API
reordered series for better consistency.
Folded patch 17 in 16 (app array length fix)
Fixed DMA tx path halted bit
changed from v3:
Changed from asynchronous flow control to synchronous (Edgar review)
changed from v2:
Reordered patches (from low impact -> high impact)
Added styling refactoring of AXIDMA
Added asynchronous patches
Removed dummy second stream connection patch (former patch 8)
Added (functional) second stream connection
changed from v1:
Removed former P1&2 (already merged)
Address Andreas review
Refactor axienet to be more QOM friendly.


Peter Crosthwaite (16):
  xilinx_axienet: typedef XilinxAXIEnet struct
  xilinx_axienet: Defined and use type cast macro
  xilinx_axienet: Register reset properly
  xilinx_axienet: converted init->realize
  xilinx_axidma: typedef XilinxAXIDMA struct
  xilinx_axidma: Defined and use type cast macro
  xilinx_axidma: Register reset properly
  xilinx_axidma: converted init->realize
  petalogix_ml605_mmu: Fix machine node attachment
  petalogix_ml605_mmu: Attach ethernet to machine
  xilinx_axienet: Create Proxy object for stream
  xilinx_axidma: Create Proxy object for stream
  xilinx_axidma: Fix rx/tx halted bit.
  stream: Add flow control API
  xilinx_axienet/dma: Implement rx path flow control
  stream: Remove app argument hack

 hw/microblaze/petalogix_ml605_mmu.c |   28 +++-
 hw/stream.c                         |   15 ++-
 hw/stream.h                         |   36 ++++-
 hw/xilinx.h                         |   21 ++-
 hw/xilinx_axidma.c                  |  261 +++++++++++++++++++++++++++--------
 hw/xilinx_axienet.c                 |  255 +++++++++++++++++++++++++++-------
 6 files changed, 483 insertions(+), 133 deletions(-)

             reply	other threads:[~2013-04-03  5:17 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-04-03  5:17 Peter Crosthwaite [this message]
2013-04-03  5:17 ` [Qemu-devel] [PATCH v5 01/16] xilinx_axienet: typedef XilinxAXIEnet struct Peter Crosthwaite
2013-04-03  5:17 ` [Qemu-devel] [PATCH v5 02/16] xilinx_axienet: Defined and use type cast macro Peter Crosthwaite
2013-04-03  5:17 ` [Qemu-devel] [PATCH v5 03/16] xilinx_axienet: Register reset properly Peter Crosthwaite
2013-04-03  5:17 ` [Qemu-devel] [PATCH v5 04/16] xilinx_axienet: converted init->realize Peter Crosthwaite
2013-04-03  5:17 ` [Qemu-devel] [PATCH v5 05/16] xilinx_axidma: typedef XilinxAXIDMA struct Peter Crosthwaite
2013-04-03  5:17 ` [Qemu-devel] [PATCH v5 06/16] xilinx_axidma: Defined and use type cast macro Peter Crosthwaite
2013-04-03  5:17 ` [Qemu-devel] [PATCH v5 07/16] xilinx_axidma: Register reset properly Peter Crosthwaite
2013-04-03  5:17 ` [Qemu-devel] [PATCH v5 08/16] xilinx_axidma: converted init->realize Peter Crosthwaite
2013-04-03  5:17 ` [Qemu-devel] [PATCH v5 09/16] petalogix_ml605_mmu: Fix machine node attachment Peter Crosthwaite
2013-04-03  5:17 ` [Qemu-devel] [PATCH v5 10/16] petalogix_ml605_mmu: Attach ethernet to machine Peter Crosthwaite
2013-04-03  5:17 ` [Qemu-devel] [PATCH v5 11/16] xilinx_axienet: Create Proxy object for stream Peter Crosthwaite
2013-04-03  5:17 ` [Qemu-devel] [PATCH v5 12/16] xilinx_axidma: " Peter Crosthwaite
2013-04-03  5:17 ` [Qemu-devel] [PATCH v5 13/16] xilinx_axidma: Fix rx/tx halted bit Peter Crosthwaite
2013-04-03  5:17 ` [Qemu-devel] [PATCH v5 14/16] stream: Add flow control API Peter Crosthwaite
2013-04-03  5:17 ` [Qemu-devel] [PATCH v5 15/16] xilinx_axienet/dma: Implement rx path flow control Peter Crosthwaite
2013-04-03  5:17 ` [Qemu-devel] [PATCH v5 16/16] stream: Remove app argument hack Peter Crosthwaite

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=cover.1364965814.git.peter.crosthwaite@xilinx.com \
    --to=peter.crosthwaite@xilinx.com \
    --cc=edgar.iglesias@gmail.com \
    --cc=qemu-devel@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).