Searched refs:hmc_info (Results 1 - 6 of 6) sorted by relevance

/linux-4.1.27/drivers/net/ethernet/intel/i40e/
H A Di40e_hmc.c37 * @hmc_info: pointer to the HMC configuration information struct
43 struct i40e_hmc_info *hmc_info, i40e_add_sd_table_entry()
55 if (NULL == hmc_info->sd_table.sd_entry) { i40e_add_sd_table_entry()
61 if (sd_index >= hmc_info->sd_table.sd_cnt) { i40e_add_sd_table_entry()
67 sd_entry = &hmc_info->sd_table.sd_entry[sd_index]; i40e_add_sd_table_entry()
98 hmc_info->sd_table.sd_entry[sd_index].entry_type = type; i40e_add_sd_table_entry()
101 I40E_INC_SD_REFCNT(&hmc_info->sd_table); i40e_add_sd_table_entry()
117 * @hmc_info: pointer to the HMC configuration information structure
131 struct i40e_hmc_info *hmc_info, i40e_add_pd_table_entry()
142 if (pd_index / I40E_HMC_PD_CNT_IN_SD >= hmc_info->sd_table.sd_cnt) { i40e_add_pd_table_entry()
151 hmc_info->sd_table.sd_entry[sd_idx].entry_type) i40e_add_pd_table_entry()
155 pd_table = &hmc_info->sd_table.sd_entry[sd_idx].u.pd_table; i40e_add_pd_table_entry()
189 * @hmc_info: pointer to the HMC configuration information structure
203 struct i40e_hmc_info *hmc_info, i40e_remove_pd_bp()
216 if (sd_idx >= hmc_info->sd_table.sd_cnt) { i40e_remove_pd_bp()
221 sd_entry = &hmc_info->sd_table.sd_entry[sd_idx]; i40e_remove_pd_bp()
228 pd_table = &hmc_info->sd_table.sd_entry[sd_idx].u.pd_table; i40e_remove_pd_bp()
254 * @hmc_info: pointer to the HMC configuration information structure
257 i40e_status i40e_prep_remove_sd_bp(struct i40e_hmc_info *hmc_info, i40e_prep_remove_sd_bp() argument
264 sd_entry = &hmc_info->sd_table.sd_entry[idx]; i40e_prep_remove_sd_bp()
270 I40E_DEC_SD_REFCNT(&hmc_info->sd_table); i40e_prep_remove_sd_bp()
281 * @hmc_info: pointer to the HMC configuration information structure
286 struct i40e_hmc_info *hmc_info, i40e_remove_sd_bp_new()
293 sd_entry = &hmc_info->sd_table.sd_entry[idx]; i40e_remove_sd_bp_new()
309 * @hmc_info: pointer to the HMC configuration information structure
312 i40e_status i40e_prep_remove_pd_page(struct i40e_hmc_info *hmc_info, i40e_prep_remove_pd_page() argument
318 sd_entry = &hmc_info->sd_table.sd_entry[idx]; i40e_prep_remove_pd_page()
328 I40E_DEC_SD_REFCNT(&hmc_info->sd_table); i40e_prep_remove_pd_page()
336 * @hmc_info: pointer to the HMC configuration information structure
341 struct i40e_hmc_info *hmc_info, i40e_remove_pd_page_new()
347 sd_entry = &hmc_info->sd_table.sd_entry[idx]; i40e_remove_pd_page_new()
42 i40e_add_sd_table_entry(struct i40e_hw *hw, struct i40e_hmc_info *hmc_info, u32 sd_index, enum i40e_sd_entry_type type, u64 direct_mode_sz) i40e_add_sd_table_entry() argument
130 i40e_add_pd_table_entry(struct i40e_hw *hw, struct i40e_hmc_info *hmc_info, u32 pd_index) i40e_add_pd_table_entry() argument
202 i40e_remove_pd_bp(struct i40e_hw *hw, struct i40e_hmc_info *hmc_info, u32 idx) i40e_remove_pd_bp() argument
285 i40e_remove_sd_bp_new(struct i40e_hw *hw, struct i40e_hmc_info *hmc_info, u32 idx, bool is_pf) i40e_remove_sd_bp_new() argument
340 i40e_remove_pd_page_new(struct i40e_hw *hw, struct i40e_hmc_info *hmc_info, u32 idx, bool is_pf) i40e_remove_pd_page_new() argument
H A Di40e_hmc.h168 * @hmc_info: pointer to the HMC configuration information structure
178 #define I40E_FIND_SD_INDEX_LIMIT(hmc_info, type, index, cnt, sd_idx, sd_limit)\
181 fpm_addr = (hmc_info)->hmc_obj[(type)].base + \
182 (hmc_info)->hmc_obj[(type)].size * (index); \
183 fpm_limit = fpm_addr + (hmc_info)->hmc_obj[(type)].size * (cnt);\
192 * @hmc_info: pointer to the HMC configuration information struct
202 #define I40E_FIND_PD_INDEX_LIMIT(hmc_info, type, idx, cnt, pd_index, pd_limit)\
205 fpm_adr = (hmc_info)->hmc_obj[(type)].base + \
206 (hmc_info)->hmc_obj[(type)].size * (idx); \
207 fpm_limit = fpm_adr + (hmc_info)->hmc_obj[(type)].size * (cnt); \
214 struct i40e_hmc_info *hmc_info,
220 struct i40e_hmc_info *hmc_info,
223 struct i40e_hmc_info *hmc_info,
225 i40e_status i40e_prep_remove_sd_bp(struct i40e_hmc_info *hmc_info,
228 struct i40e_hmc_info *hmc_info,
230 i40e_status i40e_prep_remove_pd_page(struct i40e_hmc_info *hmc_info,
233 struct i40e_hmc_info *hmc_info,
H A Di40e_lan_hmc.c243 * @hmc_info: pointer to the HMC configuration information structure
255 struct i40e_hmc_info *hmc_info, i40e_remove_pd_page()
260 if (!i40e_prep_remove_pd_page(hmc_info, idx)) i40e_remove_pd_page()
261 ret_code = i40e_remove_pd_page_new(hw, hmc_info, idx, true); i40e_remove_pd_page()
269 * @hmc_info: pointer to the HMC configuration information structure
282 struct i40e_hmc_info *hmc_info, i40e_remove_sd_bp()
287 if (!i40e_prep_remove_sd_bp(hmc_info, idx)) i40e_remove_sd_bp()
288 ret_code = i40e_remove_sd_bp_new(hw, hmc_info, idx, true); i40e_remove_sd_bp()
318 if (NULL == info->hmc_info) { i40e_create_lan_hmc_object()
320 hw_dbg(hw, "i40e_create_lan_hmc_object: bad hmc_info ptr\n"); i40e_create_lan_hmc_object()
323 if (I40E_HMC_INFO_SIGNATURE != info->hmc_info->signature) { i40e_create_lan_hmc_object()
329 if (info->start_idx >= info->hmc_info->hmc_obj[info->rsrc_type].cnt) { i40e_create_lan_hmc_object()
336 info->hmc_info->hmc_obj[info->rsrc_type].cnt) { i40e_create_lan_hmc_object()
344 I40E_FIND_SD_INDEX_LIMIT(info->hmc_info, info->rsrc_type, i40e_create_lan_hmc_object()
347 if (sd_idx >= info->hmc_info->sd_table.sd_cnt || i40e_create_lan_hmc_object()
348 sd_lmt > info->hmc_info->sd_table.sd_cnt) { i40e_create_lan_hmc_object()
353 I40E_FIND_PD_INDEX_LIMIT(info->hmc_info, info->rsrc_type, i40e_create_lan_hmc_object()
371 ret_code = i40e_add_sd_table_entry(hw, info->hmc_info, j, i40e_create_lan_hmc_object()
376 sd_entry = &info->hmc_info->sd_table.sd_entry[j]; i40e_create_lan_hmc_object()
389 info->hmc_info, i40e_create_lan_hmc_object()
399 i40e_remove_pd_bp(hw, info->hmc_info, i40e_create_lan_hmc_object()
428 sd_entry = &info->hmc_info->sd_table.sd_entry[j - 1]; i40e_create_lan_hmc_object()
435 i40e_remove_pd_bp(hw, info->hmc_info, i); i40e_create_lan_hmc_object()
437 i40e_remove_pd_page(hw, info->hmc_info, (j - 1)); i40e_create_lan_hmc_object()
440 i40e_remove_sd_bp(hw, info->hmc_info, (j - 1)); i40e_create_lan_hmc_object()
470 info.hmc_info = &hw->hmc; i40e_configure_lan_hmc()
560 if (NULL == info->hmc_info) { i40e_delete_lan_hmc_object()
562 hw_dbg(hw, "i40e_delete_hmc_object: bad info->hmc_info ptr\n"); i40e_delete_lan_hmc_object()
565 if (I40E_HMC_INFO_SIGNATURE != info->hmc_info->signature) { i40e_delete_lan_hmc_object()
567 hw_dbg(hw, "i40e_delete_hmc_object: bad hmc_info->signature\n"); i40e_delete_lan_hmc_object()
571 if (NULL == info->hmc_info->sd_table.sd_entry) { i40e_delete_lan_hmc_object()
577 if (NULL == info->hmc_info->hmc_obj) { i40e_delete_lan_hmc_object()
579 hw_dbg(hw, "i40e_delete_hmc_object: bad hmc_info->hmc_obj\n"); i40e_delete_lan_hmc_object()
582 if (info->start_idx >= info->hmc_info->hmc_obj[info->rsrc_type].cnt) { i40e_delete_lan_hmc_object()
590 info->hmc_info->hmc_obj[info->rsrc_type].cnt) { i40e_delete_lan_hmc_object()
597 I40E_FIND_PD_INDEX_LIMIT(info->hmc_info, info->rsrc_type, i40e_delete_lan_hmc_object()
605 info->hmc_info->sd_table.sd_entry[sd_idx].entry_type) i40e_delete_lan_hmc_object()
611 &info->hmc_info->sd_table.sd_entry[sd_idx].u.pd_table; i40e_delete_lan_hmc_object()
613 ret_code = i40e_remove_pd_bp(hw, info->hmc_info, j); i40e_delete_lan_hmc_object()
620 I40E_FIND_SD_INDEX_LIMIT(info->hmc_info, info->rsrc_type, i40e_delete_lan_hmc_object()
623 if (sd_idx >= info->hmc_info->sd_table.sd_cnt || i40e_delete_lan_hmc_object()
624 sd_lmt > info->hmc_info->sd_table.sd_cnt) { i40e_delete_lan_hmc_object()
630 if (!info->hmc_info->sd_table.sd_entry[i].valid) i40e_delete_lan_hmc_object()
632 switch (info->hmc_info->sd_table.sd_entry[i].entry_type) { i40e_delete_lan_hmc_object()
634 ret_code = i40e_remove_sd_bp(hw, info->hmc_info, i); i40e_delete_lan_hmc_object()
639 ret_code = i40e_remove_pd_page(hw, info->hmc_info, i); i40e_delete_lan_hmc_object()
663 info.hmc_info = &hw->hmc; i40e_shutdown_lan_hmc()
990 * @hmc_info: pointer to i40e_hmc_info struct
999 i40e_status i40e_hmc_get_object_va(struct i40e_hmc_info *hmc_info, i40e_hmc_get_object_va() argument
1012 if (NULL == hmc_info) { i40e_hmc_get_object_va()
1014 hw_dbg(hw, "i40e_hmc_get_object_va: bad hmc_info ptr\n"); i40e_hmc_get_object_va()
1017 if (NULL == hmc_info->hmc_obj) { i40e_hmc_get_object_va()
1019 hw_dbg(hw, "i40e_hmc_get_object_va: bad hmc_info->hmc_obj ptr\n"); i40e_hmc_get_object_va()
1027 if (I40E_HMC_INFO_SIGNATURE != hmc_info->signature) { i40e_hmc_get_object_va()
1029 hw_dbg(hw, "i40e_hmc_get_object_va: bad hmc_info->signature\n"); i40e_hmc_get_object_va()
1032 if (obj_idx >= hmc_info->hmc_obj[rsrc_type].cnt) { i40e_hmc_get_object_va()
1039 I40E_FIND_SD_INDEX_LIMIT(hmc_info, rsrc_type, obj_idx, 1, i40e_hmc_get_object_va()
1042 sd_entry = &hmc_info->sd_table.sd_entry[sd_idx]; i40e_hmc_get_object_va()
1043 obj_offset_in_fpm = hmc_info->hmc_obj[rsrc_type].base + i40e_hmc_get_object_va()
1044 hmc_info->hmc_obj[rsrc_type].size * obj_idx; i40e_hmc_get_object_va()
1047 I40E_FIND_PD_INDEX_LIMIT(hmc_info, rsrc_type, obj_idx, 1, i40e_hmc_get_object_va()
254 i40e_remove_pd_page(struct i40e_hw *hw, struct i40e_hmc_info *hmc_info, u32 idx) i40e_remove_pd_page() argument
281 i40e_remove_sd_bp(struct i40e_hw *hw, struct i40e_hmc_info *hmc_info, u32 idx) i40e_remove_sd_bp() argument
H A Di40e_lan_hmc.h148 struct i40e_hmc_info *hmc_info; member in struct:i40e_hmc_lan_create_obj_info
157 struct i40e_hmc_info *hmc_info; member in struct:i40e_hmc_lan_delete_obj_info
/linux-4.1.27/drivers/net/ethernet/intel/i40evf/
H A Di40e_hmc.h168 * @hmc_info: pointer to the HMC configuration information structure
178 #define I40E_FIND_SD_INDEX_LIMIT(hmc_info, type, index, cnt, sd_idx, sd_limit)\
181 fpm_addr = (hmc_info)->hmc_obj[(type)].base + \
182 (hmc_info)->hmc_obj[(type)].size * (index); \
183 fpm_limit = fpm_addr + (hmc_info)->hmc_obj[(type)].size * (cnt);\
192 * @hmc_info: pointer to the HMC configuration information struct
202 #define I40E_FIND_PD_INDEX_LIMIT(hmc_info, type, idx, cnt, pd_index, pd_limit)\
205 fpm_adr = (hmc_info)->hmc_obj[(type)].base + \
206 (hmc_info)->hmc_obj[(type)].size * (idx); \
207 fpm_limit = fpm_adr + (hmc_info)->hmc_obj[(type)].size * (cnt); \
214 struct i40e_hmc_info *hmc_info,
220 struct i40e_hmc_info *hmc_info,
223 struct i40e_hmc_info *hmc_info,
225 i40e_status i40e_prep_remove_sd_bp(struct i40e_hmc_info *hmc_info,
228 struct i40e_hmc_info *hmc_info,
230 i40e_status i40e_prep_remove_pd_page(struct i40e_hmc_info *hmc_info,
233 struct i40e_hmc_info *hmc_info,
H A Di40e_lan_hmc.h148 struct i40e_hmc_info *hmc_info; member in struct:i40e_hmc_lan_create_obj_info
157 struct i40e_hmc_info *hmc_info; member in struct:i40e_hmc_lan_delete_obj_info

Completed in 160 milliseconds