hc
2023-12-11 d2ccde1c8e90d38cee87a1b0309ad2827f3fd30d
kernel/drivers/net/ethernet/huawei/hinic/hinic_hw_cmdq.h
....@@ -1,16 +1,7 @@
1
+/* SPDX-License-Identifier: GPL-2.0-only */
12 /*
23 * Huawei HiNIC PCI Express Linux driver
34 * Copyright(c) 2017 Huawei Technologies Co., Ltd
4
- *
5
- * This program is free software; you can redistribute it and/or modify it
6
- * under the terms and conditions of the GNU General Public License,
7
- * version 2, as published by the Free Software Foundation.
8
- *
9
- * This program is distributed in the hope it will be useful, but WITHOUT
10
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12
- * for more details.
13
- *
145 */
156
167 #ifndef HINIC_CMDQ_H
....@@ -40,6 +31,10 @@
4031 (((u64)(val) & HINIC_CMDQ_CTXT_##member##_MASK) \
4132 << HINIC_CMDQ_CTXT_##member##_SHIFT)
4233
34
+#define HINIC_CMDQ_CTXT_PAGE_INFO_GET(val, member) \
35
+ (((u64)(val) >> HINIC_CMDQ_CTXT_##member##_SHIFT) \
36
+ & HINIC_CMDQ_CTXT_##member##_MASK)
37
+
4338 #define HINIC_CMDQ_CTXT_PAGE_INFO_CLEAR(val, member) \
4439 ((val) & (~((u64)HINIC_CMDQ_CTXT_##member##_MASK \
4540 << HINIC_CMDQ_CTXT_##member##_SHIFT)))
....@@ -53,6 +48,10 @@
5348 #define HINIC_CMDQ_CTXT_BLOCK_INFO_SET(val, member) \
5449 (((u64)(val) & HINIC_CMDQ_CTXT_##member##_MASK) \
5550 << HINIC_CMDQ_CTXT_##member##_SHIFT)
51
+
52
+#define HINIC_CMDQ_CTXT_BLOCK_INFO_GET(val, member) \
53
+ (((u64)(val) >> HINIC_CMDQ_CTXT_##member##_SHIFT) \
54
+ & HINIC_CMDQ_CTXT_##member##_MASK)
5655
5756 #define HINIC_CMDQ_CTXT_BLOCK_INFO_CLEAR(val, member) \
5857 ((val) & (~((u64)HINIC_CMDQ_CTXT_##member##_MASK \
....@@ -131,7 +130,7 @@
131130
132131 u16 func_idx;
133132 u8 cmdq_type;
134
- u8 rsvd1[1];
133
+ u8 ppf_idx;
135134
136135 u8 rsvd2[4];
137136
....@@ -139,6 +138,8 @@
139138 };
140139
141140 struct hinic_cmdq {
141
+ struct hinic_hwdev *hwdev;
142
+
142143 struct hinic_wq *wq;
143144
144145 enum hinic_cmdq_type cmdq_type;