linux/drivers/infiniband/hw/qedr/main.c

/* QLogic qedr NIC Driver
 * Copyright (c) 2015-2016  QLogic Corporation
 *
 * 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.
 */
#include <linux/module.h>
#include <rdma/ib_verbs.h>
#include <rdma/ib_addr.h>
#include <rdma/ib_user_verbs.h>
#include <rdma/iw_cm.h>
#include <rdma/ib_mad.h>
#include <linux/netdevice.h>
#include <linux/iommu.h>
#include <linux/pci.h>
#include <net/addrconf.h>

#include <linux/qed/qed_chain.h>
#include <linux/qed/qed_if.h>
#include "qedr.h"
#include "verbs.h"
#include <rdma/qedr-abi.h>
#include "qedr_iw_cm.h"

MODULE_DESCRIPTION();
MODULE_AUTHOR();
MODULE_LICENSE();

#define QEDR_WQ_MULTIPLIER_DFT

static void qedr_ib_dispatch_event(struct qedr_dev *dev, u32 port_num,
				   enum ib_event_type type)
{}

static enum rdma_link_layer qedr_link_layer(struct ib_device *device,
					    u32 port_num)
{}

static void qedr_get_dev_fw_str(struct ib_device *ibdev, char *str)
{}

static int qedr_roce_port_immutable(struct ib_device *ibdev, u32 port_num,
				    struct ib_port_immutable *immutable)
{}

static int qedr_iw_port_immutable(struct ib_device *ibdev, u32 port_num,
				  struct ib_port_immutable *immutable)
{}

/* QEDR sysfs interface */
static ssize_t hw_rev_show(struct device *device, struct device_attribute *attr,
			   char *buf)
{}
static DEVICE_ATTR_RO(hw_rev);

static ssize_t hca_type_show(struct device *device,
			     struct device_attribute *attr, char *buf)
{}
static DEVICE_ATTR_RO(hca_type);

static struct attribute *qedr_attributes[] =;

static const struct attribute_group qedr_attr_group =;

static const struct ib_device_ops qedr_iw_dev_ops =;

static int qedr_iw_register_device(struct qedr_dev *dev)
{}

static const struct ib_device_ops qedr_roce_dev_ops =;

static void qedr_roce_register_device(struct qedr_dev *dev)
{}

static const struct ib_device_ops qedr_dev_ops =;

static int qedr_register_device(struct qedr_dev *dev)
{}

/* This function allocates fast-path status block memory */
static int qedr_alloc_mem_sb(struct qedr_dev *dev,
			     struct qed_sb_info *sb_info, u16 sb_id)
{}

static void qedr_free_mem_sb(struct qedr_dev *dev,
			     struct qed_sb_info *sb_info, int sb_id)
{}

static void qedr_free_resources(struct qedr_dev *dev)
{}

static int qedr_alloc_resources(struct qedr_dev *dev)
{}

static void qedr_pci_set_atomic(struct qedr_dev *dev, struct pci_dev *pdev)
{}

static const struct qed_rdma_ops *qed_ops;

#define HILO_U64(hi, lo)

static irqreturn_t qedr_irq_handler(int irq, void *handle)
{}

static void qedr_sync_free_irqs(struct qedr_dev *dev)
{}

static int qedr_req_msix_irqs(struct qedr_dev *dev)
{}

static int qedr_setup_irqs(struct qedr_dev *dev)
{}

static int qedr_set_device_attr(struct qedr_dev *dev)
{}

static void qedr_unaffiliated_event(void *context, u8 event_code)
{}

static void qedr_affiliated_event(void *context, u8 e_code, void *fw_handle)
{}

static int qedr_init_hw(struct qedr_dev *dev)
{}

static void qedr_stop_hw(struct qedr_dev *dev)
{}

static struct qedr_dev *qedr_add(struct qed_dev *cdev, struct pci_dev *pdev,
				 struct net_device *ndev)
{}

static void qedr_remove(struct qedr_dev *dev)
{}

static void qedr_close(struct qedr_dev *dev)
{}

static void qedr_shutdown(struct qedr_dev *dev)
{}

static void qedr_open(struct qedr_dev *dev)
{}

static void qedr_mac_address_change(struct qedr_dev *dev)
{}

/* event handling via NIC driver ensures that all the NIC specific
 * initialization done before RoCE driver notifies
 * event to stack.
 */
static void qedr_notify(struct qedr_dev *dev, enum qede_rdma_event event)
{}

static struct qedr_driver qedr_drv =;

static int __init qedr_init_module(void)
{}

static void __exit qedr_exit_module(void)
{}

module_init();
module_exit(qedr_exit_module);