The entire queue seem to be visible in TX:70002840-7000287f and 
RX:70002880-700028bf. I'm not sure where that might help yet if at all. All I 
know is that I can write audio to any of the TX range and get sound out. Is it 
possible DMA could run regardless of the bus lock? hrm...guess that's a big ?? 
A big boon would be to be able to flush cache ranges.

I'd still rather have 32-bit L-R pairs without shifting though. Gotta be a 
solution to that shifty thing. :\


----- Original Message ----- 
  From: Antonius Hellmann 
  To: Rockbox development 
  Sent: Saturday, May 19, 2007 4:14 AM
  Subject: Sansa: avoid channel swapping issues


  Based on an idea of jhMikeS I modified svn code (i2s-pp.c) in the following 
way:

  //  IISFIFO_CFG |= 0x33; /* 12 slots full/empty config */
      /* Bit2-3, Bit6-7 seem to have no meaning */
      IISFIFO_CFG |= 0x22; /* 8 slots full/empty config */
  which solves the channel swapping issues. The modification triggers the 
interrupt already when 8 slots are empty, giving the system additional 45.3usec 
to execute the fiq without the FIFO running empty. With current frequency 
setting the cache releases the bus in time to execute the next fiq. The 
drawback is, that 50% more fiq calls are issued. But the fiq handler itself has 
some performance tuning potential.

Reply via email to