m1n1.hw.admac: Support early poll() exit

Signed-off-by: Martin Povišer <povik@protonmail.com>
This commit is contained in:
Martin Povišer 2022-04-14 11:27:41 +02:00 committed by Hector Martin
parent f353017ac6
commit 38ca45816f

View file

@ -322,10 +322,13 @@ class ADMACChannel(Reloadable):
def status(self):
return self.regs.CHAN_STATUS[self.ch, 0].reg
def poll(self):
def poll(self, wait=True):
while not (self.status.DESC_DONE or self.status.RING_ERR):
time.sleep(0.001)
if not wait:
break
self.regs.CHAN_STATUS[self.ch,0].reg = R_CHAN_STATUS(DESC_DONE=1)
if self.status.RING_ERR: