/linux-4.1.27/drivers/net/ethernet/intel/i40e/ |
H A D | i40e_hmc.c | 37 * @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 D | i40e_hmc.h | 168 * @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 D | i40e_lan_hmc.c | 243 * @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 D | i40e_lan_hmc.h | 148 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 D | i40e_hmc.h | 168 * @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 D | i40e_lan_hmc.h | 148 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
|