Lines Matching refs:sa_query

108 	void (*callback)(struct ib_sa_query *sa_query, int status,
131 struct ib_sa_query sa_query; member
138 struct ib_sa_query sa_query; member
144 struct ib_sa_query sa_query; member
150 struct ib_sa_query sa_query; member
886 path_query = container_of(query, struct ib_sa_path_query, sa_query); in ib_nl_process_good_resolve_rsp()
1446 static void ib_sa_path_rec_callback(struct ib_sa_query *sa_query, in ib_sa_path_rec_callback() argument
1450 container_of(sa_query, struct ib_sa_path_query, sa_query); in ib_sa_path_rec_callback()
1458 if (sa_query->flags & IB_SA_QUERY_OPA) { in ib_sa_path_rec_callback()
1482 static void ib_sa_path_rec_release(struct ib_sa_query *sa_query) in ib_sa_path_rec_release() argument
1485 container_of(sa_query, struct ib_sa_path_query, sa_query); in ib_sa_path_rec_release()
1525 struct ib_sa_query **sa_query) in ib_sa_path_rec_get() argument
1549 query->sa_query.port = port; in ib_sa_path_rec_get()
1556 query->sa_query.flags |= IB_SA_QUERY_OPA; in ib_sa_path_rec_get()
1567 ret = alloc_mad(&query->sa_query, gfp_mask); in ib_sa_path_rec_get()
1572 query->sa_query.client = client; in ib_sa_path_rec_get()
1576 mad = query->sa_query.mad_buf->mad; in ib_sa_path_rec_get()
1577 init_mad(&query->sa_query, agent); in ib_sa_path_rec_get()
1579 query->sa_query.callback = callback ? ib_sa_path_rec_callback : NULL; in ib_sa_path_rec_get()
1580 query->sa_query.release = ib_sa_path_rec_release; in ib_sa_path_rec_get()
1585 if (query->sa_query.flags & IB_SA_QUERY_OPA) { in ib_sa_path_rec_get()
1597 *sa_query = &query->sa_query; in ib_sa_path_rec_get()
1599 query->sa_query.flags |= IB_SA_ENABLE_LOCAL_SERVICE; in ib_sa_path_rec_get()
1600 query->sa_query.mad_buf->context[1] = (query->conv_pr) ? in ib_sa_path_rec_get()
1603 ret = send_mad(&query->sa_query, timeout_ms, gfp_mask); in ib_sa_path_rec_get()
1610 *sa_query = NULL; in ib_sa_path_rec_get()
1611 ib_sa_client_put(query->sa_query.client); in ib_sa_path_rec_get()
1612 free_mad(&query->sa_query); in ib_sa_path_rec_get()
1621 static void ib_sa_mcmember_rec_callback(struct ib_sa_query *sa_query, in ib_sa_mcmember_rec_callback() argument
1625 container_of(sa_query, struct ib_sa_mcmember_query, sa_query); in ib_sa_mcmember_rec_callback()
1637 static void ib_sa_mcmember_rec_release(struct ib_sa_query *sa_query) in ib_sa_mcmember_rec_release() argument
1639 kfree(container_of(sa_query, struct ib_sa_mcmember_query, sa_query)); in ib_sa_mcmember_rec_release()
1652 struct ib_sa_query **sa_query) in ib_sa_mcmember_rec_query() argument
1671 query->sa_query.port = port; in ib_sa_mcmember_rec_query()
1672 ret = alloc_mad(&query->sa_query, gfp_mask); in ib_sa_mcmember_rec_query()
1677 query->sa_query.client = client; in ib_sa_mcmember_rec_query()
1681 mad = query->sa_query.mad_buf->mad; in ib_sa_mcmember_rec_query()
1682 init_mad(&query->sa_query, agent); in ib_sa_mcmember_rec_query()
1684 query->sa_query.callback = callback ? ib_sa_mcmember_rec_callback : NULL; in ib_sa_mcmember_rec_query()
1685 query->sa_query.release = ib_sa_mcmember_rec_release; in ib_sa_mcmember_rec_query()
1693 *sa_query = &query->sa_query; in ib_sa_mcmember_rec_query()
1695 ret = send_mad(&query->sa_query, timeout_ms, gfp_mask); in ib_sa_mcmember_rec_query()
1702 *sa_query = NULL; in ib_sa_mcmember_rec_query()
1703 ib_sa_client_put(query->sa_query.client); in ib_sa_mcmember_rec_query()
1704 free_mad(&query->sa_query); in ib_sa_mcmember_rec_query()
1712 static void ib_sa_guidinfo_rec_callback(struct ib_sa_query *sa_query, in ib_sa_guidinfo_rec_callback() argument
1716 container_of(sa_query, struct ib_sa_guidinfo_query, sa_query); in ib_sa_guidinfo_rec_callback()
1728 static void ib_sa_guidinfo_rec_release(struct ib_sa_query *sa_query) in ib_sa_guidinfo_rec_release() argument
1730 kfree(container_of(sa_query, struct ib_sa_guidinfo_query, sa_query)); in ib_sa_guidinfo_rec_release()
1742 struct ib_sa_query **sa_query) in ib_sa_guid_info_rec_query() argument
1767 query->sa_query.port = port; in ib_sa_guid_info_rec_query()
1768 ret = alloc_mad(&query->sa_query, gfp_mask); in ib_sa_guid_info_rec_query()
1773 query->sa_query.client = client; in ib_sa_guid_info_rec_query()
1777 mad = query->sa_query.mad_buf->mad; in ib_sa_guid_info_rec_query()
1778 init_mad(&query->sa_query, agent); in ib_sa_guid_info_rec_query()
1780 query->sa_query.callback = callback ? ib_sa_guidinfo_rec_callback : NULL; in ib_sa_guid_info_rec_query()
1781 query->sa_query.release = ib_sa_guidinfo_rec_release; in ib_sa_guid_info_rec_query()
1790 *sa_query = &query->sa_query; in ib_sa_guid_info_rec_query()
1792 ret = send_mad(&query->sa_query, timeout_ms, gfp_mask); in ib_sa_guid_info_rec_query()
1799 *sa_query = NULL; in ib_sa_guid_info_rec_query()
1800 ib_sa_client_put(query->sa_query.client); in ib_sa_guid_info_rec_query()
1801 free_mad(&query->sa_query); in ib_sa_guid_info_rec_query()
1811 struct ib_sa_query *sa_query; member
1821 static void ib_sa_classport_info_rec_callback(struct ib_sa_query *sa_query, in ib_sa_classport_info_rec_callback() argument
1826 container_of(sa_query, struct ib_sa_classport_info_query, sa_query); in ib_sa_classport_info_rec_callback()
1827 struct ib_sa_classport_cache *info = &sa_query->port->classport_info; in ib_sa_classport_info_rec_callback()
1830 if (sa_query->flags & IB_SA_QUERY_OPA) { in ib_sa_classport_info_rec_callback()
1837 spin_lock_irqsave(&sa_query->port->classport_lock, in ib_sa_classport_info_rec_callback()
1846 spin_unlock_irqrestore(&sa_query->port->classport_lock, in ib_sa_classport_info_rec_callback()
1856 spin_lock_irqsave(&sa_query->port->classport_lock, in ib_sa_classport_info_rec_callback()
1865 spin_unlock_irqrestore(&sa_query->port->classport_lock, in ib_sa_classport_info_rec_callback()
1872 static void ib_sa_classport_info_rec_release(struct ib_sa_query *sa_query) in ib_sa_classport_info_rec_release() argument
1874 kfree(container_of(sa_query, struct ib_sa_classport_info_query, in ib_sa_classport_info_rec_release()
1875 sa_query)); in ib_sa_classport_info_rec_release()
1882 struct ib_sa_query **sa_query) in ib_sa_classport_info_rec_query() argument
1896 query->sa_query.port = port; in ib_sa_classport_info_rec_query()
1897 query->sa_query.flags |= rdma_cap_opa_ah(port->agent->device, in ib_sa_classport_info_rec_query()
1900 ret = alloc_mad(&query->sa_query, gfp_mask); in ib_sa_classport_info_rec_query()
1907 mad = query->sa_query.mad_buf->mad; in ib_sa_classport_info_rec_query()
1908 init_mad(&query->sa_query, agent); in ib_sa_classport_info_rec_query()
1910 query->sa_query.callback = ib_sa_classport_info_rec_callback; in ib_sa_classport_info_rec_query()
1911 query->sa_query.release = ib_sa_classport_info_rec_release; in ib_sa_classport_info_rec_query()
1915 *sa_query = &query->sa_query; in ib_sa_classport_info_rec_query()
1917 ret = send_mad(&query->sa_query, timeout_ms, gfp_mask); in ib_sa_classport_info_rec_query()
1924 *sa_query = NULL; in ib_sa_classport_info_rec_query()
1925 free_mad(&query->sa_query); in ib_sa_classport_info_rec_query()
1958 &cb_context->sa_query); in update_ib_cpi()