Lines Matching refs:pasync_ctx
1608 *pasync_ctx, unsigned int is_header, in hwi_get_async_busy_list()
1612 return &pasync_ctx->async_entry[host_write_ptr]. in hwi_get_async_busy_list()
1615 return &pasync_ctx->async_entry[host_write_ptr].data_busy_list; in hwi_get_async_busy_list()
1621 struct hwi_async_pdu_context *pasync_ctx, in hwi_get_async_handle() argument
1657 pbusy_list = hwi_get_async_busy_list(pasync_ctx, in hwi_get_async_handle()
1661 pbusy_list = hwi_get_async_busy_list(pasync_ctx, in hwi_get_async_handle()
1693 struct hwi_async_pdu_context *pasync_ctx, in hwi_update_async_writables() argument
1701 num_entries = pasync_ctx->num_entries; in hwi_update_async_writables()
1703 pep_read_ptr = &pasync_ctx->async_header.ep_read_ptr; in hwi_update_async_writables()
1704 pwritables = &pasync_ctx->async_header.writables; in hwi_update_async_writables()
1706 pep_read_ptr = &pasync_ctx->async_data.ep_read_ptr; in hwi_update_async_writables()
1707 pwritables = &pasync_ctx->async_data.writables; in hwi_update_async_writables()
1714 pbusy_list = hwi_get_async_busy_list(pasync_ctx, is_header, in hwi_update_async_writables()
1743 struct hwi_async_pdu_context *pasync_ctx, in hwi_free_async_msg() argument
1749 plist = &pasync_ctx->async_entry[cri].wait_queue.list; in hwi_free_async_msg()
1755 &pasync_ctx->async_header.free_list); in hwi_free_async_msg()
1756 pasync_ctx->async_header.free_entries++; in hwi_free_async_msg()
1759 &pasync_ctx->async_data.free_list); in hwi_free_async_msg()
1760 pasync_ctx->async_data.free_entries++; in hwi_free_async_msg()
1764 INIT_LIST_HEAD(&pasync_ctx->async_entry[cri].wait_queue.list); in hwi_free_async_msg()
1765 pasync_ctx->async_entry[cri].wait_queue.hdr_received = 0; in hwi_free_async_msg()
1766 pasync_ctx->async_entry[cri].wait_queue.bytes_received = 0; in hwi_free_async_msg()
1770 hwi_get_ring_address(struct hwi_async_pdu_context *pasync_ctx, in hwi_get_ring_address() argument
1776 pasync_sge = pasync_ctx->async_header.ring_base; in hwi_get_ring_address()
1778 pasync_sge = pasync_ctx->async_data.ring_base; in hwi_get_ring_address()
1787 struct hwi_async_pdu_context *pasync_ctx; in hwi_post_async_buffers() local
1798 pasync_ctx = HWI_GET_ASYNC_PDU_CTX(phwi_ctrlr, ulp_num); in hwi_post_async_buffers()
1799 num_entries = pasync_ctx->num_entries; in hwi_post_async_buffers()
1802 writables = min(pasync_ctx->async_header.writables, in hwi_post_async_buffers()
1803 pasync_ctx->async_header.free_entries); in hwi_post_async_buffers()
1804 pfree_link = pasync_ctx->async_header.free_list.next; in hwi_post_async_buffers()
1805 host_write_num = pasync_ctx->async_header.host_write_ptr; in hwi_post_async_buffers()
1810 writables = min(pasync_ctx->async_data.writables, in hwi_post_async_buffers()
1811 pasync_ctx->async_data.free_entries); in hwi_post_async_buffers()
1812 pfree_link = pasync_ctx->async_data.free_list.next; in hwi_post_async_buffers()
1813 host_write_num = pasync_ctx->async_data.host_write_ptr; in hwi_post_async_buffers()
1823 hwi_get_async_busy_list(pasync_ctx, is_header, in hwi_post_async_buffers()
1833 pasync_sge = hwi_get_ring_address(pasync_ctx, in hwi_post_async_buffers()
1846 pasync_ctx->async_header.host_write_ptr = in hwi_post_async_buffers()
1848 pasync_ctx->async_header.free_entries -= writables; in hwi_post_async_buffers()
1849 pasync_ctx->async_header.writables -= writables; in hwi_post_async_buffers()
1850 pasync_ctx->async_header.busy_entries += writables; in hwi_post_async_buffers()
1852 pasync_ctx->async_data.host_write_ptr = host_write_num; in hwi_post_async_buffers()
1853 pasync_ctx->async_data.free_entries -= writables; in hwi_post_async_buffers()
1854 pasync_ctx->async_data.writables -= writables; in hwi_post_async_buffers()
1855 pasync_ctx->async_data.busy_entries += writables; in hwi_post_async_buffers()
1873 struct hwi_async_pdu_context *pasync_ctx; in hwi_flush_default_pdu_buffer() local
1880 pasync_ctx = HWI_GET_ASYNC_PDU_CTX(phwi_ctrlr, in hwi_flush_default_pdu_buffer()
1884 pasync_handle = hwi_get_async_handle(phba, beiscsi_conn, pasync_ctx, in hwi_flush_default_pdu_buffer()
1888 hwi_update_async_writables(phba, pasync_ctx, in hwi_flush_default_pdu_buffer()
1891 hwi_free_async_msg(phba, pasync_ctx, pasync_handle->cri); in hwi_flush_default_pdu_buffer()
1900 struct hwi_async_pdu_context *pasync_ctx, unsigned short cri) in hwi_fwd_async_msg() argument
1910 plist = &pasync_ctx->async_entry[cri].wait_queue.list; in hwi_fwd_async_msg()
1933 hwi_free_async_msg(phba, pasync_ctx, cri); in hwi_fwd_async_msg()
1942 struct hwi_async_pdu_context *pasync_ctx; in hwi_gather_async_pdu() local
1949 pasync_ctx = HWI_GET_ASYNC_PDU_CTX(phwi_ctrlr, in hwi_gather_async_pdu()
1956 pasync_ctx->async_header.busy_entries--; in hwi_gather_async_pdu()
1957 if (pasync_ctx->async_entry[cri].wait_queue.hdr_received) { in hwi_gather_async_pdu()
1958 hwi_free_async_msg(phba, pasync_ctx, cri); in hwi_gather_async_pdu()
1962 pasync_ctx->async_entry[cri].wait_queue.bytes_received = 0; in hwi_gather_async_pdu()
1963 pasync_ctx->async_entry[cri].wait_queue.hdr_received = 1; in hwi_gather_async_pdu()
1964 pasync_ctx->async_entry[cri].wait_queue.hdr_len = in hwi_gather_async_pdu()
1967 &pasync_ctx->async_entry[cri].wait_queue.list); in hwi_gather_async_pdu()
1977 pasync_ctx->async_entry[cri].wait_queue.bytes_needed = in hwi_gather_async_pdu()
1982 pasync_ctx, cri); in hwi_gather_async_pdu()
1985 pasync_ctx->async_data.busy_entries--; in hwi_gather_async_pdu()
1986 if (pasync_ctx->async_entry[cri].wait_queue.hdr_received) { in hwi_gather_async_pdu()
1988 &pasync_ctx->async_entry[cri].wait_queue. in hwi_gather_async_pdu()
1990 pasync_ctx->async_entry[cri].wait_queue. in hwi_gather_async_pdu()
1994 if (pasync_ctx->async_entry[cri].wait_queue. in hwi_gather_async_pdu()
1996 pasync_ctx->async_entry[cri].wait_queue. in hwi_gather_async_pdu()
1999 pasync_ctx, cri); in hwi_gather_async_pdu()
2010 struct hwi_async_pdu_context *pasync_ctx; in hwi_process_default_pdu_ring() local
2017 pasync_ctx = HWI_GET_ASYNC_PDU_CTX(phwi_ctrlr, in hwi_process_default_pdu_ring()
2021 pasync_handle = hwi_get_async_handle(phba, beiscsi_conn, pasync_ctx, in hwi_process_default_pdu_ring()
2025 hwi_update_async_writables(phba, pasync_ctx, in hwi_process_default_pdu_ring()
2945 struct hwi_async_pdu_context *pasync_ctx; in hwi_init_async_pdu_ctx() local
2958 phwi_ctrlr->phwi_ctxt->pasync_ctx[ulp_num] = in hwi_init_async_pdu_ctx()
2962 pasync_ctx = phwi_ctrlr->phwi_ctxt->pasync_ctx[ulp_num]; in hwi_init_async_pdu_ctx()
2963 memset(pasync_ctx, 0, sizeof(*pasync_ctx)); in hwi_init_async_pdu_ctx()
2965 pasync_ctx->async_entry = in hwi_init_async_pdu_ctx()
2967 ((long unsigned int)pasync_ctx + in hwi_init_async_pdu_ctx()
2970 pasync_ctx->num_entries = BEISCSI_GET_CID_COUNT(phba, in hwi_init_async_pdu_ctx()
2972 pasync_ctx->buffer_size = p->defpdu_hdr_sz; in hwi_init_async_pdu_ctx()
2990 pasync_ctx->async_header.va_base = in hwi_init_async_pdu_ctx()
2993 pasync_ctx->async_header.pa_base.u.a64.address = in hwi_init_async_pdu_ctx()
3013 pasync_ctx->async_header.ring_base = in hwi_init_async_pdu_ctx()
3032 pasync_ctx->async_header.handle_base = in hwi_init_async_pdu_ctx()
3034 pasync_ctx->async_header.writables = 0; in hwi_init_async_pdu_ctx()
3035 INIT_LIST_HEAD(&pasync_ctx->async_header.free_list); in hwi_init_async_pdu_ctx()
3053 pasync_ctx->async_data.ring_base = in hwi_init_async_pdu_ctx()
3065 pasync_ctx->async_data.handle_base = in hwi_init_async_pdu_ctx()
3067 pasync_ctx->async_data.writables = 0; in hwi_init_async_pdu_ctx()
3068 INIT_LIST_HEAD(&pasync_ctx->async_data.free_list); in hwi_init_async_pdu_ctx()
3072 pasync_ctx->async_header.handle_base; in hwi_init_async_pdu_ctx()
3075 pasync_ctx->async_data.handle_base; in hwi_init_async_pdu_ctx()
3094 pasync_ctx->async_data.va_base = in hwi_init_async_pdu_ctx()
3096 pasync_ctx->async_data.pa_base.u.a64.address = in hwi_init_async_pdu_ctx()
3111 (pasync_ctx-> in hwi_init_async_pdu_ctx()
3116 pasync_ctx->async_header.pa_base.u.a64. in hwi_init_async_pdu_ctx()
3120 &pasync_ctx->async_header. in hwi_init_async_pdu_ctx()
3123 pasync_ctx->async_header.free_entries++; in hwi_init_async_pdu_ctx()
3124 pasync_ctx->async_header.writables++; in hwi_init_async_pdu_ctx()
3126 INIT_LIST_HEAD(&pasync_ctx->async_entry[index]. in hwi_init_async_pdu_ctx()
3128 INIT_LIST_HEAD(&pasync_ctx->async_entry[index]. in hwi_init_async_pdu_ctx()
3137 pasync_ctx->async_data.va_base = in hwi_init_async_pdu_ctx()
3140 pasync_ctx->async_data.pa_base.u. in hwi_init_async_pdu_ctx()
3151 (pasync_ctx->async_data.va_base) + in hwi_init_async_pdu_ctx()
3155 pasync_ctx->async_data.pa_base.u.a64. in hwi_init_async_pdu_ctx()
3162 &pasync_ctx->async_data. in hwi_init_async_pdu_ctx()
3165 pasync_ctx->async_data.free_entries++; in hwi_init_async_pdu_ctx()
3166 pasync_ctx->async_data.writables++; in hwi_init_async_pdu_ctx()
3168 INIT_LIST_HEAD(&pasync_ctx->async_entry[index]. in hwi_init_async_pdu_ctx()
3172 pasync_ctx->async_header.host_write_ptr = 0; in hwi_init_async_pdu_ctx()
3173 pasync_ctx->async_header.ep_read_ptr = -1; in hwi_init_async_pdu_ctx()
3174 pasync_ctx->async_data.host_write_ptr = 0; in hwi_init_async_pdu_ctx()
3175 pasync_ctx->async_data.ep_read_ptr = -1; in hwi_init_async_pdu_ctx()
3720 struct hwi_async_pdu_context *pasync_ctx; in hwi_cleanup() local
3747 pasync_ctx = phwi_ctrlr->phwi_ctxt->pasync_ctx[ulp_num]; in hwi_cleanup()
3953 struct hwi_async_pdu_context *pasync_ctx; in hwi_init_port() local
3955 pasync_ctx = HWI_GET_ASYNC_PDU_CTX( in hwi_init_port()
3961 pasync_ctx->cid_to_async_cri_map[ in hwi_init_port()