From owner-p4-projects@FreeBSD.ORG Sun Dec 3 07:21:56 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4DACD16A412; Sun, 3 Dec 2006 07:21:56 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 15C8F16A403 for ; Sun, 3 Dec 2006 07:21:56 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9609343C9D for ; Sun, 3 Dec 2006 07:21:30 +0000 (GMT) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kB37LtL3005062 for ; Sun, 3 Dec 2006 07:21:55 GMT (envelope-from mjacob@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kB37Ltpr005059 for perforce@freebsd.org; Sun, 3 Dec 2006 07:21:55 GMT (envelope-from mjacob@freebsd.org) Date: Sun, 3 Dec 2006 07:21:55 GMT Message-Id: <200612030721.kB37Ltpr005059@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mjacob@freebsd.org using -f From: Matt Jacob To: Perforce Change Reviews Cc: Subject: PERFORCE change 110928 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 03 Dec 2006 07:21:56 -0000 http://perforce.freebsd.org/chv.cgi?CH=110928 Change 110928 by mjacob@newisp on 2006/12/03 07:21:23 Fix XPT_GET_TRANSPORT_SETTINGS to zero validity and flags- this was causing us to not negotiate sync at all, or at random. Affected files ... .. //depot/projects/newisp/dev/isp/isp_freebsd.c#30 edit Differences ... ==== //depot/projects/newisp/dev/isp/isp_freebsd.c#30 (text+ko) ==== @@ -2741,8 +2741,9 @@ *dptr &= ~DPARM_SYNC; } isp_prt(isp, ISP_LOGDEBUG0, - "SET bus %d targ %d to flags %x off %x per %x", - bus, tgt, sdp->isp_devparam[tgt].goal_flags, + "SET (%d.%d.%d) to flags %x off %x per %x", + bus, tgt, cts->ccb_h.target_lun, + sdp->isp_devparam[tgt].goal_flags, sdp->isp_devparam[tgt].goal_offset, sdp->isp_devparam[tgt].goal_period); sdp->isp_devparam[tgt].dev_update = 1; @@ -2809,20 +2810,22 @@ cts->transport = XPORT_SPI; cts->transport_version = 2; - scsi->flags &= ~CTS_SCSI_FLAGS_TAG_ENB; - spi->flags &= ~CTS_SPI_FLAGS_DISC_ENB; + spi->valid = 0; + scsi->valid = 0; + spi->flags = 0; + scsi->flags = 0; if (dval & DPARM_DISC) { spi->flags |= CTS_SPI_FLAGS_DISC_ENB; } - if (dval & DPARM_TQING) { - scsi->flags |= CTS_SCSI_FLAGS_TAG_ENB; - } if ((dval & DPARM_SYNC) && oval && pval) { spi->sync_offset = oval; spi->sync_period = pval; - spi->valid |= CTS_SPI_VALID_SYNC_OFFSET; - spi->valid |= CTS_SPI_VALID_SYNC_RATE; + } else { + spi->sync_offset = 0; + spi->sync_period = 0; } + spi->valid |= CTS_SPI_VALID_SYNC_OFFSET; + spi->valid |= CTS_SPI_VALID_SYNC_RATE; spi->valid |= CTS_SPI_VALID_BUS_WIDTH; if (dval & DPARM_WIDE) { spi->bus_width = MSG_EXT_WDTR_BUS_16_BIT; @@ -2831,14 +2834,15 @@ } if (cts->ccb_h.target_lun != CAM_LUN_WILDCARD) { scsi->valid = CTS_SCSI_VALID_TQ; + if (dval & DPARM_TQING) { + scsi->flags |= CTS_SCSI_FLAGS_TAG_ENB; + } spi->valid |= CTS_SPI_VALID_DISC; - } else { - scsi->valid = 0; } isp_prt(isp, ISP_LOGDEBUG0, - "GET %s bus %d targ %d to flags %x off %x per %x", + "GET %s (%d.%d.%d) to flags %x off %x per %x", IS_CURRENT_SETTINGS(cts)? "ACTIVE" : "NVRAM", - bus, tgt, dval, oval, pval); + bus, tgt, cts->ccb_h.target_lun, dval, oval, pval); } ISPLOCK_2_CAMLOCK(isp); ccb->ccb_h.status = CAM_REQ_CMP;