net/iavf: enable IRQ mapping configuration for large VF
[dpdk.git] / drivers / crypto / bcmfs / hw / bcmfs_rm_common.h
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright(c) 2020 Broadcom
3  * All rights reserved.
4  */
5
6 #ifndef _BCMFS_RM_COMMON_H_
7 #define _BCMFS_RM_COMMON_H_
8
9 #include <rte_byteorder.h>
10 #include <rte_common.h>
11 #include <rte_io.h>
12
13 /* 32-bit MMIO register write */
14 #define FS_MMIO_WRITE32(value, addr) rte_write32_relaxed((value), (addr))
15 /* 32-bit MMIO register read */
16 #define FS_MMIO_READ32(addr) rte_read32_relaxed((addr))
17
18 /* Descriptor helper macros */
19 #define FS_DESC_DEC(d, s, m)                    (((d) >> (s)) & (m))
20
21 #define FS_RING_BD_ALIGN_CHECK(addr)                    \
22                         (!((addr) & ((0x1 << FS_RING_BD_ALIGN_ORDER) - 1)))
23
24 #define cpu_to_le64     rte_cpu_to_le_64
25 #define cpu_to_le32     rte_cpu_to_le_32
26 #define cpu_to_le16     rte_cpu_to_le_16
27
28 #define le64_to_cpu     rte_le_to_cpu_64
29 #define le32_to_cpu     rte_le_to_cpu_32
30 #define le16_to_cpu     rte_le_to_cpu_16
31
32 #define lower_32_bits(x) ((uint32_t)(x))
33 #define upper_32_bits(x) ((uint32_t)(((x) >> 16) >> 16))
34
35 uint64_t
36 rm_build_desc(uint64_t val, uint32_t shift,
37            uint64_t mask);
38 uint64_t
39 rm_read_desc(void *desc_ptr);
40
41 void
42 rm_write_desc(void *desc_ptr, uint64_t desc);
43
44 uint32_t
45 rm_cmpl_desc_to_reqid(uint64_t cmpl_desc);
46
47 int
48 rm_cmpl_desc_to_error(uint64_t cmpl_desc);
49
50 #endif /* _BCMFS_RM_COMMON_H_ */