aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/aic7xxx/aic79xx_osm.c
diff options
context:
space:
mode:
authorHannes Reinecke <hare@suse.de>2005-08-04 03:16:59 -0400
committerJames Bottomley <jejb@mulgrave.(none)>2005-08-04 18:39:55 -0400
commit52b5cfb355b2b3274979d25490f190d478ab1fad (patch)
tree7e4cf471d0db37af60e13f9461ff5008caeeceec /drivers/scsi/aic7xxx/aic79xx_osm.c
parent88ff29a4a5a8c4e0ecf375f783be071d1e7e264d (diff)
[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>
Diffstat (limited to 'drivers/scsi/aic7xxx/aic79xx_osm.c')
-rw-r--r--drivers/scsi/aic7xxx/aic79xx_osm.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/scsi/aic7xxx/aic79xx_osm.c b/drivers/scsi/aic7xxx/aic79xx_osm.c
index 982a74a145f7..40f32bb23972 100644
--- a/drivers/scsi/aic7xxx/aic79xx_osm.c
+++ b/drivers/scsi/aic7xxx/aic79xx_osm.c
@@ -2440,6 +2440,7 @@ static void ahd_linux_set_dt(struct scsi_target *starget, int dt)
2440 unsigned int ppr_options = tinfo->goal.ppr_options 2440 unsigned int ppr_options = tinfo->goal.ppr_options
2441 & ~MSG_EXT_PPR_DT_REQ; 2441 & ~MSG_EXT_PPR_DT_REQ;
2442 unsigned int period = tinfo->goal.period; 2442 unsigned int period = tinfo->goal.period;
2443 unsigned int width = tinfo->goal.width;
2443 unsigned long flags; 2444 unsigned long flags;
2444 2445
2445#ifdef AHD_DEBUG 2446#ifdef AHD_DEBUG
@@ -2449,8 +2450,8 @@ static void ahd_linux_set_dt(struct scsi_target *starget, int dt)
2449#endif 2450#endif
2450 if (dt) { 2451 if (dt) {
2451 ppr_options |= MSG_EXT_PPR_DT_REQ; 2452 ppr_options |= MSG_EXT_PPR_DT_REQ;
2452 if (period > 9) 2453 if (!width)
2453 period = 9; /* at least 12.5ns for DT */ 2454 ahd_linux_set_width(starget, 1);
2454 } else { 2455 } else {
2455 if (period <= 9) 2456 if (period <= 9)
2456 period = 10; /* If resetting DT, period must be >= 25ns */ 2457 period = 10; /* If resetting DT, period must be >= 25ns */