diff options
author | govinda <none@none> | 2005-10-13 17:45:09 -0700 |
---|---|---|
committer | govinda <none@none> | 2005-10-13 17:45:09 -0700 |
commit | a195726fa33097e56cf1c25c31feddb827e140f0 (patch) | |
tree | 0d8a7063eb794f6d3697cb8cae5649c1363118a0 /usr/src/uts/common/io/pci_intr_lib.c | |
parent | 68ae3684389dbd334e0466478c9785b743f0b99b (diff) | |
download | illumos-gate-a195726fa33097e56cf1c25c31feddb827e140f0.tar.gz |
PSARC/2005/561 Obsolete DDI Interrupt Interfaces
6330182 Implement PSARC/2005/561 changes
6255855 ddi_intr_get_nintrs() returns DDI_SUCCESS for type = -1
6255872 ddi_intr_get_cap() returns 0 for capability structure
6256554 process_intr_ops() should check for pdip value
6280180 memory leaks in ddi_add_intr /ddi_intr_alloc
6320326 interrupt state should not be touched during interrupt re-routing
6320368 default px driver configuration should be MSIX
6320374 px driver should call ndi_ra_alloc() with proper arguments
6323264 px_err_reg_disable() access fire regsiters with incorrect csrbase
6328321 update sparc.fdbg for new DDI interrupt data structures
--HG--
rename : usr/src/uts/common/sys/nexusintr.h => deleted_files/usr/src/uts/common/sys/nexusintr.h
rename : usr/src/uts/sun4/sys/nexusintr_impl.h => deleted_files/usr/src/uts/sun4/sys/nexusintr_impl.h
Diffstat (limited to 'usr/src/uts/common/io/pci_intr_lib.c')
-rw-r--r-- | usr/src/uts/common/io/pci_intr_lib.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/usr/src/uts/common/io/pci_intr_lib.c b/usr/src/uts/common/io/pci_intr_lib.c index eaf8b6d761..b204daad70 100644 --- a/usr/src/uts/common/io/pci_intr_lib.c +++ b/usr/src/uts/common/io/pci_intr_lib.c @@ -947,11 +947,13 @@ pci_intx_get_cap(dev_info_t *dip, int *flagsp) DDI_INTR_NEXDBG((CE_CONT, "pci_intx_get_cap: " "command register is now 0x%x\n", cmdreg)); + *flagsp = DDI_INTR_FLAG_LEVEL; + if (cmdreg & PCI_COMM_INTX_DISABLE) { DDI_INTR_NEXDBG((CE_CONT, "pci_intx_get_cap: " "masking supported\n")); - *flagsp = (DDI_INTR_FLAG_MASKABLE | - DDI_INTR_FLAG_PENDING | DDI_INTR_FLAG_LEVEL); + *flagsp |= (DDI_INTR_FLAG_MASKABLE | + DDI_INTR_FLAG_PENDING); } /* Restore the device back to the original state and return */ |