Attention is currently required from: Jason Glenesk, Marshall Dawson, Felix Held. Raul Rangel has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/56321 )
Change subject: soc/amd/common/block/lpc/spi_dma: Yield after completing transaction ......................................................................
soc/amd/common/block/lpc/spi_dma: Yield after completing transaction
There is no telling when the next udelay will be, so explicitly call it after completing a transaction. This will allow any pending transactions to immediately start.
BUG=b:179699789 TEST=Verify new transaction is enqueued right after another.
Signed-off-by: Raul E Rangel rrangel@chromium.org Change-Id: I9c1272bde46c3e0c15305b76c2ea7a6dde5ed0b0 --- M src/soc/amd/common/block/lpc/spi_dma.c 1 file changed, 3 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/21/56321/1
diff --git a/src/soc/amd/common/block/lpc/spi_dma.c b/src/soc/amd/common/block/lpc/spi_dma.c index 36f139a..00cd593 100644 --- a/src/soc/amd/common/block/lpc/spi_dma.c +++ b/src/soc/amd/common/block/lpc/spi_dma.c @@ -183,6 +183,9 @@ printk(BIOS_SPEW, "%s: end: dest: %p, source: %#zx, remaining: %zu\n", __func__, destination, source, transaction.remaining);
+ /* Yield to allow any queued up transactions to continue */ + udelay(0); + return transaction.size - transaction.remaining; }