Make lrcheck mask track the data size

This commit is contained in:
Ed Clarke
2018-10-15 08:56:57 +01:00
parent 7ae04ca313
commit c59f9a7c0c

View File

@@ -159,6 +159,7 @@ static inline int HandleSampleClock(int frameCount, buffered _XUA_CLK_DIR port:3
#if CODEC_MASTER #if CODEC_MASTER
unsigned syncError = 0; unsigned syncError = 0;
unsigned lrval = 0; unsigned lrval = 0;
const unsigned lrval_mask = (0xffffffff << (32 - N_BITS_I2S));
asm volatile("in %0, res[%1]":"=r"(lrval):"r"(p_lrclk):"memory"); asm volatile("in %0, res[%1]":"=r"(lrval):"r"(p_lrclk):"memory");
set_port_shift_count(p_lrclk, N_BITS_I2S); set_port_shift_count(p_lrclk, N_BITS_I2S);
@@ -181,7 +182,7 @@ static inline int HandleSampleClock(int frameCount, buffered _XUA_CLK_DIR port:3
{ {
if(frameCount == 0) if(frameCount == 0)
{ {
if ((lrval & 0xFFFFFF00) != 0x80000000) if ((lrval & lrval_mask) != 0x80000000)
{ {
syncError = 1; syncError = 1;
printhexln(lrval); printhexln(lrval);
@@ -189,7 +190,7 @@ static inline int HandleSampleClock(int frameCount, buffered _XUA_CLK_DIR port:3
} }
else else
{ {
if ((lrval | 0x000000FF) != 0x7FFFFFFF) if ((lrval | (~lrval_mask)) != 0x7FFFFFFF)
{ {
syncError = 1; syncError = 1;
printhexln(lrval); printhexln(lrval);