diff options
Diffstat (limited to 'sound/soc/blackfin')
-rw-r--r-- | sound/soc/blackfin/bf5xx-ac97.c | 9 | ||||
-rw-r--r-- | sound/soc/blackfin/bf5xx-sport.c | 4 |
2 files changed, 11 insertions, 2 deletions
diff --git a/sound/soc/blackfin/bf5xx-ac97.c b/sound/soc/blackfin/bf5xx-ac97.c index 8a935f2d1767..b1ed423fabd5 100644 --- a/sound/soc/blackfin/bf5xx-ac97.c +++ b/sound/soc/blackfin/bf5xx-ac97.c | |||
@@ -31,6 +31,15 @@ | |||
31 | #include "bf5xx-sport.h" | 31 | #include "bf5xx-sport.h" |
32 | #include "bf5xx-ac97.h" | 32 | #include "bf5xx-ac97.h" |
33 | 33 | ||
34 | /* Anomaly notes: | ||
35 | * 05000250 - AD1980 is running in TDM mode and RFS/TFS are generated by SPORT | ||
36 | * contrtoller. But, RFSDIV and TFSDIV are always set to 16*16-1, | ||
37 | * while the max AC97 data size is 13*16. The DIV is always larger | ||
38 | * than data size. AD73311 and ad2602 are not running in TDM mode. | ||
39 | * AD1836 and AD73322 depend on external RFS/TFS only. So, this | ||
40 | * anomaly does not affect blackfin sound drivers. | ||
41 | */ | ||
42 | |||
34 | static int *cmd_count; | 43 | static int *cmd_count; |
35 | static int sport_num = CONFIG_SND_BF5XX_SPORT_NUM; | 44 | static int sport_num = CONFIG_SND_BF5XX_SPORT_NUM; |
36 | 45 | ||
diff --git a/sound/soc/blackfin/bf5xx-sport.c b/sound/soc/blackfin/bf5xx-sport.c index b7953c8cf838..469ce7fab20c 100644 --- a/sound/soc/blackfin/bf5xx-sport.c +++ b/sound/soc/blackfin/bf5xx-sport.c | |||
@@ -190,7 +190,7 @@ static inline int sport_hook_rx_dummy(struct sport_device *sport) | |||
190 | desc = get_dma_next_desc_ptr(sport->dma_rx_chan); | 190 | desc = get_dma_next_desc_ptr(sport->dma_rx_chan); |
191 | /* Copy the descriptor which will be damaged to backup */ | 191 | /* Copy the descriptor which will be damaged to backup */ |
192 | temp_desc = *desc; | 192 | temp_desc = *desc; |
193 | desc->x_count = 0xa; | 193 | desc->x_count = sport->dummy_count / 2; |
194 | desc->y_count = 0; | 194 | desc->y_count = 0; |
195 | desc->next_desc_addr = sport->dummy_rx_desc; | 195 | desc->next_desc_addr = sport->dummy_rx_desc; |
196 | local_irq_restore(flags); | 196 | local_irq_restore(flags); |
@@ -309,7 +309,7 @@ static inline int sport_hook_tx_dummy(struct sport_device *sport) | |||
309 | desc = get_dma_next_desc_ptr(sport->dma_tx_chan); | 309 | desc = get_dma_next_desc_ptr(sport->dma_tx_chan); |
310 | /* Store the descriptor which will be damaged */ | 310 | /* Store the descriptor which will be damaged */ |
311 | temp_desc = *desc; | 311 | temp_desc = *desc; |
312 | desc->x_count = 0xa; | 312 | desc->x_count = sport->dummy_count / 2; |
313 | desc->y_count = 0; | 313 | desc->y_count = 0; |
314 | desc->next_desc_addr = sport->dummy_tx_desc; | 314 | desc->next_desc_addr = sport->dummy_tx_desc; |
315 | local_irq_restore(flags); | 315 | local_irq_restore(flags); |