Update to v5.14 kernel headers.

Kernel headers coming from:

Git: https://android.googlesource.com/kernel/common/
Branch: android-mainline
Tag: android-mainline-5.14

Test: Builds, bionic unit tests.
Change-Id: Iff3424da9fbf7ae89ebeb6daabb34c4aa650901f
diff --git a/libc/kernel/uapi/rdma/bnxt_re-abi.h b/libc/kernel/uapi/rdma/bnxt_re-abi.h
index 3e45dc3..62ba685 100644
--- a/libc/kernel/uapi/rdma/bnxt_re-abi.h
+++ b/libc/kernel/uapi/rdma/bnxt_re-abi.h
@@ -24,7 +24,13 @@
 #define BNXT_RE_CHIP_ID0_CHIP_REV_SFT 0x10
 #define BNXT_RE_CHIP_ID0_CHIP_MET_SFT 0x18
 enum {
-  BNXT_RE_UCNTX_CMASK_HAVE_CCTX = 0x1ULL
+  BNXT_RE_UCNTX_CMASK_HAVE_CCTX = 0x1ULL,
+  BNXT_RE_UCNTX_CMASK_HAVE_MODE = 0x02ULL,
+};
+enum bnxt_re_wqe_mode {
+  BNXT_QPLIB_WQE_MODE_STATIC = 0x00,
+  BNXT_QPLIB_WQE_MODE_VARIABLE = 0x01,
+  BNXT_QPLIB_WQE_MODE_INVALID = 0x02,
 };
 struct bnxt_re_uctx_resp {
   __u32 dev_id;
@@ -36,6 +42,8 @@
   __aligned_u64 comp_mask;
   __u32 chip_id0;
   __u32 chip_id1;
+  __u32 mode;
+  __u32 rsvd1;
 };
 struct bnxt_re_pd_resp {
   __u32 pdid;
diff --git a/libc/kernel/uapi/rdma/i40iw-abi.h b/libc/kernel/uapi/rdma/i40iw-abi.h
deleted file mode 100644
index 60a17f5..0000000
--- a/libc/kernel/uapi/rdma/i40iw-abi.h
+++ /dev/null
@@ -1,75 +0,0 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
-#ifndef I40IW_ABI_H
-#define I40IW_ABI_H
-#include <linux/types.h>
-#define I40IW_ABI_VER 5
-struct i40iw_alloc_ucontext_req {
-  __u32 reserved32;
-  __u8 userspace_ver;
-  __u8 reserved8[3];
-};
-struct i40iw_alloc_ucontext_resp {
-  __u32 max_pds;
-  __u32 max_qps;
-  __u32 wq_size;
-  __u8 kernel_ver;
-  __u8 reserved[3];
-};
-struct i40iw_alloc_pd_resp {
-  __u32 pd_id;
-  __u8 reserved[4];
-};
-struct i40iw_create_cq_req {
-  __aligned_u64 user_cq_buffer;
-  __aligned_u64 user_shadow_area;
-};
-struct i40iw_create_qp_req {
-  __aligned_u64 user_wqe_buffers;
-  __aligned_u64 user_compl_ctx;
-  __aligned_u64 user_sq_phb;
-  __aligned_u64 user_rq_phb;
-};
-enum i40iw_memreg_type {
-  IW_MEMREG_TYPE_MEM = 0x0000,
-  IW_MEMREG_TYPE_QP = 0x0001,
-  IW_MEMREG_TYPE_CQ = 0x0002,
-};
-struct i40iw_mem_reg_req {
-  __u16 reg_type;
-  __u16 cq_pages;
-  __u16 rq_pages;
-  __u16 sq_pages;
-};
-struct i40iw_create_cq_resp {
-  __u32 cq_id;
-  __u32 cq_size;
-  __u32 mmap_db_index;
-  __u32 reserved;
-};
-struct i40iw_create_qp_resp {
-  __u32 qp_id;
-  __u32 actual_sq_size;
-  __u32 actual_rq_size;
-  __u32 i40iw_drv_opt;
-  __u16 push_idx;
-  __u8 lsmm;
-  __u8 rsvd2;
-};
-#endif
diff --git a/libc/kernel/uapi/rdma/ib_user_ioctl_verbs.h b/libc/kernel/uapi/rdma/ib_user_ioctl_verbs.h
index c443738..3b94907 100644
--- a/libc/kernel/uapi/rdma/ib_user_ioctl_verbs.h
+++ b/libc/kernel/uapi/rdma/ib_user_ioctl_verbs.h
@@ -181,6 +181,7 @@
   RDMA_DRIVER_OCRDMA,
   RDMA_DRIVER_NES,
   RDMA_DRIVER_I40IW,
+  RDMA_DRIVER_IRDMA = RDMA_DRIVER_I40IW,
   RDMA_DRIVER_VMW_PVRDMA,
   RDMA_DRIVER_QEDR,
   RDMA_DRIVER_HNS,
diff --git a/libc/kernel/uapi/rdma/ib_user_mad.h b/libc/kernel/uapi/rdma/ib_user_mad.h
index dadb590..04b9f08 100644
--- a/libc/kernel/uapi/rdma/ib_user_mad.h
+++ b/libc/kernel/uapi/rdma/ib_user_mad.h
@@ -61,7 +61,7 @@
 };
 struct ib_user_mad {
   struct ib_user_mad_hdr hdr;
-  __aligned_u64 data[0];
+  __aligned_u64 data[];
 };
 typedef unsigned long __attribute__((aligned(4))) packed_ulong;
 #define IB_USER_MAD_LONGS_PER_METHOD_MASK (128 / (8 * sizeof(long)))
diff --git a/libc/kernel/uapi/rdma/irdma-abi.h b/libc/kernel/uapi/rdma/irdma-abi.h
new file mode 100644
index 0000000..b6840cf
--- /dev/null
+++ b/libc/kernel/uapi/rdma/irdma-abi.h
@@ -0,0 +1,103 @@
+/****************************************************************************
+ ****************************************************************************
+ ***
+ ***   This header was automatically generated from a Linux kernel header
+ ***   of the same name, to make information necessary for userspace to
+ ***   call into the kernel available to libc.  It contains only constants,
+ ***   structures, and macros generated from the original header, and thus,
+ ***   contains no copyrightable information.
+ ***
+ ***   To edit the content of this header, modify the corresponding
+ ***   source file (e.g. under external/kernel-headers/original/) then
+ ***   run bionic/libc/kernel/tools/update_all.py
+ ***
+ ***   Any manual change here will be lost the next time this script will
+ ***   be run. You've been warned!
+ ***
+ ****************************************************************************
+ ****************************************************************************/
+#ifndef IRDMA_ABI_H
+#define IRDMA_ABI_H
+#include <linux/types.h>
+#define IRDMA_ABI_VER 5
+enum irdma_memreg_type {
+  IRDMA_MEMREG_TYPE_MEM = 0,
+  IRDMA_MEMREG_TYPE_QP = 1,
+  IRDMA_MEMREG_TYPE_CQ = 2,
+};
+struct irdma_alloc_ucontext_req {
+  __u32 rsvd32;
+  __u8 userspace_ver;
+  __u8 rsvd8[3];
+};
+struct irdma_alloc_ucontext_resp {
+  __u32 max_pds;
+  __u32 max_qps;
+  __u32 wq_size;
+  __u8 kernel_ver;
+  __u8 rsvd[3];
+  __aligned_u64 feature_flags;
+  __aligned_u64 db_mmap_key;
+  __u32 max_hw_wq_frags;
+  __u32 max_hw_read_sges;
+  __u32 max_hw_inline;
+  __u32 max_hw_rq_quanta;
+  __u32 max_hw_wq_quanta;
+  __u32 min_hw_cq_size;
+  __u32 max_hw_cq_size;
+  __u16 max_hw_sq_chunk;
+  __u8 hw_rev;
+  __u8 rsvd2;
+};
+struct irdma_alloc_pd_resp {
+  __u32 pd_id;
+  __u8 rsvd[4];
+};
+struct irdma_resize_cq_req {
+  __aligned_u64 user_cq_buffer;
+};
+struct irdma_create_cq_req {
+  __aligned_u64 user_cq_buf;
+  __aligned_u64 user_shadow_area;
+};
+struct irdma_create_qp_req {
+  __aligned_u64 user_wqe_bufs;
+  __aligned_u64 user_compl_ctx;
+};
+struct irdma_mem_reg_req {
+  __u16 reg_type;
+  __u16 cq_pages;
+  __u16 rq_pages;
+  __u16 sq_pages;
+};
+struct irdma_modify_qp_req {
+  __u8 sq_flush;
+  __u8 rq_flush;
+  __u8 rsvd[6];
+};
+struct irdma_create_cq_resp {
+  __u32 cq_id;
+  __u32 cq_size;
+};
+struct irdma_create_qp_resp {
+  __u32 qp_id;
+  __u32 actual_sq_size;
+  __u32 actual_rq_size;
+  __u32 irdma_drv_opt;
+  __u16 push_idx;
+  __u8 lsmm;
+  __u8 rsvd;
+  __u32 qp_caps;
+};
+struct irdma_modify_qp_resp {
+  __aligned_u64 push_wqe_mmap_key;
+  __aligned_u64 push_db_mmap_key;
+  __u16 push_offset;
+  __u8 push_valid;
+  __u8 rsvd[5];
+};
+struct irdma_create_ah_resp {
+  __u32 ah_id;
+  __u8 rsvd[4];
+};
+#endif
diff --git a/libc/kernel/uapi/rdma/mlx5-abi.h b/libc/kernel/uapi/rdma/mlx5-abi.h
index 59a9f53..292c258 100644
--- a/libc/kernel/uapi/rdma/mlx5-abi.h
+++ b/libc/kernel/uapi/rdma/mlx5-abi.h
@@ -67,6 +67,8 @@
   MLX5_IB_ALLOC_UCONTEXT_RESP_MASK_CORE_CLOCK_OFFSET = 1UL << 0,
   MLX5_IB_ALLOC_UCONTEXT_RESP_MASK_DUMP_FILL_MKEY = 1UL << 1,
   MLX5_IB_ALLOC_UCONTEXT_RESP_MASK_ECE = 1UL << 2,
