[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 2/2] LSI53C895A: Handle empty SCRIPTS opcode
From: |
Justin Chevrier |
Subject: |
[Qemu-devel] [PATCH 2/2] LSI53C895A: Handle empty SCRIPTS opcode |
Date: |
Tue, 2 Dec 2008 07:53:27 -0800 (PST) |
Well I've finally sorted out what Openserver is doing. Basically after each DMA
transfer the Openserver driver would issue an empty (0) SCRIPTS opcode. As the
opcode is essentially a NOP it has no second DWORD and therefore the DSP should
only be incremented by 4 bytes instead of the 8 bytes we currently do.
Here's a snippet of the log:
lsi_scsi: Data ready tag=0x100d9 len=16384
...
lsi_scsi: SCRIPTS dsp=068c5e50 opcode 01000400 arg 07a09000
lsi_scsi: DMA addr=0x07a09000 len=1024
lsi_scsi: SCRIPTS dsp=068c5e58 opcode 00000000 arg 01000400
lsi_scsi: Wrong phase got 1 expected 0
Note the 2nd DWORD after the empty opcode; the next opcode in the DMA transfer
sequence. As can be expected the address after that has the next DMA address to
use.
After the attached patch the DMA transfer is able to complete successfully:
lsi_scsi: SCRIPTS dsp=068c5e50 opcode 01000400 arg 07a0d000
lsi_scsi: DMA addr=0x07a0d000 len=1024
lsi_scsi: SCRIPTS dsp=068c5e5c opcode 01000400 arg 07a0d400
lsi_scsi: DMA addr=0x07a0d400 len=1024
...
Tested againsted Openserver 5.0.5 and Debian ARM.
Changelog:
Handle empty SCRIPTS opcode
Signed-off-by: Justin Chevrier <address@hidden>
empty_opcode.diff
Description: Text document
- [Qemu-devel] [PATCH 2/2] LSI53C895A: Handle empty SCRIPTS opcode,
Justin Chevrier <=