forked from ~ljy/RK356X_SDK_RELEASE

hc
2023-12-08 01573e231f18eb2d99162747186f59511f56b64d
kernel/drivers/net/ethernet/mellanox/mlx5/core/en_accel/tls_rxtx.h
....@@ -34,19 +34,47 @@
3434 #ifndef __MLX5E_TLS_RXTX_H__
3535 #define __MLX5E_TLS_RXTX_H__
3636
37
+#include "accel/accel.h"
38
+#include "en_accel/ktls_txrx.h"
39
+
3740 #ifdef CONFIG_MLX5_EN_TLS
3841
3942 #include <linux/skbuff.h>
4043 #include "en.h"
44
+#include "en/txrx.h"
4145
42
-struct sk_buff *mlx5e_tls_handle_tx_skb(struct net_device *netdev,
43
- struct mlx5e_txqsq *sq,
44
- struct sk_buff *skb,
45
- struct mlx5e_tx_wqe **wqe,
46
- u16 *pi);
46
+u16 mlx5e_tls_get_stop_room(struct mlx5e_txqsq *sq);
4747
48
-void mlx5e_tls_handle_rx_skb(struct net_device *netdev, struct sk_buff *skb,
49
- u32 *cqe_bcnt);
48
+bool mlx5e_tls_handle_tx_skb(struct net_device *netdev, struct mlx5e_txqsq *sq,
49
+ struct sk_buff *skb, struct mlx5e_accel_tx_tls_state *state);
50
+void mlx5e_tls_handle_tx_wqe(struct mlx5e_txqsq *sq, struct mlx5_wqe_ctrl_seg *cseg,
51
+ struct mlx5e_accel_tx_tls_state *state);
52
+
53
+void mlx5e_tls_handle_rx_skb_metadata(struct mlx5e_rq *rq, struct sk_buff *skb,
54
+ u32 *cqe_bcnt);
55
+
56
+static inline void
57
+mlx5e_tls_handle_rx_skb(struct mlx5e_rq *rq, struct sk_buff *skb,
58
+ struct mlx5_cqe64 *cqe, u32 *cqe_bcnt)
59
+{
60
+ if (unlikely(get_cqe_tls_offload(cqe))) /* cqe bit indicates a TLS device */
61
+ return mlx5e_ktls_handle_rx_skb(rq, skb, cqe, cqe_bcnt);
62
+
63
+ if (unlikely(test_bit(MLX5E_RQ_STATE_FPGA_TLS, &rq->state) && is_metadata_hdr_valid(skb)))
64
+ return mlx5e_tls_handle_rx_skb_metadata(rq, skb, cqe_bcnt);
65
+}
66
+
67
+#else
68
+
69
+static inline bool
70
+mlx5e_accel_is_tls(struct mlx5_cqe64 *cqe, struct sk_buff *skb) { return false; }
71
+static inline void
72
+mlx5e_tls_handle_rx_skb(struct mlx5e_rq *rq, struct sk_buff *skb,
73
+ struct mlx5_cqe64 *cqe, u32 *cqe_bcnt) {}
74
+static inline u16 mlx5e_tls_get_stop_room(struct mlx5e_txqsq *sq)
75
+{
76
+ return 0;
77
+}
5078
5179 #endif /* CONFIG_MLX5_EN_TLS */
5280