Commit 52b5cfb3 authored by Hannes Reinecke's avatar Hannes Reinecke Committed by James Bottomley

[SCSI] aic79xx: fixup DT setting

this patch is just a cross-port of the fixup for aic7xxx DT settings.
As the same restrictions apply for aic79xx also (DT requires wide
transfers) the dt setting routine should be modified equivalently.
And an invalid period setting will be caught by ahd_find_syncrate()
anyway.
Signed-off-by: default avatarJames Bottomley <James.Bottomley@SteelEye.com>
parent 88ff29a4
...@@ -2440,6 +2440,7 @@ static void ahd_linux_set_dt(struct scsi_target *starget, int dt) ...@@ -2440,6 +2440,7 @@ static void ahd_linux_set_dt(struct scsi_target *starget, int dt)
unsigned int ppr_options = tinfo->goal.ppr_options unsigned int ppr_options = tinfo->goal.ppr_options
& ~MSG_EXT_PPR_DT_REQ; & ~MSG_EXT_PPR_DT_REQ;
unsigned int period = tinfo->goal.period; unsigned int period = tinfo->goal.period;
unsigned int width = tinfo->goal.width;
unsigned long flags; unsigned long flags;
#ifdef AHD_DEBUG #ifdef AHD_DEBUG
...@@ -2449,8 +2450,8 @@ static void ahd_linux_set_dt(struct scsi_target *starget, int dt) ...@@ -2449,8 +2450,8 @@ static void ahd_linux_set_dt(struct scsi_target *starget, int dt)
#endif #endif
if (dt) { if (dt) {
ppr_options |= MSG_EXT_PPR_DT_REQ; ppr_options |= MSG_EXT_PPR_DT_REQ;
if (period > 9) if (!width)
period = 9; /* at least 12.5ns for DT */ ahd_linux_set_width(starget, 1);
} else { } else {
if (period <= 9) if (period <= 9)
period = 10; /* If resetting DT, period must be >= 25ns */ period = 10; /* If resetting DT, period must be >= 25ns */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment