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
1 1 /*
2 2 * CDDL HEADER START
3 3 *
4 4 * The contents of this file are subject to the terms of the
5 5 * Common Development and Distribution License, Version 1.0 only
6 6 * (the "License"). You may not use this file except in compliance
7 7 * with the License.
8 8 *
9 9 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10 10 * or http://www.opensolaris.org/os/licensing.
11 11 * See the License for the specific language governing permissions
12 12 * and limitations under the License.
13 13 *
14 14 * When distributing Covered Code, include this CDDL HEADER in each
15 15 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16 16 * If applicable, add the following below this CDDL HEADER, with the
17 17 * fields enclosed by brackets "[]" replaced with your own identifying
18 18 * information: Portions Copyright [yyyy] [name of copyright owner]
19 19 *
↓ 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