I meet with 2 problems:
1. How can I ensure that all data in the fifo is transmitted to the target. Do I have to transfer 64 bytes more to flush the fifo????
2. Sometimes the pci transmits data to a wrong address with 40 bytes offset behind the expected address, And this wrong state is unrecoverable.