Lines Matching refs:rss

1057 	return ena_dev->rss.hash_func;
1063 (ena_dev->rss).hash_key;
1074 struct ena_rss *rss = &ena_dev->rss;
1079 rss->hash_key = dma_alloc_coherent(ena_dev->dmadev, sizeof(*rss->hash_key),
1080 &rss->hash_key_dma_addr, GFP_KERNEL);
1082 if (unlikely(!rss->hash_key))
1090 struct ena_rss *rss = &ena_dev->rss;
1092 if (rss->hash_key)
1093 dma_free_coherent(ena_dev->dmadev, sizeof(*rss->hash_key), rss->hash_key,
1094 rss->hash_key_dma_addr);
1095 rss->hash_key = NULL;
1100 struct ena_rss *rss = &ena_dev->rss;
1102 rss->hash_ctrl = dma_alloc_coherent(ena_dev->dmadev, sizeof(*rss->hash_ctrl),
1103 &rss->hash_ctrl_dma_addr, GFP_KERNEL);
1105 if (unlikely(!rss->hash_ctrl))
1113 struct ena_rss *rss = &ena_dev->rss;
1115 if (rss->hash_ctrl)
1116 dma_free_coherent(ena_dev->dmadev, sizeof(*rss->hash_ctrl), rss->hash_ctrl,
1117 rss->hash_ctrl_dma_addr);
1118 rss->hash_ctrl = NULL;
1124 struct ena_rss *rss = &ena_dev->rss;
1146 rss->rss_ind_tbl = dma_alloc_coherent(ena_dev->dmadev, tbl_size, &rss->rss_ind_tbl_dma_addr,
1148 if (unlikely(!rss->rss_ind_tbl))
1152 rss->host_rss_ind_tbl = devm_kzalloc(ena_dev->dmadev, tbl_size, GFP_KERNEL);
1153 if (unlikely(!rss->host_rss_ind_tbl))
1156 rss->tbl_log_size = log_size;
1164 dma_free_coherent(ena_dev->dmadev, tbl_size, rss->rss_ind_tbl, rss->rss_ind_tbl_dma_addr);
1165 rss->rss_ind_tbl = NULL;
1167 rss->tbl_log_size = 0;
1173 struct ena_rss *rss = &ena_dev->rss;
1174 size_t tbl_size = (1ULL << rss->tbl_log_size) *
1177 if (rss->rss_ind_tbl)
1178 dma_free_coherent(ena_dev->dmadev, tbl_size, rss->rss_ind_tbl,
1179 rss->rss_ind_tbl_dma_addr);
1180 rss->rss_ind_tbl = NULL;
1182 if (rss->host_rss_ind_tbl)
1183 devm_kfree(ena_dev->dmadev, rss->host_rss_ind_tbl);
1184 rss->host_rss_ind_tbl = NULL;
1260 struct ena_rss *rss = &ena_dev->rss;
1265 for (i = 0; i < 1 << rss->tbl_log_size; i++) {
1266 qid = rss->host_rss_ind_tbl[i];
1275 rss->rss_ind_tbl[i].cq_idx = io_sq->idx;
2234 struct ena_rss *rss = &ena_dev->rss;
2252 if (!(get_resp.u.flow_hash_func.supported_func & BIT(rss->hash_func))) {
2254 rss->hash_func);
2264 cmd.u.flow_hash_func.init_val = rss->hash_init_val;
2265 cmd.u.flow_hash_func.selected_func = 1 << rss->hash_func;
2269 rss->hash_key_dma_addr);
2275 cmd.control_buffer.length = sizeof(*rss->hash_key);
2284 rss->hash_func, ret);
2298 struct ena_rss *rss = &ena_dev->rss;
2301 hash_key = rss->hash_key;
2309 rss->hash_key_dma_addr,
2310 sizeof(*rss->hash_key), 0);
2330 rss->hash_init_val = init_val;
2331 old_func = rss->hash_func;
2332 rss->hash_func = func;
2337 rss->hash_func = old_func;
2345 struct ena_rss *rss = &ena_dev->rss;
2354 rss->hash_key_dma_addr,
2355 sizeof(*rss->hash_key), 0);
2360 rss->hash_func = ffs(get_resp.u.flow_hash_func.selected_func);
2361 if (rss->hash_func)
2362 rss->hash_func--;
2364 *func = rss->hash_func;
2372 ena_dev->rss.hash_key;
2385 struct ena_rss *rss = &ena_dev->rss;
2391 rss->hash_ctrl_dma_addr,
2392 sizeof(*rss->hash_ctrl), 0);
2397 *fields = rss->hash_ctrl->selected_fields[proto].fields;
2405 struct ena_rss *rss = &ena_dev->rss;
2406 struct ena_admin_feature_rss_hash_control *hash_ctrl = rss->hash_ctrl;
2429 rss->hash_ctrl_dma_addr);
2449 struct ena_rss *rss = &ena_dev->rss;
2451 rss->hash_ctrl;
2513 struct ena_rss *rss = &ena_dev->rss;
2514 struct ena_admin_feature_rss_hash_control *hash_ctrl = rss->hash_ctrl;
2550 struct ena_rss *rss = &ena_dev->rss;
2552 if (unlikely(entry_idx >= (1 << rss->tbl_log_size)))
2558 rss->host_rss_ind_tbl[entry_idx] = entry_value;
2566 struct ena_rss *rss = &ena_dev->rss;
2590 cmd.u.ind_table.size = rss->tbl_log_size;
2595 rss->rss_ind_tbl_dma_addr);
2601 cmd.control_buffer.length = (1ULL << rss->tbl_log_size) *
2618 struct ena_rss *rss = &ena_dev->rss;
2623 tbl_size = (1ULL << rss->tbl_log_size) *
2628 rss->rss_ind_tbl_dma_addr,
2636 for (i = 0; i < (1 << rss->tbl_log_size); i++)
2637 ind_tbl[i] = rss->host_rss_ind_tbl[i];
2646 memset(&ena_dev->rss, 0x0, sizeof(ena_dev->rss));
2683 memset(&ena_dev->rss, 0x0, sizeof(ena_dev->rss));