libaudiodriver: readd callback to drv_int_sum()
The callback, which was dropped in commit git-842c4ed, allows drivers to fetch the interrupt status once and save it locally for subsequent calls to drv_int(). This fixes #190 . Change-Id: I83918656f637e716f60e9f4c19f1498f761d3b52
This commit is contained in:
parent
10a44c0ee2
commit
192c3a97f6
@ -496,6 +496,8 @@ static void msg_hardware(unsigned int UNUSED(mask))
|
|||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
|
/* if we have an interrupt */
|
||||||
|
if (drv_int_sum()) {
|
||||||
/* loop over all sub devices */
|
/* loop over all sub devices */
|
||||||
for ( i = 0; i < drv.NrOfSubDevices; i++) {
|
for ( i = 0; i < drv.NrOfSubDevices; i++) {
|
||||||
/* if interrupt from sub device and Dma transfer
|
/* if interrupt from sub device and Dma transfer
|
||||||
@ -507,6 +509,7 @@ static void msg_hardware(unsigned int UNUSED(mask))
|
|||||||
handle_int_read(i);
|
handle_int_read(i);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* As IRQ_REENABLE is not on in sys_irqsetpolicy, we must
|
/* As IRQ_REENABLE is not on in sys_irqsetpolicy, we must
|
||||||
* re-enable out interrupt after every interrupt.
|
* re-enable out interrupt after every interrupt.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user