aic7xxx: final fixes for DT handling
Subsystems (2)
PATCH 1/1 aic7xxx: final fixes for DT handling
The aic7xxx can support Data Group transfers at periods > 12.5, so eliminate that restriction. Additionally wide is a requirement for DT so ensure wide is set if users request DT.
James
drivers/scsi/aic7xxx/aic7xxx_osm.c +4 -4
@@ -2429,16 +2432,16 @@ static void ahc_linux_set_dt(struct scsiunsigned 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;struct ahc_syncrate *syncrate;if (dt) { - period =9 ;/* 12.5ns is the only period valid for DT */ ppr_options |=MSG_EXT_PPR_DT_REQ ; - }else if (period ==9 ) { +if (!width) +ahc_linux_set_width (starget,1 ); + }else if (period ==9 ) period =10 ;/* if resetting DT, period must be >= 25ns */ - ppr_options &= ~MSG_EXT_PPR_DT_REQ ; - }ahc_compile_devinfo (&devinfo, shost->this_id, starget->id,0 , starget->channel +'A' ,ROLE_INITIATOR );