From 7d9269cc2e0c6198e4b4d8b92485fdbb887a010c Mon Sep 17 00:00:00 2001 From: CoolStar Date: Wed, 29 Nov 2023 02:05:25 -0800 Subject: [PATCH] Use YieldProcessor in DMA driver --- drivers/dma/pl330dma/dmacontroller.c | 2 +- drivers/dma/pl330dma/pl330.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/dma/pl330dma/dmacontroller.c b/drivers/dma/pl330dma/dmacontroller.c index 267758a..106d0e2 100644 --- a/drivers/dma/pl330dma/dmacontroller.c +++ b/drivers/dma/pl330dma/dmacontroller.c @@ -120,7 +120,7 @@ static NTSTATUS UntilDmacIdle(PPL330DMA_THREAD Thread) if (!(read32(pDevice, DBGSTATUS) & DBG_BUSY)) return STATUS_SUCCESS; - __yield(); + YieldProcessor(); LARGE_INTEGER CurrentTime; KeQuerySystemTimePrecise(&CurrentTime); diff --git a/drivers/dma/pl330dma/pl330.h b/drivers/dma/pl330dma/pl330.h index b8451e7..d914fd4 100644 --- a/drivers/dma/pl330dma/pl330.h +++ b/drivers/dma/pl330dma/pl330.h @@ -222,7 +222,7 @@ enum pl330_byteswap { #define MCODE_BUFF_PER_REQ 256 /* Use this _only_ to wait on transient states */ -#define UNTIL(t, s) while (!(_state(t) & (s))) __yield(); +#define UNTIL(t, s) while (!(_state(t) & (s))) YieldProcessor(); /* The number of default descriptors */