|
@@ -6291,18 +6291,17 @@ static uchar AscGetSynPeriodIndex(ASC_DVC_VAR *asc_dvc, uchar syn_time)
|
|
|
static uchar
|
|
|
AscMsgOutSDTR(ASC_DVC_VAR *asc_dvc, uchar sdtr_period, uchar sdtr_offset)
|
|
|
{
|
|
|
- EXT_MSG sdtr_buf;
|
|
|
- uchar sdtr_period_index;
|
|
|
- PortAddr iop_base;
|
|
|
-
|
|
|
- iop_base = asc_dvc->iop_base;
|
|
|
- sdtr_buf.msg_type = EXTENDED_MESSAGE;
|
|
|
- sdtr_buf.msg_len = MS_SDTR_LEN;
|
|
|
- sdtr_buf.msg_req = EXTENDED_SDTR;
|
|
|
- sdtr_buf.xfer_period = sdtr_period;
|
|
|
+ PortAddr iop_base = asc_dvc->iop_base;
|
|
|
+ uchar sdtr_period_index = AscGetSynPeriodIndex(asc_dvc, sdtr_period);
|
|
|
+ EXT_MSG sdtr_buf = {
|
|
|
+ .msg_type = EXTENDED_MESSAGE,
|
|
|
+ .msg_len = MS_SDTR_LEN,
|
|
|
+ .msg_req = EXTENDED_SDTR,
|
|
|
+ .xfer_period = sdtr_period,
|
|
|
+ .req_ack_offset = sdtr_offset,
|
|
|
+ };
|
|
|
sdtr_offset &= ASC_SYN_MAX_OFFSET;
|
|
|
- sdtr_buf.req_ack_offset = sdtr_offset;
|
|
|
- sdtr_period_index = AscGetSynPeriodIndex(asc_dvc, sdtr_period);
|
|
|
+
|
|
|
if (sdtr_period_index <= asc_dvc->max_sdtr_index) {
|
|
|
AscMemWordCopyPtrToLram(iop_base, ASCV_MSGOUT_BEG,
|
|
|
(uchar *)&sdtr_buf,
|