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/sys/ddi_intr_impl.h | |
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/sys/ddi_intr_impl.h')
-rw-r--r-- | usr/src/uts/common/sys/ddi_intr_impl.h | 20 |
1 files changed, 5 insertions, 15 deletions
diff --git a/usr/src/uts/common/sys/ddi_intr_impl.h b/usr/src/uts/common/sys/ddi_intr_impl.h index f741709d09..554eb32da1 100644 --- a/usr/src/uts/common/sys/ddi_intr_impl.h +++ b/usr/src/uts/common/sys/ddi_intr_impl.h @@ -76,7 +76,7 @@ typedef struct ddi_intr_handle_impl { dev_info_t *ih_dip; /* dip associated with handle */ uint16_t ih_type; /* interrupt type being used */ ushort_t ih_inum; /* interrupt number */ - ushort_t ih_vector; /* vector number */ + uint32_t ih_vector; /* vector number */ uint16_t ih_ver; /* Version */ uint_t ih_state; /* interrupt handle state */ uint_t ih_cap; /* interrupt capabilities */ @@ -115,6 +115,9 @@ typedef struct ddi_intr_handle_impl { #define DDI_INTR_IS_MSI_OR_MSIX(type) \ ((type) == DDI_INTR_TYPE_MSI || (type) == DDI_INTR_TYPE_MSIX) +#define DDI_INTR_SUP_TYPES DDI_INTR_TYPE_FIXED|DDI_INTR_TYPE_MSI|\ + DDI_INTR_TYPE_MSIX + /* * One such data structure is allocated per ddi_soft_intr_handle * This is the incore copy of the softint info. @@ -190,8 +193,6 @@ typedef struct devinfo_intr { (DEVI(dip)->devi_ops->devo_bus_ops->busops_rev >= BUSO_REV_9) && \ (DEVI(dip)->devi_ops->devo_bus_ops->bus_intr_op)) -int i_ddi_handle_intr_ops(dev_info_t *dip, dev_info_t *rdip, - ddi_intr_op_t op, ddi_intr_handle_impl_t *hdlp, void *result); int i_ddi_intr_ops(dev_info_t *dip, dev_info_t *rdip, ddi_intr_op_t op, ddi_intr_handle_impl_t *hdlp, void *result); @@ -212,9 +213,9 @@ void i_ddi_intr_set_supported_nintrs(dev_info_t *dip, int nintrs); uint_t i_ddi_intr_get_current_nintrs(dev_info_t *dip); void i_ddi_intr_set_current_nintrs(dev_info_t *dip, int nintrs); +ddi_intr_handle_t *i_ddi_get_intr_handle(dev_info_t *dip, int inum); void i_ddi_set_intr_handle(dev_info_t *dip, int inum, ddi_intr_handle_t *hdlp); -ddi_intr_handle_t *i_ddi_get_intr_handle(dev_info_t *dip, int inum); ddi_intr_msix_t *i_ddi_get_msix(dev_info_t *dip); void i_ddi_set_msix(dev_info_t *dip, ddi_intr_msix_t *msix_p); @@ -222,8 +223,6 @@ void i_ddi_set_msix(dev_info_t *dip, ddi_intr_msix_t *msix_p); int32_t i_ddi_get_intr_weight(dev_info_t *); int32_t i_ddi_set_intr_weight(dev_info_t *, int32_t); -int i_ddi_get_nintrs(dev_info_t *dip); - #define DDI_INTR_ASSIGN_HDLR_N_ARGS(hdlp, func, arg1, arg2) \ hdlp->ih_cb_func = func; \ hdlp->ih_cb_arg1 = arg1; \ @@ -252,15 +251,6 @@ struct intrspec { }; #ifdef _KERNEL -/* - * This structure is allocated by i_ddi_add_softintr and its address is used - * as a cookie passed back to the caller to be used later by - * i_ddi_remove_softintr - */ -struct soft_intrspec { - struct dev_info *si_devi; /* records dev_info of caller */ - struct intrspec si_intrspec; /* and the intrspec */ -}; /* * NOTE: |