Print this page
5045 use atomic_{inc,dec}_* instead of atomic_add_*


  34 #include <sys/modctl.h>
  35 #include <sys/sunddi.h>
  36 #include <sys/iommulib.h>
  37 #include <sys/sdt.h>
  38 
  39 #ifdef  __cplusplus
  40 extern "C" {
  41 #endif
  42 
  43 
  44 /* size of buffer used for ctlop reportdev */
  45 #define REPORTDEV_BUFSIZE       1024
  46 
  47 /* min and max interrupt vectors */
  48 #define VEC_MIN                 1
  49 #define VEC_MAX                 255
  50 
  51 /* atomic increment/decrement to keep track of outstanding binds, etc */
  52 #ifdef DEBUG
  53 #define ROOTNEX_DPROF_INC(addr)         atomic_inc_64(addr)
  54 #define ROOTNEX_DPROF_DEC(addr)         atomic_add_64(addr, -1)
  55 #define ROOTNEX_DPROBE1(name, type1, arg1) \
  56         DTRACE_PROBE1(name, type1, arg1)
  57 #define ROOTNEX_DPROBE2(name, type1, arg1, type2, arg2) \
  58         DTRACE_PROBE2(name, type1, arg1, type2, arg2)
  59 #define ROOTNEX_DPROBE3(name, type1, arg1, type2, arg2, type3, arg3) \
  60         DTRACE_PROBE3(name, type1, arg1, type2, arg2, type3, arg3)
  61 #define ROOTNEX_DPROBE4(name, type1, arg1, type2, arg2, type3, arg3, \
  62     type4, arg4) \
  63         DTRACE_PROBE4(name, type1, arg1, type2, arg2, type3, arg3, type4, arg4)
  64 #else
  65 #define ROOTNEX_DPROF_INC(addr)
  66 #define ROOTNEX_DPROF_DEC(addr)
  67 #define ROOTNEX_DPROBE1(name, type1, arg1)
  68 #define ROOTNEX_DPROBE2(name, type1, arg1, type2, arg2)
  69 #define ROOTNEX_DPROBE3(name, type1, arg1, type2, arg2, type3, arg3)
  70 #define ROOTNEX_DPROBE4(name, type1, arg1, type2, arg2, type3, arg3, \
  71     type4, arg4)
  72 #endif
  73 
  74 /* set in dmac_type to signify that this cookie uses the copy buffer */




  34 #include <sys/modctl.h>
  35 #include <sys/sunddi.h>
  36 #include <sys/iommulib.h>
  37 #include <sys/sdt.h>
  38 
  39 #ifdef  __cplusplus
  40 extern "C" {
  41 #endif
  42 
  43 
  44 /* size of buffer used for ctlop reportdev */
  45 #define REPORTDEV_BUFSIZE       1024
  46 
  47 /* min and max interrupt vectors */
  48 #define VEC_MIN                 1
  49 #define VEC_MAX                 255
  50 
  51 /* atomic increment/decrement to keep track of outstanding binds, etc */
  52 #ifdef DEBUG
  53 #define ROOTNEX_DPROF_INC(addr)         atomic_inc_64(addr)
  54 #define ROOTNEX_DPROF_DEC(addr)         atomic_dec_64(addr)
  55 #define ROOTNEX_DPROBE1(name, type1, arg1) \
  56         DTRACE_PROBE1(name, type1, arg1)
  57 #define ROOTNEX_DPROBE2(name, type1, arg1, type2, arg2) \
  58         DTRACE_PROBE2(name, type1, arg1, type2, arg2)
  59 #define ROOTNEX_DPROBE3(name, type1, arg1, type2, arg2, type3, arg3) \
  60         DTRACE_PROBE3(name, type1, arg1, type2, arg2, type3, arg3)
  61 #define ROOTNEX_DPROBE4(name, type1, arg1, type2, arg2, type3, arg3, \
  62     type4, arg4) \
  63         DTRACE_PROBE4(name, type1, arg1, type2, arg2, type3, arg3, type4, arg4)
  64 #else
  65 #define ROOTNEX_DPROF_INC(addr)
  66 #define ROOTNEX_DPROF_DEC(addr)
  67 #define ROOTNEX_DPROBE1(name, type1, arg1)
  68 #define ROOTNEX_DPROBE2(name, type1, arg1, type2, arg2)
  69 #define ROOTNEX_DPROBE3(name, type1, arg1, type2, arg2, type3, arg3)
  70 #define ROOTNEX_DPROBE4(name, type1, arg1, type2, arg2, type3, arg3, \
  71     type4, arg4)
  72 #endif
  73 
  74 /* set in dmac_type to signify that this cookie uses the copy buffer */