+  MLX5_IB_ALLOC_UCONTEXT_RESP_MASK_SQD2RTS = 1UL << 3,
+  MLX5_IB_ALLOC_UCONTEXT_RESP_MASK_REAL_TIME_TS = 1UL << 4,
 };
 enum mlx5_user_cmds_supp_uhw {
   MLX5_USER_CMDS_SUPP_UHW_QUERY_DEVICE = 1 << 0,
@@ -193,6 +195,7 @@
 enum mlx5_ib_create_cq_flags {
   MLX5_IB_CREATE_CQ_FLAGS_CQE_128B_PAD = 1 << 0,
   MLX5_IB_CREATE_CQ_FLAGS_UAR_PAGE_INDEX = 1 << 1,
+  MLX5_IB_CREATE_CQ_FLAGS_REAL_TIME_TS = 1 << 2,
 };
 struct mlx5_ib_create_cq {
   __aligned_u64 buf_addr;
diff --git a/libc/kernel/uapi/rdma/rdma_user_rxe.h b/libc/kernel/uapi/rdma/rdma_user_rxe.h
index 9fd21d7..098bf6c 100644
--- a/libc/kernel/uapi/rdma/rdma_user_rxe.h
+++ b/libc/kernel/uapi/rdma/rdma_user_rxe.h
@@ -78,13 +78,13 @@
       __u16 pkey_index;
     } ud;
     struct {
-      union {
-        struct ib_mr * mr;
-        __aligned_u64 reserved;
-      };
-      __u32 key;
+      __aligned_u64 addr;
+      __aligned_u64 length;
+      __u32 mr_lkey;
+      __u32 mw_rkey;
+      __u32 rkey;
       __u32 access;
-    } reg;
+    } mw;
   } wr;
 };
 struct rxe_sge {