[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: James Bottomley <James.Bottomley@SteelEye.com>
diff --git a/drivers/scsi/aic7xxx/aic79xx_osm.c b/drivers/scsi/aic7xxx/aic79xx_osm.c
index 982a74a..40f32bb 100644
--- a/drivers/scsi/aic7xxx/aic79xx_osm.c
+++ b/drivers/scsi/aic7xxx/aic79xx_osm.c
@@ -2440,6 +2440,7 @@
 	unsigned int ppr_options = tinfo->goal.ppr_options
 		& ~MSG_EXT_PPR_DT_REQ;
 	unsigned int period = tinfo->goal.period;
+	unsigned int width = tinfo->goal.width;
 	unsigned long flags;
 
 #ifdef AHD_DEBUG
@@ -2449,8 +2450,8 @@
 #endif
 	if (dt) {
 		ppr_options |= MSG_EXT_PPR_DT_REQ;
-		if (period > 9)
-			period = 9; /* at least 12.5ns for DT */
+		if (!width)
+			ahd_linux_set_width(starget, 1);
 	} else {
 		if (period <= 9)
 			period = 10; /* If resetting DT, period must be >= 25ns */