From: Peter Crosthwaite Date: Mon, 3 Jun 2013 16:17:42 +0000 (+0100) Subject: xilinx_spips: Add automatic start support X-Git-Tag: v1.6.0-rc0~256^2~17 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=e100f3be0cccc58692b3988ec2e35cd8b906ca05;p=thirdparty%2Fqemu.git xilinx_spips: Add automatic start support SPI has a mode where it automatically starts based on tx fifo occupancy. Implemented. Signed-off-by: Peter Crosthwaite Reviewed-by: Peter Maydell Reviewed-by: Edgar E. Iglesias Message-id: f4e9accb5de87b526fff6ed937f63278db76533b.1369117359.git.peter.crosthwaite@xilinx.com Signed-off-by: Peter Maydell --- diff --git a/hw/ssi/xilinx_spips.c b/hw/ssi/xilinx_spips.c index cf4c43e81da..0c04ec9486a 100644 --- a/hw/ssi/xilinx_spips.c +++ b/hw/ssi/xilinx_spips.c @@ -451,7 +451,8 @@ static void xilinx_spips_write(void *opaque, hwaddr addr, } s->regs[addr] = (s->regs[addr] & ~mask) | (value & mask); no_reg_update: - if (man_start_com) { + if ((man_start_com && s->regs[R_CONFIG] & MAN_START_EN) || + (fifo8_is_empty(&s->tx_fifo) && s->regs[R_CONFIG] & MAN_START_EN)) { xilinx_spips_flush_txfifo(s); } xilinx_spips_update_ixr(s);