Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 84e66ee7 authored by James Bottomley's avatar James Bottomley Committed by James Bottomley
Browse files

[SCSI] 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.

Signed-off-by: default avatarJames Bottomley <James.Bottomley@SteelEye.com>
parent c2c96f46
Loading
Loading
Loading
Loading
+4 −4
Original line number Original line Diff line number Diff line
@@ -2429,16 +2429,16 @@ static void ahc_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;
	struct ahc_syncrate *syncrate;
	struct ahc_syncrate *syncrate;


	if (dt) {
	if (dt) {
		period = 9;	/* 12.5ns is the only period valid for DT */
		ppr_options |= MSG_EXT_PPR_DT_REQ;
		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 */
		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,
	ahc_compile_devinfo(&devinfo, shost->this_id, starget->id, 0,
			    starget->channel + 'A', ROLE_INITIATOR);
			    starget->channel + 'A', ROLE_INITIATOR);