Deleted Added
full compact
sym_hipd.c (105215) sym_hipd.c (108470)
1/*
2 * Device driver optimized for the Symbios/LSI 53C896/53C895A/53C1010
3 * PCI-SCSI controllers.
4 *
5 * Copyright (C) 1999-2001 Gerard Roudier <groudier@free.fr>
6 *
7 * This driver also supports the following Symbios/LSI PCI-SCSI chips:
8 * 53C810A, 53C825A, 53C860, 53C875, 53C876, 53C885, 53C895,

--- 41 unchanged lines hidden (view full) ---

50 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
51 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
52 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
53 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
54 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
55 * SUCH DAMAGE.
56 */
57
1/*
2 * Device driver optimized for the Symbios/LSI 53C896/53C895A/53C1010
3 * PCI-SCSI controllers.
4 *
5 * Copyright (C) 1999-2001 Gerard Roudier <groudier@free.fr>
6 *
7 * This driver also supports the following Symbios/LSI PCI-SCSI chips:
8 * 53C810A, 53C825A, 53C860, 53C875, 53C876, 53C885, 53C895,

--- 41 unchanged lines hidden (view full) ---

50 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
51 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
52 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
53 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
54 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
55 * SUCH DAMAGE.
56 */
57
58/* $FreeBSD: head/sys/dev/sym/sym_hipd.c 105215 2002-10-16 08:48:39Z phk $ */
58/* $FreeBSD: head/sys/dev/sym/sym_hipd.c 108470 2002-12-30 21:18:15Z schweikh $ */
59
60#define SYM_DRIVER_NAME "sym-1.6.5-20000902"
61
62/* #define SYM_DEBUG_GENERIC_SUPPORT */
63/* #define CAM_NEW_TRAN_CODE */
64
65#include <sys/param.h>
66

--- 3956 unchanged lines hidden (view full) ---

4023 * SIST or DSTAT. Since the chip starts stacking once the
4024 * SIP or DIP flag is set, there is a small window of time
4025 * where the stacking does not occur.
4026 *
4027 * Typically, multiple interrupt conditions may happen in
4028 * the following situations:
4029 *
4030 * - SCSI parity error + Phase mismatch (PAR|MA)
59
60#define SYM_DRIVER_NAME "sym-1.6.5-20000902"
61
62/* #define SYM_DEBUG_GENERIC_SUPPORT */
63/* #define CAM_NEW_TRAN_CODE */
64
65#include <sys/param.h>
66

--- 3956 unchanged lines hidden (view full) ---

4023 * SIST or DSTAT. Since the chip starts stacking once the
4024 * SIP or DIP flag is set, there is a small window of time
4025 * where the stacking does not occur.
4026 *
4027 * Typically, multiple interrupt conditions may happen in
4028 * the following situations:
4029 *
4030 * - SCSI parity error + Phase mismatch (PAR|MA)
4031 * When an parity error is detected in input phase
4031 * When a parity error is detected in input phase
4032 * and the device switches to msg-in phase inside a
4033 * block MOV.
4034 * - SCSI parity error + Unexpected disconnect (PAR|UDC)
4035 * When a stupid device does not want to handle the
4036 * recovery of an SCSI parity error.
4037 * - Some combinations of STO, PAR, UDC, ...
4038 * When using non compliant SCSI stuff, when user is
4039 * doing non compliant hot tampering on the BUS, when

--- 2073 unchanged lines hidden (view full) ---

6113 /*
6114 * Wide request message received.
6115 */
6116 if (DEBUG_FLAGS & DEBUG_NEGO) {
6117 sym_print_msg(cp, "wide msgin", np->msgin);
6118 };
6119
6120 /*
4032 * and the device switches to msg-in phase inside a
4033 * block MOV.
4034 * - SCSI parity error + Unexpected disconnect (PAR|UDC)
4035 * When a stupid device does not want to handle the
4036 * recovery of an SCSI parity error.
4037 * - Some combinations of STO, PAR, UDC, ...
4038 * When using non compliant SCSI stuff, when user is
4039 * doing non compliant hot tampering on the BUS, when

--- 2073 unchanged lines hidden (view full) ---

6113 /*
6114 * Wide request message received.
6115 */
6116 if (DEBUG_FLAGS & DEBUG_NEGO) {
6117 sym_print_msg(cp, "wide msgin", np->msgin);
6118 };
6119
6120 /*
6121 * Is it an request from the device?
6121 * Is it a request from the device?
6122 */
6123 if (INB (HS_PRT) == HS_NEGOTIATE) {
6124 OUTB (HS_PRT, HS_BUSY);
6125 if (cp->nego_status && cp->nego_status != NS_WIDE)
6126 goto reject_it;
6127 req = 0;
6128 }
6129

--- 4285 unchanged lines hidden ---
6122 */
6123 if (INB (HS_PRT) == HS_NEGOTIATE) {
6124 OUTB (HS_PRT, HS_BUSY);
6125 if (cp->nego_status && cp->nego_status != NS_WIDE)
6126 goto reject_it;
6127 req = 0;
6128 }
6129

--- 4285 unchanged lines hidden ---