xref: /trueos/sys/dev/vxge/vxgehal/vxgehal-swapper.h (revision 8fe640108653f13042f1b15213769e338aa524f6)
1 /*-
2  * Copyright(c) 2002-2011 Exar Corp.
3  * All rights reserved.
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification are permitted provided the following conditions are met:
7  *
8  *    1. Redistributions of source code must retain the above copyright notice,
9  *       this list of conditions and the following disclaimer.
10  *
11  *    2. Redistributions in binary form must reproduce the above copyright
12  *       notice, this list of conditions and the following disclaimer in the
13  *       documentation and/or other materials provided with the distribution.
14  *
15  *    3. Neither the name of the Exar Corporation nor the names of its
16  *       contributors may be used to endorse or promote products derived from
17  *       this software without specific prior written permission.
18  *
19  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
20  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
23  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
24  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
27  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29  * POSSIBILITY OF SUCH DAMAGE.
30  */
31 /*$FreeBSD$*/
32 
33 #ifndef	VXGE_HAL_SWAPPER_H
34 #define	VXGE_HAL_SWAPPER_H
35 
36 __EXTERN_BEGIN_DECLS
37 
38 #define	VXGE_HAL_SWAPPER_INITIAL_VALUE			0x0123456789abcdefULL
39 #define	VXGE_HAL_SWAPPER_BYTE_SWAPPED			0xefcdab8967452301ULL
40 #define	VXGE_HAL_SWAPPER_BIT_FLIPPED			0x80c4a2e691d5b3f7ULL
41 #define	VXGE_HAL_SWAPPER_BYTE_SWAPPED_BIT_FLIPPED	0xf7b3d591e6a2c480ULL
42 
43 #define	VXGE_HAL_SWAPPER_READ_BYTE_SWAP_ENABLE		0xFFFFFFFFFFFFFFFFULL
44 #define	VXGE_HAL_SWAPPER_READ_BYTE_SWAP_DISABLE		0x0000000000000000ULL
45 
46 #define	VXGE_HAL_SWAPPER_READ_BIT_FLAP_ENABLE		0xFFFFFFFFFFFFFFFFULL
47 #define	VXGE_HAL_SWAPPER_READ_BIT_FLAP_DISABLE		0x0000000000000000ULL
48 
49 #define	VXGE_HAL_SWAPPER_WRITE_BYTE_SWAP_ENABLE		0xFFFFFFFFFFFFFFFFULL
50 #define	VXGE_HAL_SWAPPER_WRITE_BYTE_SWAP_DISABLE	0x0000000000000000ULL
51 
52 #define	VXGE_HAL_SWAPPER_WRITE_BIT_FLAP_ENABLE		0xFFFFFFFFFFFFFFFFULL
53 #define	VXGE_HAL_SWAPPER_WRITE_BIT_FLAP_DISABLE		0x0000000000000000ULL
54 
55 vxge_hal_status_e
56 __hal_legacy_swapper_set(
57     pci_dev_h pdev,
58     pci_reg_h regh,
59     vxge_hal_legacy_reg_t *legacy_reg);
60 vxge_hal_status_e
61 __hal_vpath_swapper_set(
62     vxge_hal_device_t *hldev,
63     u32 vp_id);
64 
65 vxge_hal_status_e
66 __hal_kdfc_swapper_set(
67     vxge_hal_device_t *hldev,
68     u32 vp_id);
69 
70 __EXTERN_END_DECLS
71 
72 #endif	/* VXGE_HAL_SWAPPER_H */
73