mbox series

[v6,0/4] hw/ssi/pnv_spi: Remove PnvXferBuffer and other improvements

Message ID 20250303141328.23991-1-chalapathi.v@linux.ibm.com (mailing list archive)
Headers show
Series hw/ssi/pnv_spi: Remove PnvXferBuffer and other improvements | expand

Message

Chalapathi V March 3, 2025, 2:13 p.m. UTC
Hello,

In this revision comments from patch V5 are addressed.

Updates in V6:
1. Improve error logging when there is an overflow or underflow of
   Fifo8 structure
2. Add comments about local variable seq_index.
3. Update the bus name to chipX.spi.<busnum>, X = 0..<num_sockets>
4. keep fail_count in PnvSpi so that each instance of spi has its own
   count.

Updates in V5:
1. Use of PnvXferBuffer results in a additional process overhead due to
frequent dynamic allocations and hence use an existing Fifo8 buffer.
2. Use a local variable seq_index and use it with in while loop instead
of repeatedly calling get_seq_index() and make sure s->seq_op doesn't
overrun when seq_index is incremented.
3. Unique bus names are created for each controller in a socket so that
responders are attached to correct SPI controllers via CLI.
4. Enforce a limit on number RDR match failures so that SPI controller
doesn't get caught in an infinite execution loop querying the responder
for RDR match.

Tested:
passed make check and make check-avocado

Chalapathi V (4):
  hw/ssi/pnv_spi: Replace PnvXferBuffer with Fifo8 structure
  hw/ssi/pnv_spi: Use local var seq_index instead of get_seq_index().
  hw/ssi/pnv_spi: Make bus names distinct for each controllers of a
    socket
  hw/ssi/pnv_spi: Put a limit to RDR match failures

 include/hw/ssi/pnv_spi.h           |   7 +-
 hw/ppc/pnv.c                       |   2 +
 hw/ssi/pnv_spi.c                   | 366 +++++++++++++----------------
 tests/qtest/pnv-spi-seeprom-test.c |   2 +-
 4 files changed, 174 insertions(+), 203 deletions(-)