forked from len0rd/rockbox
Gigabeat S: Fix the recording locking upon using it a second time.
Apparently I got the "just-in-case" RXFIFO purge in there before the RXFIFO was enabled, causing severe hardware spasms. Change-Id: I2ea4b6d28e06372b61cb3f21ab2fce71dd408213
This commit is contained in:
parent
5b9a5054f5
commit
5c36e2f21c
1 changed files with 4 additions and 4 deletions
|
|
@ -428,20 +428,20 @@ void pcm_rec_dma_start(void *addr, size_t size)
|
||||||
if (!sdma_channel_reset(DMA_REC_CH_NUM))
|
if (!sdma_channel_reset(DMA_REC_CH_NUM))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
SSI_SRCR1 |= SSI_SRCR_RFEN0; /* Enable RX FIFO */
|
||||||
|
|
||||||
/* Ensure clear FIFO */
|
/* Ensure clear FIFO */
|
||||||
while (SSI_SFCSR1 & SSI_SFCSR_RFCNT0)
|
while (SSI_SFCSR1 & SSI_SFCSR_RFCNT0)
|
||||||
SSI_SRX0_1;
|
SSI_SRX0_1;
|
||||||
|
|
||||||
dma_rec_data.state = 1; /* Check callback on unlock */
|
|
||||||
|
|
||||||
SSI_SRCR1 |= SSI_SRCR_RFEN0; /* Enable RX FIFO */
|
|
||||||
|
|
||||||
/* Enable receive */
|
/* Enable receive */
|
||||||
SSI_SCR1 |= SSI_SCR_RE;
|
SSI_SCR1 |= SSI_SCR_RE;
|
||||||
SSI_SIER1 |= SSI_SIER_RDMAE; /* Enable DMA req. */
|
SSI_SIER1 |= SSI_SIER_RDMAE; /* Enable DMA req. */
|
||||||
|
|
||||||
/* Begin DMA transfer */
|
/* Begin DMA transfer */
|
||||||
rec_start_dma(addr, size);
|
rec_start_dma(addr, size);
|
||||||
|
|
||||||
|
dma_rec_data.state = 1; /* Check callback on unlock */
|
||||||
}
|
}
|
||||||
|
|
||||||
void pcm_rec_dma_close(void)
|
void pcm_rec_dma_close(void)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue