From: sleybo Date: Wed, 7 Feb 2007 11:26:05 +0000 (+0000) Subject: [MTHCA] merge kernel and user xxx_wqe.h files into one mthca_wqe.h X-Git-Url: https://openfabrics.org/gitweb/?a=commitdiff_plain;h=ff26a1cd6d674adeef051e7c32fda76e72bc6af2;p=~shefty%2Frdma-win.git [MTHCA] merge kernel and user xxx_wqe.h files into one mthca_wqe.h git-svn-id: svn://openib.tc.cornell.edu/gen1@576 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86 --- diff --git a/trunk/hw/mthca/kernel/mthca_cq.c b/trunk/hw/mthca/kernel/mthca_cq.c index 8e1801f6..c6544c01 100644 --- a/trunk/hw/mthca/kernel/mthca_cq.c +++ b/trunk/hw/mthca/kernel/mthca_cq.c @@ -47,6 +47,7 @@ #endif #include "mthca_cmd.h" #include "mthca_memfree.h" +#include "mthca_wqe.h" #ifdef ALLOC_PRAGMA diff --git a/trunk/hw/mthca/kernel/mthca_doorbell.h b/trunk/hw/mthca/kernel/mthca_doorbell.h index 6c7172e1..e848b366 100644 --- a/trunk/hw/mthca/kernel/mthca_doorbell.h +++ b/trunk/hw/mthca/kernel/mthca_doorbell.h @@ -34,12 +34,6 @@ * $Id$ */ -#define MTHCA_RD_DOORBELL 0x00 -#define MTHCA_SEND_DOORBELL 0x10 -#define MTHCA_RECEIVE_DOORBELL 0x18 -#define MTHCA_CQ_DOORBELL 0x20 -#define MTHCA_EQ_DOORBELL 0x28 - enum { MTHCA_SEND_DOORBELL_FENCE = 1 << 5 }; diff --git a/trunk/hw/mthca/kernel/mthca_eq.c b/trunk/hw/mthca/kernel/mthca_eq.c index a4eb6ee9..111dea71 100644 --- a/trunk/hw/mthca/kernel/mthca_eq.c +++ b/trunk/hw/mthca/kernel/mthca_eq.c @@ -42,6 +42,7 @@ #endif #include "mthca_cmd.h" #include "mthca_config_reg.h" +#include "mthca_wqe.h" static int mthca_map_reg(struct mthca_dev *dev, u64 offset, unsigned long size, diff --git a/trunk/hw/mthca/kernel/mthca_qp.c b/trunk/hw/mthca/kernel/mthca_qp.c index 03f92492..330d37e7 100644 --- a/trunk/hw/mthca/kernel/mthca_qp.c +++ b/trunk/hw/mthca/kernel/mthca_qp.c @@ -1789,7 +1789,7 @@ int mthca_tavor_post_receive(struct ib_qp *ibqp, struct _ib_recv_wr *wr, wmb(); - mthca_write64(doorbell, dev->kar + MTHCA_RECEIVE_DOORBELL, + mthca_write64(doorbell, dev->kar + MTHCA_RECV_DOORBELL, MTHCA_GET_DOORBELL_LOCK(&dev->doorbell_lock)); qp->rq.head += MTHCA_TAVOR_MAX_WQES_PER_RECV_DB; @@ -1864,7 +1864,7 @@ out: wmb(); - mthca_write64(doorbell, dev->kar + MTHCA_RECEIVE_DOORBELL, + mthca_write64(doorbell, dev->kar + MTHCA_RECV_DOORBELL, MTHCA_GET_DOORBELL_LOCK(&dev->doorbell_lock)); } diff --git a/trunk/hw/mthca/kernel/mthca_srq.c b/trunk/hw/mthca/kernel/mthca_srq.c index 2a8dfdc9..784d5f49 100644 --- a/trunk/hw/mthca/kernel/mthca_srq.c +++ b/trunk/hw/mthca/kernel/mthca_srq.c @@ -583,7 +583,7 @@ int mthca_tavor_post_srq_recv(struct ib_srq *ibsrq, struct _ib_recv_wr *wr, wmb(); mthca_write64(doorbell, - dev->kar + MTHCA_RECEIVE_DOORBELL, + dev->kar + MTHCA_RECV_DOORBELL, MTHCA_GET_DOORBELL_LOCK(&dev->doorbell_lock)); first_ind = srq->first_free; @@ -601,7 +601,7 @@ int mthca_tavor_post_srq_recv(struct ib_srq *ibsrq, struct _ib_recv_wr *wr, wmb(); mthca_write64(doorbell, - dev->kar + MTHCA_RECEIVE_DOORBELL, + dev->kar + MTHCA_RECV_DOORBELL, MTHCA_GET_DOORBELL_LOCK(&dev->doorbell_lock)); } diff --git a/trunk/hw/mthca/kernel/mthca_wqe.h b/trunk/hw/mthca/kernel/mthca_wqe.h deleted file mode 100644 index f07b6f4d..00000000 --- a/trunk/hw/mthca/kernel/mthca_wqe.h +++ /dev/null @@ -1,114 +0,0 @@ -/* - * Copyright (c) 2005 Cisco Systems. All rights reserved. - * - * This software is available to you under a choice of one of two - * licenses. You may choose to be licensed under the terms of the GNU - * General Public License (GPL) Version 2, available from the file - * COPYING in the main directory of this source tree, or the - * OpenIB.org BSD license below: - * - * Redistribution and use in source and binary forms, with or - * without modification, are permitted provided that the following - * conditions are met: - * - * - Redistributions of source code must retain the above - * copyright notice, this list of conditions and the following - * disclaimer. - * - * - Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - * - * $Id$ - */ - -#ifndef MTHCA_WQE_H -#define MTHCA_WQE_H - -enum { - MTHCA_NEXT_DBD = 1 << 7, - MTHCA_NEXT_FENCE = 1 << 6, - MTHCA_NEXT_CQ_UPDATE = 1 << 3, - MTHCA_NEXT_EVENT_GEN = 1 << 2, - MTHCA_NEXT_SOLICIT = 1 << 1, - - MTHCA_MLX_VL15 = 1 << 17, - MTHCA_MLX_SLR = 1 << 16 -}; - -enum { - MTHCA_INVAL_LKEY = 0x100, - MTHCA_TAVOR_MAX_WQES_PER_RECV_DB = 256, - MTHCA_ARBEL_MAX_WQES_PER_SEND_DB = 255 -}; - -struct mthca_next_seg { - __be32 nda_op; /* [31:6] next WQE [4:0] next opcode */ - __be32 ee_nds; /* [31:8] next EE [7] DBD [6] F [5:0] next WQE size */ - __be32 flags; /* [3] CQ [2] Event [1] Solicit */ - __be32 imm; /* immediate data */ -}; - -struct mthca_tavor_ud_seg { - u32 reserved1; - __be32 lkey; - __be64 av_addr; - u32 reserved2[4]; - __be32 dqpn; - __be32 qkey; - u32 reserved3[2]; -}; - -struct mthca_arbel_ud_seg { - __be32 av[8]; - __be32 dqpn; - __be32 qkey; - u32 reserved[2]; -}; - -struct mthca_bind_seg { - __be32 flags; /* [31] Atomic [30] rem write [29] rem read */ - u32 reserved; - __be32 new_rkey; - __be32 lkey; - __be64 addr; - __be64 length; -}; - -struct mthca_raddr_seg { - __be64 raddr; - __be32 rkey; - u32 reserved; -}; - -struct mthca_atomic_seg { - __be64 swap_add; - __be64 compare; -}; - -struct mthca_data_seg { - __be32 byte_count; - __be32 lkey; - __be64 addr; -}; - -struct mthca_mlx_seg { - __be32 nda_op; - __be32 nds; - __be32 flags; /* [17] VL15 [16] SLR [14:12] static rate - [11:8] SL [3] C [2] E */ - __be16 rlid; - __be16 vcrc; -}; - -#endif /* MTHCA_WQE_H */ diff --git a/trunk/hw/mthca/mthca_wqe.h b/trunk/hw/mthca/mthca_wqe.h new file mode 100644 index 00000000..fd3e5b91 --- /dev/null +++ b/trunk/hw/mthca/mthca_wqe.h @@ -0,0 +1,131 @@ +/* + * Copyright (c) 2005 Cisco Systems. All rights reserved. + * + * This software is available to you under a choice of one of two + * licenses. You may choose to be licensed under the terms of the GNU + * General Public License (GPL) Version 2, available from the file + * COPYING in the main directory of this source tree, or the + * OpenIB.org BSD license below: + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above + * copyright notice, this list of conditions and the following + * disclaimer. + * + * - Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + * $Id: mthca_wqe.h 1611 2006-08-20 14:48:55Z sleybo $ + */ + +#ifndef MTHCA_WQE_H +#define MTHCA_WQE_H + +enum { + MTHCA_RD_DOORBELL = 0x00, + MTHCA_SEND_DOORBELL = 0x10, + MTHCA_RECV_DOORBELL = 0x18, + MTHCA_CQ_DOORBELL = 0x20, + MTHCA_EQ_DOORBELL = 0x28 +}; + +enum { + MTHCA_NEXT_DBD = 1 << 7, + MTHCA_NEXT_FENCE = 1 << 6, + MTHCA_NEXT_CQ_UPDATE = 1 << 3, + MTHCA_NEXT_EVENT_GEN = 1 << 2, + MTHCA_NEXT_SOLICIT = 1 << 1, + + MTHCA_MLX_VL15 = 1 << 17, + MTHCA_MLX_SLR = 1 << 16 +}; + +enum { + MTHCA_INLINE_SEG = 1 << 31 +}; + +enum { + MTHCA_INVAL_LKEY = 0x100, + MTHCA_TAVOR_MAX_WQES_PER_RECV_DB = 256, + MTHCA_ARBEL_MAX_WQES_PER_SEND_DB = 255 +}; + +struct mthca_next_seg { + ib_net32_t nda_op; /* [31:6] next WQE [4:0] next opcode */ + ib_net32_t ee_nds; /* [31:8] next EE [7] DBD [6] F [5:0] next WQE size */ + ib_net32_t flags; /* [3] CQ [2] Event [1] Solicit */ + ib_net32_t imm; /* immediate data */ +}; + +struct mthca_tavor_ud_seg { + uint32_t reserved1; + ib_net32_t lkey; + ib_net64_t av_addr; + uint32_t reserved2[4]; + ib_net32_t dqpn; + ib_net32_t qkey; + uint32_t reserved3[2]; +}; + +struct mthca_arbel_ud_seg { + ib_net32_t av[8]; + ib_net32_t dqpn; + ib_net32_t qkey; + uint32_t reserved[2]; +}; + +struct mthca_bind_seg { + ib_net32_t flags; /* [31] Atomic [30] rem write [29] rem read */ + uint32_t reserved; + ib_net32_t new_rkey; + ib_net32_t lkey; + ib_net64_t addr; + ib_net64_t length; +}; + +struct mthca_raddr_seg { + ib_net64_t raddr; + ib_net32_t rkey; + uint32_t reserved; +}; + +struct mthca_atomic_seg { + ib_net64_t swap_add; + ib_net64_t compare; +}; + +struct mthca_data_seg { + ib_net32_t byte_count; + ib_net32_t lkey; + ib_net64_t addr; +}; + +struct mthca_mlx_seg { + ib_net32_t nda_op; + ib_net32_t nds; + ib_net32_t flags; /* [17] VL15 [16] SLR [14:12] static rate + [11:8] SL [3] C [2] E */ + ib_net16_t rlid; + ib_net16_t vcrc; +}; + +struct mthca_inline_seg { + uint32_t byte_count; +}; + +#endif /* MTHCA_WQE_H */ + diff --git a/trunk/hw/mthca/user/mlnx_uvp_qp.c b/trunk/hw/mthca/user/mlnx_uvp_qp.c index 51d78bee..51d12292 100644 --- a/trunk/hw/mthca/user/mlnx_uvp_qp.c +++ b/trunk/hw/mthca/user/mlnx_uvp_qp.c @@ -36,7 +36,7 @@ #include #include "mlnx_uvp.h" #include "mlnx_uvp_doorbell.h" -#include "mlnx_uvp_wqe.h" +#include "mthca_wqe.h" #include "mlnx_ual_data.h" #if defined(EVENT_TRACING) diff --git a/trunk/hw/mthca/user/mlnx_uvp_srq.c b/trunk/hw/mthca/user/mlnx_uvp_srq.c index bb81e0cc..e29bbd3c 100644 --- a/trunk/hw/mthca/user/mlnx_uvp_srq.c +++ b/trunk/hw/mthca/user/mlnx_uvp_srq.c @@ -36,7 +36,7 @@ #include "mlnx_uvp.h" #include "mlnx_uvp_doorbell.h" -#include "mlnx_uvp_wqe.h" +#include "mthca_wqe.h" #if defined(EVENT_TRACING) #include "mlnx_uvp_srq.tmh" diff --git a/trunk/hw/mthca/user/mlnx_uvp_wqe.h b/trunk/hw/mthca/user/mlnx_uvp_wqe.h deleted file mode 100644 index b9c3c29f..00000000 --- a/trunk/hw/mthca/user/mlnx_uvp_wqe.h +++ /dev/null @@ -1,116 +0,0 @@ -/* - * Copyright (c) 2004, 2005 Topspin Communications. All rights reserved. - * Copyright (c) 2005 Cisco Systems. All rights reserved. - * - * This software is available to you under a choice of one of two - * licenses. You may choose to be licensed under the terms of the GNU - * General Public License (GPL) Version 2, available from the file - * COPYING in the main directory of this source tree, or the - * OpenIB.org BSD license below: - * - * Redistribution and use in source and binary forms, with or - * without modification, are permitted provided that the following - * conditions are met: - * - * - Redistributions of source code must retain the above - * copyright notice, this list of conditions and the following - * disclaimer. - * - * - Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - * - * $Id$ - */ - -#ifndef WQE_H -#define WQE_H - -enum { - MTHCA_SEND_DOORBELL = 0x10, - MTHCA_RECV_DOORBELL = 0x18 -}; - -enum { - MTHCA_NEXT_DBD = 1 << 7, - MTHCA_NEXT_FENCE = 1 << 6, - MTHCA_NEXT_CQ_UPDATE = 1 << 3, - MTHCA_NEXT_EVENT_GEN = 1 << 2, - MTHCA_NEXT_SOLICIT = 1 << 1, -}; - -enum { - MTHCA_INLINE_SEG = 1 << 31 -}; - -enum { - MTHCA_INVAL_LKEY = 0x100, - MTHCA_TAVOR_MAX_WQES_PER_RECV_DB = 256, - MTHCA_ARBEL_MAX_WQES_PER_SEND_DB = 255 -}; - -struct mthca_next_seg { - uint32_t nda_op; /* [31:6] next WQE [4:0] next opcode */ - uint32_t ee_nds; /* [31:8] next EE [7] DBD [6] F [5:0] next WQE size */ - uint32_t flags; /* [3] CQ [2] Event [1] Solicit */ - uint32_t imm; /* immediate data */ -}; - -struct mthca_tavor_ud_seg { - uint32_t reserved1; - uint32_t lkey; - uint64_t av_addr; - uint32_t reserved2[4]; - uint32_t dqpn; - uint32_t qkey; - uint32_t reserved3[2]; -}; - -struct mthca_arbel_ud_seg { - uint32_t av[8]; - uint32_t dqpn; - uint32_t qkey; - uint32_t reserved[2]; -}; - -struct mthca_bind_seg { - uint32_t flags; /* [31] Atomic [30] rem write [29] rem read */ - uint32_t reserved; - uint32_t new_rkey; - uint32_t lkey; - uint64_t addr; - uint64_t length; -}; - -struct mthca_raddr_seg { - uint64_t raddr; - uint32_t rkey; - uint32_t reserved; -}; - -struct mthca_atomic_seg { - uint64_t swap_add; - uint64_t compare; -}; - -struct mthca_data_seg { - uint32_t byte_count; - uint32_t lkey; - uint64_t addr; -}; - -struct mthca_inline_seg { - uint32_t byte_count; -}; - -#endif /* WQE_H */