10-23-2011, 01:28 AM
r4942
IPU_Fifo.cpp
- IPU_Fifo_Output::write
If OFC = 7 (output FIFO count), it'll only write 1 qword to FIFO (8 = full).
Old code will set OFC = 1 instead of max 8 (full).
Don't know if this fixes anything but something I've noticed.
(and noticed that IPU_Fifo_Input::write looks okay)
IPU_Fifo.cpp
- IPU_Fifo_Output::write
Code:
uint transsize = min(size, 8 - (uint)ipuRegs.ctrl.OFC);
if(!transsize)
return 0;
#if 1
// new code?
ipuRegs.ctrl.OFC += transsize;
#else
// old code
ipuRegs.ctrl.OFC = transsize;
#endif
size -= transsize;
If OFC = 7 (output FIFO count), it'll only write 1 qword to FIFO (8 = full).
Old code will set OFC = 1 instead of max 8 (full).
Don't know if this fixes anything but something I've noticed.
(and noticed that IPU_Fifo_Input::write looks okay)