diff options
Diffstat (limited to 'firmware/target/arm/tms320dm320/dsp/arm.c')
-rw-r--r-- | firmware/target/arm/tms320dm320/dsp/arm.c | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/firmware/target/arm/tms320dm320/dsp/arm.c b/firmware/target/arm/tms320dm320/dsp/arm.c index 58162990cc..a2c19c7f62 100644 --- a/firmware/target/arm/tms320dm320/dsp/arm.c +++ b/firmware/target/arm/tms320dm320/dsp/arm.c | |||
@@ -24,6 +24,7 @@ | |||
24 | #include "arm.h" | 24 | #include "arm.h" |
25 | #include "registers.h" | 25 | #include "registers.h" |
26 | #include "ipc.h" | 26 | #include "ipc.h" |
27 | #include "dma.h" | ||
27 | 28 | ||
28 | volatile struct ipc_message status; | 29 | volatile struct ipc_message status; |
29 | 30 | ||
@@ -33,7 +34,19 @@ interrupt void handle_int0(void) { | |||
33 | IFR = 1; | 34 | IFR = 1; |
34 | acked = 1; | 35 | acked = 1; |
35 | waiting = 0; | 36 | waiting = 0; |
36 | rebuffer(); | 37 | |
38 | if(dma0_stopped==0) | ||
39 | { | ||
40 | if(!(DMPREC&0x01)) | ||
41 | { | ||
42 | DMPREC |= 1; | ||
43 | audiohw_start(); | ||
44 | } | ||
45 | else | ||
46 | { | ||
47 | rebuffer(); | ||
48 | } | ||
49 | } | ||
37 | } | 50 | } |
38 | 51 | ||
39 | void startack(void) | 52 | void startack(void) |