Lines Matching defs:rss
968 struct ena_rss *rss = &ena_dev->rss;
971 sizeof(*rss->hash_key),
972 rss->hash_key,
973 rss->hash_key_dma_addr,
974 rss->hash_key_mem_handle);
976 if (unlikely(!rss->hash_key))
984 struct ena_rss *rss = &ena_dev->rss;
986 if (rss->hash_key)
988 sizeof(*rss->hash_key),
989 rss->hash_key,
990 rss->hash_key_dma_addr,
991 rss->hash_key_mem_handle);
992 rss->hash_key = NULL;
997 struct ena_rss *rss = &ena_dev->rss;
1000 sizeof(*rss->hash_ctrl),
1001 rss->hash_ctrl,
1002 rss->hash_ctrl_dma_addr,
1003 rss->hash_ctrl_mem_handle);
1005 if (unlikely(!rss->hash_ctrl))
1013 struct ena_rss *rss = &ena_dev->rss;
1015 if (rss->hash_ctrl)
1017 sizeof(*rss->hash_ctrl),
1018 rss->hash_ctrl,
1019 rss->hash_ctrl_dma_addr,
1020 rss->hash_ctrl_mem_handle);
1021 rss->hash_ctrl = NULL;
1027 struct ena_rss *rss = &ena_dev->rss;
1051 rss->rss_ind_tbl,
1052 rss->rss_ind_tbl_dma_addr,
1053 rss->rss_ind_tbl_mem_handle);
1054 if (unlikely(!rss->rss_ind_tbl))
1057 rss->host_rss_ind_tbl_size = (1ULL << log_size) * sizeof(u16);
1058 rss->host_rss_ind_tbl =
1059 ENA_MEM_ALLOC(ena_dev->dmadev, rss->host_rss_ind_tbl_size);
1060 if (unlikely(!rss->host_rss_ind_tbl))
1063 rss->tbl_log_size = log_size;
1073 rss->rss_ind_tbl,
1074 rss->rss_ind_tbl_dma_addr,
1075 rss->rss_ind_tbl_mem_handle);
1076 rss->rss_ind_tbl = NULL;
1078 rss->tbl_log_size = 0;
1084 struct ena_rss *rss = &ena_dev->rss;
1085 size_t tbl_size = (1ULL << rss->tbl_log_size) *
1088 if (rss->rss_ind_tbl)
1091 rss->rss_ind_tbl,
1092 rss->rss_ind_tbl_dma_addr,
1093 rss->rss_ind_tbl_mem_handle);
1094 rss->rss_ind_tbl = NULL;
1096 if (rss->host_rss_ind_tbl)
1097 ENA_MEM_FREE(ena_dev->dmadev, rss->host_rss_ind_tbl,
1098 rss->host_rss_ind_tbl_size);
1099 rss->host_rss_ind_tbl = NULL;
1178 struct ena_rss *rss = &ena_dev->rss;
1183 for (i = 0; i < 1 << rss->tbl_log_size; i++) {
1184 qid = rss->host_rss_ind_tbl[i];
1193 rss->rss_ind_tbl[i].cq_idx = io_sq->idx;
1202 struct ena_rss *rss = &ena_dev->rss;
1209 for (i = 0; i < 1 << rss->tbl_log_size; i++) {
1210 if (rss->rss_ind_tbl[i].cq_idx > ENA_TOTAL_NUM_QUEUES)
1212 idx = (u8)rss->rss_ind_tbl[i].cq_idx;
1217 rss->host_rss_ind_tbl[i] = dev_idx_to_host_tbl[idx];
2235 struct ena_rss *rss = &ena_dev->rss;
2254 if (get_resp.u.flow_hash_func.supported_func & (1 << rss->hash_func)) {
2256 rss->hash_func);
2266 cmd.u.flow_hash_func.init_val = rss->hash_init_val;
2267 cmd.u.flow_hash_func.selected_func = 1 << rss->hash_func;
2271 rss->hash_key_dma_addr);
2277 cmd.control_buffer.length = sizeof(*rss->hash_key);
2286 rss->hash_func, ret);
2297 struct ena_rss *rss = &ena_dev->rss;
2300 rss->hash_key;
2309 rss->hash_key_dma_addr,
2310 sizeof(*rss->hash_key));
2328 rss->hash_init_val = init_val;
2332 rss->hash_init_val = init_val;
2352 struct ena_rss *rss = &ena_dev->rss;
2355 rss->hash_key;
2360 rss->hash_key_dma_addr,
2361 sizeof(*rss->hash_key));
2365 rss->hash_func = get_resp.u.flow_hash_func.selected_func;
2367 *func = rss->hash_func;
2379 struct ena_rss *rss = &ena_dev->rss;
2385 rss->hash_ctrl_dma_addr,
2386 sizeof(*rss->hash_ctrl));
2391 *fields = rss->hash_ctrl->selected_fields[proto].fields;
2399 struct ena_rss *rss = &ena_dev->rss;
2400 struct ena_admin_feature_rss_hash_control *hash_ctrl = rss->hash_ctrl;
2424 rss->hash_ctrl_dma_addr);
2444 struct ena_rss *rss = &ena_dev->rss;
2446 rss->hash_ctrl;
2507 struct ena_rss *rss = &ena_dev->rss;
2508 struct ena_admin_feature_rss_hash_control *hash_ctrl = rss->hash_ctrl;
2543 struct ena_rss *rss = &ena_dev->rss;
2545 if (unlikely(entry_idx >= (1 << rss->tbl_log_size)))
2551 rss->host_rss_ind_tbl[entry_idx] = entry_value;
2559 struct ena_rss *rss = &ena_dev->rss;
2583 cmd.u.ind_table.size = rss->tbl_log_size;
2588 rss->rss_ind_tbl_dma_addr);
2594 cmd.control_buffer.length = (1ULL << rss->tbl_log_size) *
2611 struct ena_rss *rss = &ena_dev->rss;
2616 tbl_size = (1ULL << rss->tbl_log_size) *
2621 rss->rss_ind_tbl_dma_addr,
2633 for (i = 0; i < (1 << rss->tbl_log_size); i++)
2634 ind_tbl[i] = rss->host_rss_ind_tbl[i];
2643 memset(&ena_dev->rss, 0x0, sizeof(ena_dev->rss));
2674 memset(&ena_dev->rss, 0x0, sizeof(ena_dev->rss));