soc/amd/common/block/lpc/spi_dma: Yield after completing transaction
There is no telling when the next udelay will be, so explicitly call `thread_yield()` 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 Reviewed-on: https://review.coreboot.org/c/coreboot/+/56321 Reviewed-by: Karthik Ramasubramanian <kramasub@google.com> Reviewed-by: Furquan Shaikh <furquan@google.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
parent
6f3c9018c6
commit
3af732ada0
|
@ -193,6 +193,9 @@ static ssize_t spi_dma_readat_dma(const struct region_device *rd, void *destinat
|
|||
printk(BIOS_SPEW, "%s: end: dest: %p, source: %#zx, remaining: %zu\n",
|
||||
__func__, destination, source, transaction.remaining);
|
||||
|
||||
/* Allow queued up transaction to continue */
|
||||
thread_yield();
|
||||
|
||||
if (transaction.remaining)
|
||||
return -1;
|
||||
|
||||
|
|
Loading…
Reference in New Issue