linux/drivers/infiniband/sw/rxe/rxe_mw.c

// SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB
/*
 * Copyright (c) 2020 Hewlett Packard Enterprise, Inc. All rights reserved.
 */

/*
 * The rdma_rxe driver supports type 1 or type 2B memory windows.
 * Type 1 MWs are created by ibv_alloc_mw() verbs calls and bound by
 * ibv_bind_mw() calls. Type 2 MWs are also created by ibv_alloc_mw()
 * but bound by bind_mw work requests. The ibv_bind_mw() call is converted
 * by libibverbs to a bind_mw work request.
 */

#include "rxe.h"

int rxe_alloc_mw(struct ib_mw *ibmw, struct ib_udata *udata)
{}

int rxe_dealloc_mw(struct ib_mw *ibmw)
{}

static int rxe_check_bind_mw(struct rxe_qp *qp, struct rxe_send_wqe *wqe,
			 struct rxe_mw *mw, struct rxe_mr *mr, int access)
{}

static void rxe_do_bind_mw(struct rxe_qp *qp, struct rxe_send_wqe *wqe,
		      struct rxe_mw *mw, struct rxe_mr *mr, int access)
{}

int rxe_bind_mw(struct rxe_qp *qp, struct rxe_send_wqe *wqe)
{}

static int rxe_check_invalidate_mw(struct rxe_qp *qp, struct rxe_mw *mw)
{}

static void rxe_do_invalidate_mw(struct rxe_mw *mw)
{}

int rxe_invalidate_mw(struct rxe_qp *qp, u32 rkey)
{}

struct rxe_mw *rxe_lookup_mw(struct rxe_qp *qp, int access, u32 rkey)
{}

void rxe_mw_cleanup(struct rxe_pool_elem *elem)
{}