diff options
author | Todd C. Miller <millert@cvs.openbsd.org> | 1997-09-07 03:36:44 +0000 |
---|---|---|
committer | Todd C. Miller <millert@cvs.openbsd.org> | 1997-09-07 03:36:44 +0000 |
commit | 6b1535a078ecb7d6193bb483a0f8811dcbf05b0c (patch) | |
tree | 0ec83697c328fc5da4f6e605371f84ae4ed48640 /sys/dev/pci/ncr.c | |
parent | 043c223315b05587cf5d8a7bacc594b717306fbf (diff) |
From NetBSD:
Add QUIRK_NOTAGS quirk type and quirk for HP C372.
Print quirks (other than QUIRK_NOMSG) for a device when it is config'd.
Diffstat (limited to 'sys/dev/pci/ncr.c')
-rw-r--r-- | sys/dev/pci/ncr.c | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/sys/dev/pci/ncr.c b/sys/dev/pci/ncr.c index 0fb24d50f18..157f0478f7e 100644 --- a/sys/dev/pci/ncr.c +++ b/sys/dev/pci/ncr.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ncr.c,v 1.29 1997/04/30 16:26:34 millert Exp $ */ +/* $OpenBSD: ncr.c,v 1.30 1997/09/07 03:36:43 millert Exp $ */ /* $NetBSD: ncr.c,v 1.56 1997/03/04 21:42:34 mycroft Exp $ */ /************************************************************************** @@ -454,6 +454,7 @@ #define QUIRK_NOMSG (0x02) #define QUIRK_NOSYNC (0x10) #define QUIRK_NOWIDE16 (0x20) +#define QUIRK_NOTAGS (0x40) #define QUIRK_UPDATE (0x80) /*========================================================== @@ -1356,7 +1357,7 @@ static void ncr_attach (pcici_t tag, int unit); #if 0 static char ident[] = - "\n$OpenBSD: ncr.c,v 1.29 1997/04/30 16:26:34 millert Exp $\n"; + "\n$OpenBSD: ncr.c,v 1.30 1997/09/07 03:36:43 millert Exp $\n"; #endif static const u_long ncr_version = NCR_VERSION * 11 @@ -3953,12 +3954,10 @@ static INT32 ncr_start (struct scsi_xfer * xp) #else tp->quirks = ncr_lookup ((char*) &tp->inqdata[0]); #endif -#ifndef NCR_GETCC_WITHMSG - if (tp->quirks) { + if (tp->quirks & ~QUIRK_NOMSG) { PRINT_ADDR(xp); printf ("quirks=%x.\n", tp->quirks); }; -#endif }; /*--------------------------------------------------- @@ -4907,10 +4906,8 @@ static void ncr_setwide (ncb_p np, ccb_p cp, u_char wide) ** Bells and whistles ;-) */ PRINT_ADDR(xp); - if (scntl3 & EWS) - printf ("WIDE SCSI (16 bit) enabled.\n"); - else - printf ("WIDE SCSI disabled.\n"); + printf ("WIDE SCSI %sabled\n", + (scntl3 & EWS) ? "(16 bit) en" : "dis"); /* ** set actual value and sync_status @@ -4962,6 +4959,9 @@ static void ncr_settags (tcb_p tp, lcb_p lp) if ((tp->inqdata[7] & INQ7_QUEUE) == 0) { tp->usrtags=0; } + if (tp->quirks & QUIRK_NOTAGS) { + tp->usrtags = 0; + } if (tp->usrtags && ((tp->inqdata[0] & 0x1f) == 0x00)) { reqtags = tp->usrtags; if (lp->actlink <= 1) @@ -6973,6 +6973,7 @@ struct table_entry { static struct table_entry device_tab[] = { #ifdef NCR_GETCC_WITHMSG + {"HP ", "C372", "", QUIRK_NOTAGS|QUIRK_NOMSG}, {"", "", "", QUIRK_NOMSG}, {"SONY", "SDT-5000", "3.17", QUIRK_NOMSG}, {"WangDAT", "Model 2600", "01.7", QUIRK_NOMSG}, |