ib_verbs.h (883c71feaf2e810e0331cf780c738cbb09e93b58) ib_verbs.h (d291f1a6523292d916fe1659c67f6db061fbd1b5)
1/*
2 * Copyright (c) 2004 Mellanox Technologies Ltd. All rights reserved.
3 * Copyright (c) 2004 Infinicon Corporation. All rights reserved.
4 * Copyright (c) 2004 Intel Corporation. All rights reserved.
5 * Copyright (c) 2004 Topspin Corporation. All rights reserved.
6 * Copyright (c) 2004 Voltaire Corporation. All rights reserved.
7 * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
8 * Copyright (c) 2005, 2006, 2007 Cisco Systems. All rights reserved.

--- 1600 unchanged lines hidden (view full) ---

1609};
1610
1611struct ib_rwq_ind_table_init_attr {
1612 u32 log_ind_tbl_size;
1613 /* Each entry is a pointer to Receive Work Queue */
1614 struct ib_wq **ind_tbl;
1615};
1616
1/*
2 * Copyright (c) 2004 Mellanox Technologies Ltd. All rights reserved.
3 * Copyright (c) 2004 Infinicon Corporation. All rights reserved.
4 * Copyright (c) 2004 Intel Corporation. All rights reserved.
5 * Copyright (c) 2004 Topspin Corporation. All rights reserved.
6 * Copyright (c) 2004 Voltaire Corporation. All rights reserved.
7 * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
8 * Copyright (c) 2005, 2006, 2007 Cisco Systems. All rights reserved.

--- 1600 unchanged lines hidden (view full) ---

1609};
1610
1611struct ib_rwq_ind_table_init_attr {
1612 u32 log_ind_tbl_size;
1613 /* Each entry is a pointer to Receive Work Queue */
1614 struct ib_wq **ind_tbl;
1615};
1616
1617enum port_pkey_state {
1618 IB_PORT_PKEY_NOT_VALID = 0,
1619 IB_PORT_PKEY_VALID = 1,
1620 IB_PORT_PKEY_LISTED = 2,
1621};
1622
1623struct ib_qp_security;
1624
1625struct ib_port_pkey {
1626 enum port_pkey_state state;
1627 u16 pkey_index;
1628 u8 port_num;
1629 struct list_head qp_list;
1630 struct list_head to_error_list;
1631 struct ib_qp_security *sec;
1632};
1633
1634struct ib_ports_pkeys {
1635 struct ib_port_pkey main;
1636 struct ib_port_pkey alt;
1637};
1638
1639struct ib_qp_security {
1640 struct ib_qp *qp;
1641 struct ib_device *dev;
1642 /* Hold this mutex when changing port and pkey settings. */
1643 struct mutex mutex;
1644 struct ib_ports_pkeys *ports_pkeys;
1645 /* A list of all open shared QP handles. Required to enforce security
1646 * properly for all users of a shared QP.
1647 */
1648 struct list_head shared_qp_list;
1649 void *security;
1650 bool destroying;
1651 atomic_t error_list_count;
1652 struct completion error_complete;
1653 int error_comps_pending;
1654};
1655
1617/*
1618 * @max_write_sge: Maximum SGE elements per RDMA WRITE request.
1619 * @max_read_sge: Maximum SGE elements per RDMA READ request.
1620 */
1621struct ib_qp {
1622 struct ib_device *device;
1623 struct ib_pd *pd;
1624 struct ib_cq *send_cq;

--- 13 unchanged lines hidden (view full) ---

1638 struct ib_uobject *uobject;
1639 void (*event_handler)(struct ib_event *, void *);
1640 void *qp_context;
1641 u32 qp_num;
1642 u32 max_write_sge;
1643 u32 max_read_sge;
1644 enum ib_qp_type qp_type;
1645 struct ib_rwq_ind_table *rwq_ind_tbl;
1656/*
1657 * @max_write_sge: Maximum SGE elements per RDMA WRITE request.
1658 * @max_read_sge: Maximum SGE elements per RDMA READ request.
1659 */
1660struct ib_qp {
1661 struct ib_device *device;
1662 struct ib_pd *pd;
1663 struct ib_cq *send_cq;

--- 13 unchanged lines hidden (view full) ---

1677 struct ib_uobject *uobject;
1678 void (*event_handler)(struct ib_event *, void *);
1679 void *qp_context;
1680 u32 qp_num;
1681 u32 max_write_sge;
1682 u32 max_read_sge;
1683 enum ib_qp_type qp_type;
1684 struct ib_rwq_ind_table *rwq_ind_tbl;
1685 struct ib_qp_security *qp_sec;
1646};
1647
1648struct ib_mr {
1649 struct ib_device *device;
1650 struct ib_pd *pd;
1651 u32 lkey;
1652 u32 rkey;
1653 u64 iova;

--- 282 unchanged lines hidden (view full) ---

1936 /* multicast */
1937 int (*attach_mcast)(struct net_device *dev, struct ib_device *hca,
1938 union ib_gid *gid, u16 mlid,
1939 int set_qkey, u32 qkey);
1940 int (*detach_mcast)(struct net_device *dev, struct ib_device *hca,
1941 union ib_gid *gid, u16 mlid);
1942};
1943
1686};
1687
1688struct ib_mr {
1689 struct ib_device *device;
1690 struct ib_pd *pd;
1691 u32 lkey;
1692 u32 rkey;
1693 u64 iova;

--- 282 unchanged lines hidden (view full) ---

1976 /* multicast */
1977 int (*attach_mcast)(struct net_device *dev, struct ib_device *hca,
1978 union ib_gid *gid, u16 mlid,
1979 int set_qkey, u32 qkey);
1980 int (*detach_mcast)(struct net_device *dev, struct ib_device *hca,
1981 union ib_gid *gid, u16 mlid);
1982};
1983
1984struct ib_port_pkey_list {
1985 /* Lock to hold while modifying the list. */
1986 spinlock_t list_lock;
1987 struct list_head pkey_list;
1988};
1989
1944struct ib_device {
1945 /* Do not access @dma_device directly from ULP nor from HW drivers. */
1946 struct device *dma_device;
1947
1948 char name[IB_DEVICE_NAME_MAX];
1949
1950 struct list_head event_handler_list;
1951 spinlock_t event_handler_lock;

--- 7 unchanged lines hidden (view full) ---

1959 struct ib_cache cache;
1960 /**
1961 * port_immutable is indexed by port number
1962 */
1963 struct ib_port_immutable *port_immutable;
1964
1965 int num_comp_vectors;
1966
1990struct ib_device {
1991 /* Do not access @dma_device directly from ULP nor from HW drivers. */
1992 struct device *dma_device;
1993
1994 char name[IB_DEVICE_NAME_MAX];
1995
1996 struct list_head event_handler_list;
1997 spinlock_t event_handler_lock;

--- 7 unchanged lines hidden (view full) ---

2005 struct ib_cache cache;
2006 /**
2007 * port_immutable is indexed by port number
2008 */
2009 struct ib_port_immutable *port_immutable;
2010
2011 int num_comp_vectors;
2012
2013 struct ib_port_pkey_list *port_pkey_list;
2014
1967 struct iw_cm_verbs *iwcm;
1968
1969 /**
1970 * alloc_hw_stats - Allocate a struct rdma_hw_stats and fill in the
1971 * driver initialized data. The struct is kfree()'ed by the sysfs
1972 * core when the device is removed. A lifespan of -1 in the return
1973 * struct tells the core to set a default lifespan.
1974 */

--- 1669 unchanged lines hidden ---
2015 struct iw_cm_verbs *iwcm;
2016
2017 /**
2018 * alloc_hw_stats - Allocate a struct rdma_hw_stats and fill in the
2019 * driver initialized data. The struct is kfree()'ed by the sysfs
2020 * core when the device is removed. A lifespan of -1 in the return
2021 * struct tells the core to set a default lifespan.
2022 */

--- 1669 unchanged lines hidden ---