Lines Matching full:rss

1146 	return ena_dev->rss.hash_func;  in ena_com_get_current_hash_function()
1152 (ena_dev->rss).hash_key; in ena_com_hash_key_fill_default_key()
1163 struct ena_rss *rss = &ena_dev->rss; in ena_com_hash_key_allocate() local
1169 sizeof(*rss->hash_key), in ena_com_hash_key_allocate()
1170 rss->hash_key, in ena_com_hash_key_allocate()
1171 rss->hash_key_dma_addr, in ena_com_hash_key_allocate()
1172 rss->hash_key_mem_handle); in ena_com_hash_key_allocate()
1174 if (unlikely(!rss->hash_key)) in ena_com_hash_key_allocate()
1182 struct ena_rss *rss = &ena_dev->rss; in ena_com_hash_key_destroy() local
1184 if (rss->hash_key) in ena_com_hash_key_destroy()
1186 sizeof(*rss->hash_key), in ena_com_hash_key_destroy()
1187 rss->hash_key, in ena_com_hash_key_destroy()
1188 rss->hash_key_dma_addr, in ena_com_hash_key_destroy()
1189 rss->hash_key_mem_handle); in ena_com_hash_key_destroy()
1190 rss->hash_key = NULL; in ena_com_hash_key_destroy()
1195 struct ena_rss *rss = &ena_dev->rss; in ena_com_hash_ctrl_init() local
1198 sizeof(*rss->hash_ctrl), in ena_com_hash_ctrl_init()
1199 rss->hash_ctrl, in ena_com_hash_ctrl_init()
1200 rss->hash_ctrl_dma_addr, in ena_com_hash_ctrl_init()
1201 rss->hash_ctrl_mem_handle); in ena_com_hash_ctrl_init()
1203 if (unlikely(!rss->hash_ctrl)) in ena_com_hash_ctrl_init()
1211 struct ena_rss *rss = &ena_dev->rss; in ena_com_hash_ctrl_destroy() local
1213 if (rss->hash_ctrl) in ena_com_hash_ctrl_destroy()
1215 sizeof(*rss->hash_ctrl), in ena_com_hash_ctrl_destroy()
1216 rss->hash_ctrl, in ena_com_hash_ctrl_destroy()
1217 rss->hash_ctrl_dma_addr, in ena_com_hash_ctrl_destroy()
1218 rss->hash_ctrl_mem_handle); in ena_com_hash_ctrl_destroy()
1219 rss->hash_ctrl = NULL; in ena_com_hash_ctrl_destroy()
1225 struct ena_rss *rss = &ena_dev->rss; in ena_com_indirect_table_allocate() local
1249 rss->rss_ind_tbl, in ena_com_indirect_table_allocate()
1250 rss->rss_ind_tbl_dma_addr, in ena_com_indirect_table_allocate()
1251 rss->rss_ind_tbl_mem_handle); in ena_com_indirect_table_allocate()
1252 if (unlikely(!rss->rss_ind_tbl)) in ena_com_indirect_table_allocate()
1256 rss->host_rss_ind_tbl = in ena_com_indirect_table_allocate()
1258 if (unlikely(!rss->host_rss_ind_tbl)) in ena_com_indirect_table_allocate()
1261 rss->tbl_log_size = log_size; in ena_com_indirect_table_allocate()
1271 rss->rss_ind_tbl, in ena_com_indirect_table_allocate()
1272 rss->rss_ind_tbl_dma_addr, in ena_com_indirect_table_allocate()
1273 rss->rss_ind_tbl_mem_handle); in ena_com_indirect_table_allocate()
1274 rss->rss_ind_tbl = NULL; in ena_com_indirect_table_allocate()
1276 rss->tbl_log_size = 0; in ena_com_indirect_table_allocate()
1282 struct ena_rss *rss = &ena_dev->rss; in ena_com_indirect_table_destroy() local
1283 size_t tbl_size = (1ULL << rss->tbl_log_size) * in ena_com_indirect_table_destroy()
1286 if (rss->rss_ind_tbl) in ena_com_indirect_table_destroy()
1289 rss->rss_ind_tbl, in ena_com_indirect_table_destroy()
1290 rss->rss_ind_tbl_dma_addr, in ena_com_indirect_table_destroy()
1291 rss->rss_ind_tbl_mem_handle); in ena_com_indirect_table_destroy()
1292 rss->rss_ind_tbl = NULL; in ena_com_indirect_table_destroy()
1294 if (rss->host_rss_ind_tbl) in ena_com_indirect_table_destroy()
1296 rss->host_rss_ind_tbl, in ena_com_indirect_table_destroy()
1297 ((1ULL << rss->tbl_log_size) * sizeof(u16))); in ena_com_indirect_table_destroy()
1298 rss->host_rss_ind_tbl = NULL; in ena_com_indirect_table_destroy()
1374 struct ena_rss *rss = &ena_dev->rss; in ena_com_ind_tbl_convert_to_device() local
1379 for (i = 0; i < 1 << rss->tbl_log_size; i++) { in ena_com_ind_tbl_convert_to_device()
1380 qid = rss->host_rss_ind_tbl[i]; in ena_com_ind_tbl_convert_to_device()
1389 rss->rss_ind_tbl[i].cq_idx = io_sq->idx; in ena_com_ind_tbl_convert_to_device()
2844 struct ena_rss *rss = &ena_dev->rss; in ena_com_set_hash_function() local
2863 if (!(get_resp.u.flow_hash_func.supported_func & BIT(rss->hash_func))) { in ena_com_set_hash_function()
2865 rss->hash_func); in ena_com_set_hash_function()
2875 cmd.u.flow_hash_func.init_val = rss->hash_init_val; in ena_com_set_hash_function()
2876 cmd.u.flow_hash_func.selected_func = 1 << rss->hash_func; in ena_com_set_hash_function()
2880 rss->hash_key_dma_addr); in ena_com_set_hash_function()
2886 cmd.control_buffer.length = sizeof(*rss->hash_key); in ena_com_set_hash_function()
2895 rss->hash_func, ret); in ena_com_set_hash_function()
2909 struct ena_rss *rss = &ena_dev->rss; in ena_com_fill_hash_function() local
2912 hash_key = rss->hash_key; in ena_com_fill_hash_function()
2920 rss->hash_key_dma_addr, in ena_com_fill_hash_function()
2921 sizeof(*rss->hash_key), 0); in ena_com_fill_hash_function()
2940 rss->hash_init_val = init_val; in ena_com_fill_hash_function()
2941 old_func = rss->hash_func; in ena_com_fill_hash_function()
2942 rss->hash_func = func; in ena_com_fill_hash_function()
2947 rss->hash_func = old_func; in ena_com_fill_hash_function()
2955 struct ena_rss *rss = &ena_dev->rss; in ena_com_get_hash_function() local
2964 rss->hash_key_dma_addr, in ena_com_get_hash_function()
2965 sizeof(*rss->hash_key), 0); in ena_com_get_hash_function()
2970 rss->hash_func = ENA_FFS(get_resp.u.flow_hash_func.selected_func); in ena_com_get_hash_function()
2971 if (rss->hash_func) in ena_com_get_hash_function()
2972 rss->hash_func--; in ena_com_get_hash_function()
2974 *func = rss->hash_func; in ena_com_get_hash_function()
2982 ena_dev->rss.hash_key; in ena_com_get_hash_key()
2995 struct ena_rss *rss = &ena_dev->rss; in ena_com_get_hash_ctrl() local
3001 rss->hash_ctrl_dma_addr, in ena_com_get_hash_ctrl()
3002 sizeof(*rss->hash_ctrl), 0); in ena_com_get_hash_ctrl()
3007 *fields = rss->hash_ctrl->selected_fields[proto].fields; in ena_com_get_hash_ctrl()
3015 struct ena_rss *rss = &ena_dev->rss; in ena_com_set_hash_ctrl() local
3016 struct ena_admin_feature_rss_hash_control *hash_ctrl = rss->hash_ctrl; in ena_com_set_hash_ctrl()
3040 rss->hash_ctrl_dma_addr); in ena_com_set_hash_ctrl()
3060 struct ena_rss *rss = &ena_dev->rss; in ena_com_set_default_hash_ctrl() local
3062 rss->hash_ctrl; in ena_com_set_default_hash_ctrl()
3123 struct ena_rss *rss = &ena_dev->rss; in ena_com_fill_hash_ctrl() local
3124 struct ena_admin_feature_rss_hash_control *hash_ctrl = rss->hash_ctrl; in ena_com_fill_hash_ctrl()
3159 struct ena_rss *rss = &ena_dev->rss; in ena_com_indirect_table_fill_entry() local
3161 if (unlikely(entry_idx >= (1 << rss->tbl_log_size))) in ena_com_indirect_table_fill_entry()
3167 rss->host_rss_ind_tbl[entry_idx] = entry_value; in ena_com_indirect_table_fill_entry()
3175 struct ena_rss *rss = &ena_dev->rss; in ena_com_indirect_table_set() local
3199 cmd.u.ind_table.size = rss->tbl_log_size; in ena_com_indirect_table_set()
3204 rss->rss_ind_tbl_dma_addr); in ena_com_indirect_table_set()
3210 cmd.control_buffer.length = (1ULL << rss->tbl_log_size) * in ena_com_indirect_table_set()
3227 struct ena_rss *rss = &ena_dev->rss; in ena_com_indirect_table_get() local
3232 tbl_size = (1ULL << rss->tbl_log_size) * in ena_com_indirect_table_get()
3237 rss->rss_ind_tbl_dma_addr, in ena_com_indirect_table_get()
3245 for (i = 0; i < (1 << rss->tbl_log_size); i++) in ena_com_indirect_table_get()
3246 ind_tbl[i] = rss->host_rss_ind_tbl[i]; in ena_com_indirect_table_get()
3255 memset(&ena_dev->rss, 0x0, sizeof(ena_dev->rss)); in ena_com_rss_init()
3292 memset(&ena_dev->rss, 0x0, sizeof(ena_dev->rss)); in ena_com_rss_destroy()