spi_dt(starget) = tinfo->curr.ppr_options & MSG_EXT_PPR_DT_REQ; spi_qas(starget) = tinfo->curr.ppr_options & MSG_EXT_PPR_QAS_REQ; spi_iu(starget) = tinfo->curr.ppr_options & MSG_EXT_PPR_IU_REQ; 
spi_dt(starget) = tinfo->curr.ppr_options & MSG_EXT_PPR_DT_REQ ? 1 : 0; spi_qas(starget) = tinfo->curr.ppr_options & MSG_EXT_PPR_QAS_REQ ? 1 : 0; spi_iu(starget) = tinfo->curr.ppr_options & MSG_EXT_PPR_IU_REQ ? 1 : 0; 
ahc_send_async(struct ahc_softc *ahc, char channel,	       u_int target, u_int lun, ac_code code, void *arg){	switch (code) {	case AC_TRANSFER_NEG:	{		char	buf[80];		struct	scsi_target *starget;		struct	ahc_linux_target *targ;		struct	info_str info;		struct	ahc_initiator_tinfo *tinfo;		struct	ahc_tmode_tstate *tstate;		int	target_offset;		unsigned int target_ppr_options;		BUG_ON(target == CAM_TARGET_WILDCARD);		info.buffer = buf;		info.length = sizeof(buf);		info.offset = 0;		info.pos = 0;		tinfo = ahc_fetch_transinfo(ahc, channel,						channel == 'A' ? ahc->our_id							       : ahc->our_id_b,						target, &tstate);		/*		 * Don't bother reporting results while		 * negotiations are still pending.		 */		if (tinfo->curr.period != tinfo->goal.period		 || tinfo->curr.width != tinfo->goal.width		 || tinfo->curr.offset != tinfo->goal.offset		 || tinfo->curr.ppr_options != tinfo->goal.ppr_options)			if (bootverbose == 0)				break;		/*		 * Don't bother reporting results that		 * are identical to those last reported.		 */		target_offset = target;		if (channel == 'B')			target_offset += 8;		starget = ahc->platform_data->starget[target_offset];		targ = scsi_transport_target_data(starget);		if (targ == NULL)			break;		target_ppr_options =			(spi_dt(starget) ? MSG_EXT_PPR_DT_REQ : 0)			+ (spi_qas(starget) ? MSG_EXT_PPR_QAS_REQ : 0)			+ (spi_iu(starget) ?  MSG_EXT_PPR_IU_REQ : 0);		if (tinfo->curr.period == spi_period(starget)		    && tinfo->curr.width == spi_width(starget)		    && tinfo->curr.offset == spi_offset(starget)		 && tinfo->curr.ppr_options == target_ppr_options)			if (bootverbose == 0)				break;		spi_period(starget) = tinfo->curr.period;		spi_width(starget) = tinfo->curr.width;		spi_offset(starget) = tinfo->curr.offset;		spi_dt(starget) = tinfo->curr.ppr_options & MSG_EXT_PPR_DT_REQ;		spi_qas(starget) = tinfo->curr.ppr_options & MSG_EXT_PPR_QAS_REQ;		spi_iu(starget) = tinfo->curr.ppr_options & MSG_EXT_PPR_IU_REQ;		spi_display_xfer_agreement(starget);		break;	}        case AC_SENT_BDR:	{		WARN_ON(lun != CAM_LUN_WILDCARD);		scsi_report_device_reset(ahc->platform_data->host,					 channel - 'A', target);		break;	}        case AC_BUS_RESET:		if (ahc->platform_data->host != NULL) {			scsi_report_bus_reset(ahc->platform_data->host,					      channel - 'A');		}                break;        default:                panic("ahc_send_async: Unexpected async event");        }}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/f7ff898ad3971cd36967453d331c57d97d407007/aic7xxx_osm.c/clean/drivers/scsi/aic7xxx/aic7xxx_osm.c