[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH arm-devs v4 14/15] xilinx_spips: lqspi: Push more da
From: |
peter . crosthwaite |
Subject: |
[Qemu-devel] [PATCH arm-devs v4 14/15] xilinx_spips: lqspi: Push more data to tx-fifo |
Date: |
Tue, 21 May 2013 16:38:45 +1000 |
From: Peter Crosthwaite <address@hidden>
Do 16 words per fifo flush. Increases performance and decreases
debug verbosity. This data depth has no real hardware analogue,
so just go with something that has reasonable performance.
Signed-off-by: Peter Crosthwaite <address@hidden>
Reviewed-by: Peter Maydell <address@hidden>
Reviewed-by: Edgar E. Iglesias <address@hidden>
---
hw/ssi/xilinx_spips.c | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/hw/ssi/xilinx_spips.c b/hw/ssi/xilinx_spips.c
index 665f471..e975a87 100644
--- a/hw/ssi/xilinx_spips.c
+++ b/hw/ssi/xilinx_spips.c
@@ -608,11 +608,14 @@ lqspi_read(void *opaque, hwaddr addr, unsigned int size)
DB_PRINT_L(0, "starting QSPI data read\n");
- for (i = 0; i < LQSPI_CACHE_SIZE / 4; ++i) {
- tx_data_bytes(s, 0, 4);
+ while (cache_entry < LQSPI_CACHE_SIZE / 4) {
+ for (i = 0; i < 16; ++i) {
+ tx_data_bytes(s, 0, 4);
+ }
xilinx_spips_flush_txfifo(s);
- rx_data_bytes(s, &q->lqspi_buf[cache_entry], 4);
- cache_entry++;
+ for (i = 0; i < 16; ++i) {
+ rx_data_bytes(s, &q->lqspi_buf[cache_entry++], 4);
+ }
}
s->regs[R_LQSPI_STS] &= ~LQSPI_CFG_U_PAGE;
--
1.8.3.rc1.44.gb387c77.dirty
- [Qemu-devel] [PATCH arm-devs v4 03/15] xilinx_spips: Inhibit interrupts in LQSPI mode, (continued)
- [Qemu-devel] [PATCH arm-devs v4 03/15] xilinx_spips: Inhibit interrupts in LQSPI mode, peter . crosthwaite, 2013/05/21
- [Qemu-devel] [PATCH arm-devs v4 04/15] xilinx_spips: Add verbose LQSPI debug output, peter . crosthwaite, 2013/05/21
- [Qemu-devel] [PATCH arm-devs v4 05/15] xilinx_spips: Fix QSPI FIFO size, peter . crosthwaite, 2013/05/21
- [Qemu-devel] [PATCH arm-devs v4 06/15] xilinx_spips: Trash LQ page cache on mode change, peter . crosthwaite, 2013/05/21
- [Qemu-devel] [PATCH arm-devs v4 07/15] xilinx_spips: Add automatic start support, peter . crosthwaite, 2013/05/21
- [Qemu-devel] [PATCH arm-devs v4 09/15] xilinx_spips: lqspi: Dont touch config register, peter . crosthwaite, 2013/05/21
- [Qemu-devel] [PATCH arm-devs v4 10/15] xilinx_spips: Fix CTRL register RW bits, peter . crosthwaite, 2013/05/21
- [Qemu-devel] [PATCH arm-devs v4 11/15] xilinx_spips: Fix striping behaviour, peter . crosthwaite, 2013/05/21
- [Qemu-devel] [PATCH arm-devs v4 12/15] xilinx_spips: Debug msgs for Snoop state, peter . crosthwaite, 2013/05/21
- [Qemu-devel] [PATCH arm-devs v4 13/15] xilinx_spips: Multiple debug verbosity levels, peter . crosthwaite, 2013/05/21
- [Qemu-devel] [PATCH arm-devs v4 14/15] xilinx_spips: lqspi: Push more data to tx-fifo,
peter . crosthwaite <=
- [Qemu-devel] [PATCH arm-devs v4 15/15] xilinx_spips: lqspi: Fix byte/misaligned access, peter . crosthwaite, 2013/05/21
- [Qemu-devel] [PATCH arm-devs v4 08/15] xilinx_spips: Implement automatic CS, peter . crosthwaite, 2013/05/21
- Re: [Qemu-devel] [PATCH arm-devs v4 00/15] Xilinx SPIPS fixes round 2, Peter Maydell, 2013/05/24