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 --- |