xref: /illumos-gate/usr/src/uts/common/io/bnx/bnx_mm.h (revision eef4f27b)
1*eef4f27bSRobert Mustacchi /*
2*eef4f27bSRobert Mustacchi  * Copyright 2014-2017 Cavium, Inc.
3*eef4f27bSRobert Mustacchi  * The contents of this file are subject to the terms of the Common Development
4*eef4f27bSRobert Mustacchi  * and Distribution License, v.1,  (the "License").
5*eef4f27bSRobert Mustacchi  *
6*eef4f27bSRobert Mustacchi  * You may not use this file except in compliance with the License.
7*eef4f27bSRobert Mustacchi  *
8*eef4f27bSRobert Mustacchi  * You can obtain a copy of the License at available
9*eef4f27bSRobert Mustacchi  * at http://opensource.org/licenses/CDDL-1.0
10*eef4f27bSRobert Mustacchi  *
11*eef4f27bSRobert Mustacchi  * See the License for the specific language governing permissions and
12*eef4f27bSRobert Mustacchi  * limitations under the License.
13*eef4f27bSRobert Mustacchi  */
14*eef4f27bSRobert Mustacchi 
15*eef4f27bSRobert Mustacchi /*
16*eef4f27bSRobert Mustacchi  * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
17*eef4f27bSRobert Mustacchi  */
18*eef4f27bSRobert Mustacchi 
19*eef4f27bSRobert Mustacchi #ifndef	_BNX_MM_H
20*eef4f27bSRobert Mustacchi #define	_BNX_MM_H
21*eef4f27bSRobert Mustacchi 
22*eef4f27bSRobert Mustacchi #ifdef __cplusplus
23*eef4f27bSRobert Mustacchi extern "C" {
24*eef4f27bSRobert Mustacchi #endif
25*eef4f27bSRobert Mustacchi 
26*eef4f27bSRobert Mustacchi #include <sys/atomic.h>
27*eef4f27bSRobert Mustacchi 
28*eef4f27bSRobert Mustacchi #define	mm_read_barrier() membar_consumer()
29*eef4f27bSRobert Mustacchi #define	mm_write_barrier() membar_producer()
30*eef4f27bSRobert Mustacchi 
31*eef4f27bSRobert Mustacchi #include "lm.h"
32*eef4f27bSRobert Mustacchi #include "lm5706.h"
33*eef4f27bSRobert Mustacchi 
34*eef4f27bSRobert Mustacchi #define	FLUSHPOSTEDWRITES(_lmdevice)					\
35*eef4f27bSRobert Mustacchi 	{								\
36*eef4f27bSRobert Mustacchi 		volatile uint32_t dummy;				\
37*eef4f27bSRobert Mustacchi 		REG_RD((_lmdevice), pci_config.pcicfg_int_ack_cmd, &dummy); \
38*eef4f27bSRobert Mustacchi 	}
39*eef4f27bSRobert Mustacchi 
40*eef4f27bSRobert Mustacchi #ifdef __cplusplus
41*eef4f27bSRobert Mustacchi }
42*eef4f27bSRobert Mustacchi #endif
43*eef4f27bSRobert Mustacchi 
44*eef4f27bSRobert Mustacchi #endif	/* _BNX_MM_H */
45