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

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/sun4u/sys/pci/pci_axq.h
          +++ new/usr/src/uts/sun4u/sys/pci/pci_axq.h
↓ open down ↓ 19 lines elided ↑ open up ↑
  20   20   * CDDL HEADER END
  21   21   */
  22   22  /*
  23   23   * Copyright (c) 2001 by Sun Microsystems, Inc.
  24   24   * All rights reserved.
  25   25   */
  26   26  
  27   27  #ifndef _SYS_PCI_AXQ_H
  28   28  #define _SYS_PCI_AXQ_H
  29   29  
  30      -#pragma ident   "%Z%%M% %I%     %E% SMI"
  31      -
  32   30  #include <sys/types.h>
  33   31  #include <sys/atomic.h>
  34   32  
  35   33  #ifdef  __cplusplus
  36   34  extern "C" {
  37   35  #endif
  38   36  
  39   37  #define PIO_LIMIT_ENTER(p)      { \
  40   38                                  int n;\
  41   39                                  for (;;) {\
  42   40                                          do {\
  43   41                                                  n = p->pbm_pio_counter;\
  44   42                                          } while (n <= 0);\
  45      -                                        if (atomic_add_32_nv(\
  46      -                                            (uint_t *)&p->pbm_pio_counter, -1)\
       43 +                                        if (atomic_dec_32_nv(\
       44 +                                            (uint_t *)&p->pbm_pio_counter)\
  47   45                                              == (n - 1))\
  48   46                                                  break;\
  49      -                                        atomic_add_32(\
  50      -                                            (uint_t *)&p->pbm_pio_counter, 1);\
       47 +                                        atomic_inc_32(\
       48 +                                            (uint_t *)&p->pbm_pio_counter);\
  51   49                                  }\
  52   50                                  }
  53   51  
  54   52  
  55   53  
  56      -#define PIO_LIMIT_EXIT(p)       atomic_add_32((uint_t *)&p->pbm_pio_counter, 1);
       54 +#define PIO_LIMIT_EXIT(p)       atomic_inc_32((uint_t *)&p->pbm_pio_counter);
  57   55  
  58   56  extern void pci_axq_setup(ddi_map_req_t *mp, pbm_t *pbm_p);
  59   57  extern void pci_axq_pio_limit(pbm_t *pbm_p);
  60   58  
  61   59  #ifdef  __cplusplus
  62   60  }
  63   61  #endif
  64   62  
  65   63  #endif  /* _SYS_PCI_AXQ_H */
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX