HACK: stream: Add transaction attributes

For now only End-Of-Packet which used to be implicit.

Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
HACK: xilinx_axidma: Do not set DMA notify to Null after calling notify

Currently, whenever stream reg is set and there is stream pending, it
always try to notify. However, if the DMA is not ready, "notify" cannot
handle the packet, but DMA set the notify to NULL after calling the notify
function, and packets can never get handled after that.

We can use a local variable to store the notify function pointer, and then
set the DMA stream notify funtion pointer to NULL before calling the notify
function. In the notify function, it should set the DMA stream notify function
pointer again if DMA is not ready.

Signed-off-by: Wendy Liang <jliang@xilinx.com>
COVER: Stream Patches

---CHANGELOG---
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 v5:
rebased against hw ro-organisation
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.
---END---

Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com>