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

// SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB
/*
 * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved.
 * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved.
 */

#include <linux/skbuff.h>
#include <crypto/hash.h>

#include "rxe.h"
#include "rxe_loc.h"
#include "rxe_queue.h"

static int next_opcode(struct rxe_qp *qp, struct rxe_send_wqe *wqe,
		       u32 opcode);

static inline void retry_first_write_send(struct rxe_qp *qp,
					  struct rxe_send_wqe *wqe, int npsn)
{}

static void req_retry(struct rxe_qp *qp)
{}

void rnr_nak_timer(struct timer_list *t)
{}

static void req_check_sq_drain_done(struct rxe_qp *qp)
{}

static struct rxe_send_wqe *__req_next_wqe(struct rxe_qp *qp)
{}

static struct rxe_send_wqe *req_next_wqe(struct rxe_qp *qp)
{}

/**
 * rxe_wqe_is_fenced - check if next wqe is fenced
 * @qp: the queue pair
 * @wqe: the next wqe
 *
 * Returns: 1 if wqe needs to wait
 *	    0 if wqe is ready to go
 */
static int rxe_wqe_is_fenced(struct rxe_qp *qp, struct rxe_send_wqe *wqe)
{}

static int next_opcode_rc(struct rxe_qp *qp, u32 opcode, int fits)
{}

static int next_opcode_uc(struct rxe_qp *qp, u32 opcode, int fits)
{}

static int next_opcode(struct rxe_qp *qp, struct rxe_send_wqe *wqe,
		       u32 opcode)
{}

static inline int check_init_depth(struct rxe_qp *qp, struct rxe_send_wqe *wqe)
{}

static inline int get_mtu(struct rxe_qp *qp)
{}

static struct sk_buff *init_req_packet(struct rxe_qp *qp,
				       struct rxe_av *av,
				       struct rxe_send_wqe *wqe,
				       int opcode, u32 payload,
				       struct rxe_pkt_info *pkt)
{}

static int finish_packet(struct rxe_qp *qp, struct rxe_av *av,
			 struct rxe_send_wqe *wqe, struct rxe_pkt_info *pkt,
			 struct sk_buff *skb, u32 payload)
{}

static void update_wqe_state(struct rxe_qp *qp,
		struct rxe_send_wqe *wqe,
		struct rxe_pkt_info *pkt)
{}

static void update_wqe_psn(struct rxe_qp *qp,
			   struct rxe_send_wqe *wqe,
			   struct rxe_pkt_info *pkt,
			   u32 payload)
{}

static void update_state(struct rxe_qp *qp, struct rxe_pkt_info *pkt)
{}

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

int rxe_requester(struct rxe_qp *qp)
{}

int rxe_sender(struct rxe_qp *qp)
{}