Mercurial > illumos > illumos-gate
changeset 3869:ef9a5cf3ad3d
6508934 IPL 6 should be used on x86 for IB HCA cards
author | rm78299 |
---|---|
date | Wed, 21 Mar 2007 09:06:02 -0700 |
parents | 6da9b9f37150 |
children | b083fcb4e287 |
files | usr/src/uts/common/io/pci_intr_lib.c |
diffstat | 1 files changed, 9 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/usr/src/uts/common/io/pci_intr_lib.c Wed Mar 21 02:02:39 2007 -0700 +++ b/usr/src/uts/common/io/pci_intr_lib.c Wed Mar 21 09:06:02 2007 -0700 @@ -19,7 +19,7 @@ * CDDL HEADER END */ /* - * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + * Copyright 2007 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ @@ -1107,15 +1107,15 @@ int pci_devclass_to_ipl(int class) { - int base_cl; int ipl; - - base_cl = (class & 0xff0000) >> 16; + int base_class = (class & 0xff0000) >> 16; + int sub_class = (class & 0xff00) >> 8; /* * Use the class code values to construct an ipl for the device. */ - switch (base_cl) { + + switch (base_class) { default: case PCI_CLASS_NONE: ipl = 1; @@ -1129,6 +1129,9 @@ case PCI_CLASS_DISPLAY: ipl = 0x9; break; + case PCI_CLASS_SERIALBUS: + ipl = (sub_class == PCI_SERIAL_IB) ? 6 : 1; + break; /* * for high priority interrupt handlers, use level 12 * as the highest for device drivers @@ -1143,6 +1146,7 @@ ipl = 0xc; break; } + return (ipl); }