Lines Matching refs:rss

847 	struct ena_rss *rss = &ena_dev->rss;  in ena_com_hash_key_allocate()  local
849 rss->hash_key = in ena_com_hash_key_allocate()
850 dma_zalloc_coherent(ena_dev->dmadev, sizeof(*rss->hash_key), in ena_com_hash_key_allocate()
851 &rss->hash_key_dma_addr, GFP_KERNEL); in ena_com_hash_key_allocate()
853 if (unlikely(!rss->hash_key)) in ena_com_hash_key_allocate()
861 struct ena_rss *rss = &ena_dev->rss; in ena_com_hash_key_destroy() local
863 if (rss->hash_key) in ena_com_hash_key_destroy()
864 dma_free_coherent(ena_dev->dmadev, sizeof(*rss->hash_key), in ena_com_hash_key_destroy()
865 rss->hash_key, rss->hash_key_dma_addr); in ena_com_hash_key_destroy()
866 rss->hash_key = NULL; in ena_com_hash_key_destroy()
871 struct ena_rss *rss = &ena_dev->rss; in ena_com_hash_ctrl_init() local
873 rss->hash_ctrl = in ena_com_hash_ctrl_init()
874 dma_zalloc_coherent(ena_dev->dmadev, sizeof(*rss->hash_ctrl), in ena_com_hash_ctrl_init()
875 &rss->hash_ctrl_dma_addr, GFP_KERNEL); in ena_com_hash_ctrl_init()
877 if (unlikely(!rss->hash_ctrl)) in ena_com_hash_ctrl_init()
885 struct ena_rss *rss = &ena_dev->rss; in ena_com_hash_ctrl_destroy() local
887 if (rss->hash_ctrl) in ena_com_hash_ctrl_destroy()
888 dma_free_coherent(ena_dev->dmadev, sizeof(*rss->hash_ctrl), in ena_com_hash_ctrl_destroy()
889 rss->hash_ctrl, rss->hash_ctrl_dma_addr); in ena_com_hash_ctrl_destroy()
890 rss->hash_ctrl = NULL; in ena_com_hash_ctrl_destroy()
896 struct ena_rss *rss = &ena_dev->rss; in ena_com_indirect_table_allocate() local
917 rss->rss_ind_tbl = in ena_com_indirect_table_allocate()
919 &rss->rss_ind_tbl_dma_addr, GFP_KERNEL); in ena_com_indirect_table_allocate()
920 if (unlikely(!rss->rss_ind_tbl)) in ena_com_indirect_table_allocate()
924 rss->host_rss_ind_tbl = in ena_com_indirect_table_allocate()
926 if (unlikely(!rss->host_rss_ind_tbl)) in ena_com_indirect_table_allocate()
929 rss->tbl_log_size = log_size; in ena_com_indirect_table_allocate()
937 dma_free_coherent(ena_dev->dmadev, tbl_size, rss->rss_ind_tbl, in ena_com_indirect_table_allocate()
938 rss->rss_ind_tbl_dma_addr); in ena_com_indirect_table_allocate()
939 rss->rss_ind_tbl = NULL; in ena_com_indirect_table_allocate()
941 rss->tbl_log_size = 0; in ena_com_indirect_table_allocate()
947 struct ena_rss *rss = &ena_dev->rss; in ena_com_indirect_table_destroy() local
948 size_t tbl_size = (1ULL << rss->tbl_log_size) * in ena_com_indirect_table_destroy()
951 if (rss->rss_ind_tbl) in ena_com_indirect_table_destroy()
952 dma_free_coherent(ena_dev->dmadev, tbl_size, rss->rss_ind_tbl, in ena_com_indirect_table_destroy()
953 rss->rss_ind_tbl_dma_addr); in ena_com_indirect_table_destroy()
954 rss->rss_ind_tbl = NULL; in ena_com_indirect_table_destroy()
956 if (rss->host_rss_ind_tbl) in ena_com_indirect_table_destroy()
957 devm_kfree(ena_dev->dmadev, rss->host_rss_ind_tbl); in ena_com_indirect_table_destroy()
958 rss->host_rss_ind_tbl = NULL; in ena_com_indirect_table_destroy()
1037 struct ena_rss *rss = &ena_dev->rss; in ena_com_ind_tbl_convert_to_device() local
1042 for (i = 0; i < 1 << rss->tbl_log_size; i++) { in ena_com_ind_tbl_convert_to_device()
1043 qid = rss->host_rss_ind_tbl[i]; in ena_com_ind_tbl_convert_to_device()
1052 rss->rss_ind_tbl[i].cq_idx = io_sq->idx; in ena_com_ind_tbl_convert_to_device()
1061 struct ena_rss *rss = &ena_dev->rss; in ena_com_ind_tbl_convert_from_device() local
1068 for (i = 0; i < 1 << rss->tbl_log_size; i++) { in ena_com_ind_tbl_convert_from_device()
1069 if (rss->rss_ind_tbl[i].cq_idx > ENA_TOTAL_NUM_QUEUES) in ena_com_ind_tbl_convert_from_device()
1071 idx = (u8)rss->rss_ind_tbl[i].cq_idx; in ena_com_ind_tbl_convert_from_device()
1076 rss->host_rss_ind_tbl[i] = dev_idx_to_host_tbl[idx]; in ena_com_ind_tbl_convert_from_device()
1992 struct ena_rss *rss = &ena_dev->rss; in ena_com_set_hash_function() local
2011 if (get_resp.u.flow_hash_func.supported_func & (1 << rss->hash_func)) { in ena_com_set_hash_function()
2013 rss->hash_func); in ena_com_set_hash_function()
2023 cmd.u.flow_hash_func.init_val = rss->hash_init_val; in ena_com_set_hash_function()
2024 cmd.u.flow_hash_func.selected_func = 1 << rss->hash_func; in ena_com_set_hash_function()
2028 rss->hash_key_dma_addr); in ena_com_set_hash_function()
2034 cmd.control_buffer.length = sizeof(*rss->hash_key); in ena_com_set_hash_function()
2043 rss->hash_func, ret); in ena_com_set_hash_function()
2054 struct ena_rss *rss = &ena_dev->rss; in ena_com_fill_hash_function() local
2057 rss->hash_key; in ena_com_fill_hash_function()
2066 rss->hash_key_dma_addr, in ena_com_fill_hash_function()
2067 sizeof(*rss->hash_key)); in ena_com_fill_hash_function()
2085 rss->hash_init_val = init_val; in ena_com_fill_hash_function()
2089 rss->hash_init_val = init_val; in ena_com_fill_hash_function()
2109 struct ena_rss *rss = &ena_dev->rss; in ena_com_get_hash_function() local
2112 rss->hash_key; in ena_com_get_hash_function()
2117 rss->hash_key_dma_addr, in ena_com_get_hash_function()
2118 sizeof(*rss->hash_key)); in ena_com_get_hash_function()
2122 rss->hash_func = get_resp.u.flow_hash_func.selected_func; in ena_com_get_hash_function()
2124 *func = rss->hash_func; in ena_com_get_hash_function()
2136 struct ena_rss *rss = &ena_dev->rss; in ena_com_get_hash_ctrl() local
2142 rss->hash_ctrl_dma_addr, in ena_com_get_hash_ctrl()
2143 sizeof(*rss->hash_ctrl)); in ena_com_get_hash_ctrl()
2148 *fields = rss->hash_ctrl->selected_fields[proto].fields; in ena_com_get_hash_ctrl()
2156 struct ena_rss *rss = &ena_dev->rss; in ena_com_set_hash_ctrl() local
2157 struct ena_admin_feature_rss_hash_control *hash_ctrl = rss->hash_ctrl; in ena_com_set_hash_ctrl()
2181 rss->hash_ctrl_dma_addr); in ena_com_set_hash_ctrl()
2201 struct ena_rss *rss = &ena_dev->rss; in ena_com_set_default_hash_ctrl() local
2203 rss->hash_ctrl; in ena_com_set_default_hash_ctrl()
2264 struct ena_rss *rss = &ena_dev->rss; in ena_com_fill_hash_ctrl() local
2265 struct ena_admin_feature_rss_hash_control *hash_ctrl = rss->hash_ctrl; in ena_com_fill_hash_ctrl()
2300 struct ena_rss *rss = &ena_dev->rss; in ena_com_indirect_table_fill_entry() local
2302 if (unlikely(entry_idx >= (1 << rss->tbl_log_size))) in ena_com_indirect_table_fill_entry()
2308 rss->host_rss_ind_tbl[entry_idx] = entry_value; in ena_com_indirect_table_fill_entry()
2316 struct ena_rss *rss = &ena_dev->rss; in ena_com_indirect_table_set() local
2340 cmd.u.ind_table.size = rss->tbl_log_size; in ena_com_indirect_table_set()
2345 rss->rss_ind_tbl_dma_addr); in ena_com_indirect_table_set()
2351 cmd.control_buffer.length = (1ULL << rss->tbl_log_size) * in ena_com_indirect_table_set()
2368 struct ena_rss *rss = &ena_dev->rss; in ena_com_indirect_table_get() local
2373 tbl_size = (1ULL << rss->tbl_log_size) * in ena_com_indirect_table_get()
2378 rss->rss_ind_tbl_dma_addr, in ena_com_indirect_table_get()
2390 for (i = 0; i < (1 << rss->tbl_log_size); i++) in ena_com_indirect_table_get()
2391 ind_tbl[i] = rss->host_rss_ind_tbl[i]; in ena_com_indirect_table_get()
2400 memset(&ena_dev->rss, 0x0, sizeof(ena_dev->rss)); in ena_com_rss_init()
2431 memset(&ena_dev->rss, 0x0, sizeof(ena_dev->rss)); in ena_com_rss_destroy()