summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJens Arnold <amiconn@rockbox.org>2008-08-19 23:07:54 +0000
committerJens Arnold <amiconn@rockbox.org>2008-08-19 23:07:54 +0000
commit0d49141637036af9d3e54a6dab4bf96473db3359 (patch)
treede3a22343275c06db8fba8970e697ca1706e07bf
parent425d0ef22e37831f650773dbaec818057bc9afcb (diff)
downloadrockbox-0d49141637036af9d3e54a6dab4bf96473db3359.tar.gz
rockbox-0d49141637036af9d3e54a6dab4bf96473db3359.zip
Since several S/PDIF sources do not set the valnogood bit properly, valnogood shouldn't be considered as an error.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18322 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--firmware/target/coldfire/pcm-coldfire.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/firmware/target/coldfire/pcm-coldfire.c b/firmware/target/coldfire/pcm-coldfire.c
index bd4778d79c..35b3ecae9c 100644
--- a/firmware/target/coldfire/pcm-coldfire.c
+++ b/firmware/target/coldfire/pcm-coldfire.c
@@ -479,11 +479,12 @@ void DMA1(void)
479 } 479 }
480#ifdef HAVE_SPDIF_REC 480#ifdef HAVE_SPDIF_REC
481 else if (DATAINCONTROL == 0xc038 && 481 else if (DATAINCONTROL == 0xc038 &&
482 (INTERRUPTSTAT & ((1 << 24) | (1 << 23) | (1 << 22)))) 482 (INTERRUPTSTAT & ((1 << 23) | (1 << 22))))
483 { 483 {
484 /* reason: valnogood, symbolerr, parityerr */ 484 /* reason: symbolerr, parityerr.
485 /* clear: ebu1cnew, valnogood, symbolerr, parityerr */ 485 * Ignore valnogood since several sources don't set it properly. */
486 INTERRUPTCLEAR = (1 << 25) | (1 << 24) | (1 << 23) | (1 << 22); 486 /* clear: ebu1cnew, symbolerr, parityerr */
487 INTERRUPTCLEAR = (1 << 25) | (1 << 23) | (1 << 22);
487 status = DMA_REC_ERROR_SPDIF; 488 status = DMA_REC_ERROR_SPDIF;
488 logf("spdif err"); 489 logf("spdif err");
489 } 490 }