Cleanup of SCSI phase change code, and adjustment of bus settle delays. #88
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is code cleanup around SCSI phase changes, and a couple of delays added to meet the 400ns bus settle delays in the SCSI specifications. Timing was measured on an oscilloscope.
I'm not seeing any performance impact, positive or negative, which is expected. I measured the time to receive a 10 byte command from an LC III+ at around 160us. I think that is mostly the BlueSCSI waiting on the Mac, so adding small delays didn't seem to make any difference to performance.
Tested on an LC III+ and a Quadra 650.
One thing I will note, I removed this line of code in messaging out handling:
memset(m_msb, 0x00, sizeof(m_msb));
Clearing the whole 2K buffer like that seemed unnecessary, and takes about 4us. That definitely stood out on the scope, but only impacts initiators that have a message out phase (Quadra and faster Macs).