summaryrefslogtreecommitdiff
path: root/sys/dev/pci/ncr.c
diff options
context:
space:
mode:
authorTodd C. Miller <millert@cvs.openbsd.org>1997-09-07 03:36:44 +0000
committerTodd C. Miller <millert@cvs.openbsd.org>1997-09-07 03:36:44 +0000
commit6b1535a078ecb7d6193bb483a0f8811dcbf05b0c (patch)
tree0ec83697c328fc5da4f6e605371f84ae4ed48640 /sys/dev/pci/ncr.c
parent043c223315b05587cf5d8a7bacc594b717306fbf (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.c19
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},