mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-28 11:18:45 +07:00
877f075aac
- The biggest change is core API extensions and mlx5 low-level driver support for handling DIF/DIX-style protection information, and the addition of PI support to the iSER initiator. Target support will be arriving shortly through the SCSI target tree. - A nice simplification to the "umem" memory pinning library now that we have chained sg lists. Kudos to Yishai Hadas for realizing our code didn't have to be so crazy. - Another nice simplification to the sg wrappers used by qib, ipath and ehca to handle their mapping of memory to adapter. - The usual batch of fixes to bugs found by static checkers etc. from intrepid people like Dan Carpenter and Yann Droneaud. - A large batch of cxgb4, ocrdma, qib driver updates. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAABCAAGBQJTPYBnAAoJEENa44ZhAt0hGI4P/29eotGwpkANUQE6FQvxCUL2 CXJtSg52lmYvGJrPK4IhihpbtQmHJz3iXEzlOOWidTw1dJgObR6vFaRymh7+vDLs CdzybMcXdasarqTuYeJbFzhkimpwtWWrMy/8Ik/Jj/5glGQ6cUSpdYZzVtFhYNqf hCGE8iLi+tuekJJj1htut5D6apXM7udcdc2yLJNOdsSj/VUXt1oqG1x9xAi9R8Tq 7o8eFSStdlja0EBQ6Hli2zauCSnQkaUtr8h6EAFbcCtvBK8HqsHSc2gfq2ViFUiN ztt167oWoQnVkR0qCPL5nVt+CRQHHROprVXvbpcTI3aW61gNIl6OrUUOXefzHXac TNi+fdMpiEB/JQ4Z04Jzd1dGCSjYeTqPj4rO4meFjBmxRDdTgZHu7FWwejT1nYJ5 d2abVdCOT+QWlIlM7m/pjdWJII5OYM+4/jtTayGepEaR4fTUzKtPZPBLNUBDBKE+ 4f92PC8LiuPkwJgb6XT96onPz1bDCOnPSEdwoKUFKPeGUcwgVOM/Wx5NU4Yf7rfg RxQwZ7mJXbjCYFlmGGo/0QDy6UEGkIFYlJSzooP+wlK1JvZ5h2M+9QKX2FtwzR+R I2kBxcTXWsM/h88R7MkNqbNIllmhssrJwmAE46OneZbfoBOB+JZjb4nLRTu0jEcS zn6f16GmJ37BKn2/qYY/ =Ww6H -----END PGP SIGNATURE----- Merge tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband Pull infiniband updates from Roland Dreier: "Main batch of InfiniBand/RDMA changes for 3.15: - The biggest change is core API extensions and mlx5 low-level driver support for handling DIF/DIX-style protection information, and the addition of PI support to the iSER initiator. Target support will be arriving shortly through the SCSI target tree. - A nice simplification to the "umem" memory pinning library now that we have chained sg lists. Kudos to Yishai Hadas for realizing our code didn't have to be so crazy. - Another nice simplification to the sg wrappers used by qib, ipath and ehca to handle their mapping of memory to adapter. - The usual batch of fixes to bugs found by static checkers etc. from intrepid people like Dan Carpenter and Yann Droneaud. - A large batch of cxgb4, ocrdma, qib driver updates" * tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (102 commits) RDMA/ocrdma: Unregister inet notifier when unloading ocrdma RDMA/ocrdma: Fix warnings about pointer <-> integer casts RDMA/ocrdma: Code clean-up RDMA/ocrdma: Display FW version RDMA/ocrdma: Query controller information RDMA/ocrdma: Support non-embedded mailbox commands RDMA/ocrdma: Handle CQ overrun error RDMA/ocrdma: Display proper value for max_mw RDMA/ocrdma: Use non-zero tag in SRQ posting RDMA/ocrdma: Memory leak fix in ocrdma_dereg_mr() RDMA/ocrdma: Increment abi version count RDMA/ocrdma: Update version string be2net: Add abi version between be2net and ocrdma RDMA/ocrdma: ABI versioning between ocrdma and be2net RDMA/ocrdma: Allow DPP QP creation RDMA/ocrdma: Read ASIC_ID register to select asic_gen RDMA/ocrdma: SQ and RQ doorbell offset clean up RDMA/ocrdma: EQ full catastrophe avoidance RDMA/cxgb4: Disable DSGL use by default RDMA/cxgb4: rx_data() needs to hold the ep mutex ...
79 lines
1.9 KiB
C
79 lines
1.9 KiB
C
/*
|
|
* Copyright (C) 2005 - 2014 Emulex
|
|
* All rights reserved.
|
|
*
|
|
* This program is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU General Public License version 2
|
|
* as published by the Free Software Foundation. The full GNU General
|
|
* Public License is included in this distribution in the file called COPYING.
|
|
*
|
|
* Contact Information:
|
|
* linux-drivers@emulex.com
|
|
*
|
|
* Emulex
|
|
* 3333 Susan Street
|
|
* Costa Mesa, CA 92626
|
|
*/
|
|
|
|
#ifndef BE_ROCE_H
|
|
#define BE_ROCE_H
|
|
|
|
#include <linux/pci.h>
|
|
#include <linux/netdevice.h>
|
|
|
|
#define BE_ROCE_ABI_VERSION 1
|
|
|
|
struct ocrdma_dev;
|
|
|
|
enum be_interrupt_mode {
|
|
BE_INTERRUPT_MODE_MSIX = 0,
|
|
BE_INTERRUPT_MODE_INTX = 1,
|
|
BE_INTERRUPT_MODE_MSI = 2,
|
|
};
|
|
|
|
#define MAX_MSIX_VECTORS 32
|
|
struct be_dev_info {
|
|
u8 __iomem *db;
|
|
u64 unmapped_db;
|
|
u32 db_page_size;
|
|
u32 db_total_size;
|
|
u64 dpp_unmapped_addr;
|
|
u32 dpp_unmapped_len;
|
|
struct pci_dev *pdev;
|
|
struct net_device *netdev;
|
|
u8 mac_addr[ETH_ALEN];
|
|
u32 dev_family;
|
|
enum be_interrupt_mode intr_mode;
|
|
struct {
|
|
int num_vectors;
|
|
int start_vector;
|
|
u32 vector_list[MAX_MSIX_VECTORS];
|
|
} msix;
|
|
};
|
|
|
|
/* ocrdma driver register's the callback functions with nic driver. */
|
|
struct ocrdma_driver {
|
|
unsigned char name[32];
|
|
u32 be_abi_version;
|
|
struct ocrdma_dev *(*add) (struct be_dev_info *dev_info);
|
|
void (*remove) (struct ocrdma_dev *);
|
|
void (*state_change_handler) (struct ocrdma_dev *, u32 new_state);
|
|
};
|
|
|
|
enum {
|
|
BE_DEV_UP = 0,
|
|
BE_DEV_DOWN = 1
|
|
};
|
|
|
|
/* APIs for RoCE driver to register callback handlers,
|
|
* which will be invoked when device is added, removed, ifup, ifdown
|
|
*/
|
|
int be_roce_register_driver(struct ocrdma_driver *drv);
|
|
void be_roce_unregister_driver(struct ocrdma_driver *drv);
|
|
|
|
/* API for RoCE driver to issue mailbox commands */
|
|
int be_roce_mcc_cmd(void *netdev_handle, void *wrb_payload,
|
|
int wrb_payload_size, u16 *cmd_status, u16 *ext_status);
|
|
|
|
#endif /* BE_ROCE_H */
|