| /linux/drivers/gpu/drm/xe/ |
| H A D | xe_nvm.c | 39 struct intel_dg_nvm_dev *nvm = container_of(aux, struct intel_dg_nvm_dev, aux_dev); in xe_nvm_release_dev() local 41 kfree(nvm); in xe_nvm_release_dev() 90 struct intel_dg_nvm_dev *nvm; in xe_nvm_init() local 101 if (WARN_ON(xe->nvm)) in xe_nvm_init() 104 xe->nvm = kzalloc(sizeof(*nvm), GFP_KERNEL); in xe_nvm_init() 105 if (!xe->nvm) in xe_nvm_init() 108 nvm = xe->nvm; in xe_nvm_init() 110 nvm->writable_override = xe_nvm_writable_override(xe); in xe_nvm_init() 111 nvm->non_posted_erase = xe_nvm_non_posted_erase(xe); in xe_nvm_init() 112 nvm->bar.parent = &pdev->resource[0]; in xe_nvm_init() [all …]
|
| /linux/drivers/thunderbolt/ |
| H A D | retimer.c | 42 struct tb_nvm *nvm = priv; in nvm_read() local 43 struct tb_retimer *rt = tb_to_retimer(nvm->dev); in nvm_read() 65 struct tb_nvm *nvm = priv; in nvm_write() local 66 struct tb_retimer *rt = tb_to_retimer(nvm->dev); in nvm_write() 72 ret = tb_nvm_write_buf(nvm, offset, val, bytes); in nvm_write() 80 struct tb_nvm *nvm; in tb_retimer_nvm_add() local 83 nvm = tb_nvm_alloc(&rt->dev); in tb_retimer_nvm_add() 84 if (IS_ERR(nvm)) { in tb_retimer_nvm_add() 85 ret = PTR_ERR(nvm) == -EOPNOTSUPP ? 0 : PTR_ERR(nvm); in tb_retimer_nvm_add() 89 ret = tb_nvm_read_version(nvm); in tb_retimer_nvm_add() [all …]
|
| H A D | switch.c | 104 ret = tb_nvm_validate(sw->nvm); in nvm_validate_and_write() 108 ret = tb_nvm_write_headers(sw->nvm); in nvm_validate_and_write() 112 buf = sw->nvm->buf_data_start; in nvm_validate_and_write() 113 image_size = sw->nvm->buf_data_size; in nvm_validate_and_write() 122 sw->nvm->flushed = true; in nvm_validate_and_write() 268 sw->nvm->authenticating = true; in nvm_authenticate() 274 sw->nvm->authenticating = true; in nvm_authenticate() 307 struct tb_nvm *nvm = priv; in nvm_read() local 308 struct tb_switch *sw = tb_to_switch(nvm->dev); in nvm_read() 330 struct tb_nvm *nvm = priv; in nvm_write() local [all …]
|
| H A D | tb.h | 195 struct tb_nvm *nvm; member 346 struct tb_nvm *nvm; member 822 int tb_nvm_read_version(struct tb_nvm *nvm); 823 int tb_nvm_validate(struct tb_nvm *nvm); 824 int tb_nvm_write_headers(struct tb_nvm *nvm); 825 int tb_nvm_add_active(struct tb_nvm *nvm, nvmem_reg_read_t reg_read); 826 int tb_nvm_write_buf(struct tb_nvm *nvm, unsigned int offset, void *val, 828 int tb_nvm_add_non_active(struct tb_nvm *nvm, nvmem_reg_write_t reg_write); 829 void tb_nvm_free(struct tb_nvm *nvm);
|
| H A D | Makefile | 6 thunderbolt-objs += usb4_port.o nvm.o retimer.o quirks.o clx.o
|
| /linux/drivers/power/reset/ |
| H A D | macsmc-reboot.c | 43 struct macsmc_reboot_nvmem nvm; member 155 if (reboot->nvm.boot_stage && in macsmc_reboot_notify() 156 nvmem_cell_set_u8(reboot->nvm.boot_stage, BOOT_STAGE_SHUTDOWN) < 0) in macsmc_reboot_notify() 164 if (reboot->nvm.shutdown_flag && in macsmc_reboot_notify() 165 nvmem_cell_set_u8(reboot->nvm.shutdown_flag, shutdown_flag) < 0) in macsmc_reboot_notify() 175 if (!reboot->nvm.boot_error_count || !reboot->nvm.panic_count) in macsmc_power_init_error_counts() 178 boot_error_count = nvmem_cell_get_u8(reboot->nvm.boot_error_count); in macsmc_power_init_error_counts() 184 panic_count = nvmem_cell_get_u8(reboot->nvm.panic_count); in macsmc_power_init_error_counts() 196 if (nvmem_cell_set_u8(reboot->nvm.panic_count, 0) < 0) in macsmc_power_init_error_counts() 198 if (nvmem_cell_set_u8(reboot->nvm.boot_error_count, 0) < 0) in macsmc_power_init_error_counts() [all …]
|
| /linux/drivers/net/ethernet/intel/igc/ |
| H A D | igc_base.c | 67 struct igc_nvm_info *nvm = &hw->nvm; in igc_init_nvm_params_base() local 88 nvm->type = igc_nvm_eeprom_spi; in igc_init_nvm_params_base() 89 nvm->word_size = BIT(size); in igc_init_nvm_params_base() 90 nvm->opcode_bits = 8; in igc_init_nvm_params_base() 91 nvm->delay_usec = 1; in igc_init_nvm_params_base() 93 nvm->page_size = eecd & IGC_EECD_ADDR_BITS ? 32 : 8; in igc_init_nvm_params_base() 94 nvm->address_bits = eecd & IGC_EECD_ADDR_BITS ? in igc_init_nvm_params_base() 97 if (nvm->word_size == BIT(15)) in igc_init_nvm_params_base() 98 nvm->page_size = 128; in igc_init_nvm_params_base()
|
| H A D | igc_ethtool.c | 145 hw->nvm.ops.read(hw, IGC_NVM_DEV_STARTER, 1, &nvm_version); in igc_ethtool_get_drvinfo() 457 return adapter->hw.nvm.word_size * 2; in igc_ethtool_get_eeprom_len() 483 if (hw->nvm.type == igc_nvm_eeprom_spi) { in igc_ethtool_get_eeprom() 484 ret_val = hw->nvm.ops.read(hw, first_word, in igc_ethtool_get_eeprom() 489 ret_val = hw->nvm.ops.read(hw, first_word + i, 1, in igc_ethtool_get_eeprom() 528 max_len = hw->nvm.word_size * 2; in igc_ethtool_set_eeprom() 542 ret_val = hw->nvm.ops.read(hw, first_word, 1, in igc_ethtool_set_eeprom() 550 ret_val = hw->nvm.ops.read(hw, last_word, 1, in igc_ethtool_set_eeprom() 563 ret_val = hw->nvm.ops.write(hw, first_word, in igc_ethtool_set_eeprom() 568 hw->nvm.ops.update(hw); in igc_ethtool_set_eeprom()
|
| /linux/drivers/net/ethernet/intel/e1000e/ |
| H A D | 82571.c | 122 struct e1000_nvm_info *nvm = &hw->nvm; in e1000_init_nvm_params_82571() local 126 nvm->opcode_bits = 8; in e1000_init_nvm_params_82571() 127 nvm->delay_usec = 1; in e1000_init_nvm_params_82571() 128 switch (nvm->override) { in e1000_init_nvm_params_82571() 130 nvm->page_size = 32; in e1000_init_nvm_params_82571() 131 nvm->address_bits = 16; in e1000_init_nvm_params_82571() 134 nvm->page_size = 8; in e1000_init_nvm_params_82571() 135 nvm->address_bits = 8; in e1000_init_nvm_params_82571() 138 nvm->page_size = eecd & E1000_EECD_ADDR_BITS ? 32 : 8; in e1000_init_nvm_params_82571() 139 nvm->address_bits = eecd & E1000_EECD_ADDR_BITS ? 16 : 8; in e1000_init_nvm_params_82571() [all …]
|
| H A D | 80003es2lan.c | 72 struct e1000_nvm_info *nvm = &hw->nvm; in e1000_init_nvm_params_80003es2lan() local 76 nvm->opcode_bits = 8; in e1000_init_nvm_params_80003es2lan() 77 nvm->delay_usec = 1; in e1000_init_nvm_params_80003es2lan() 78 switch (nvm->override) { in e1000_init_nvm_params_80003es2lan() 80 nvm->page_size = 32; in e1000_init_nvm_params_80003es2lan() 81 nvm->address_bits = 16; in e1000_init_nvm_params_80003es2lan() 84 nvm->page_size = 8; in e1000_init_nvm_params_80003es2lan() 85 nvm->address_bits = 8; in e1000_init_nvm_params_80003es2lan() 88 nvm->page_size = eecd & E1000_EECD_ADDR_BITS ? 32 : 8; in e1000_init_nvm_params_80003es2lan() 89 nvm->address_bits = eecd & E1000_EECD_ADDR_BITS ? 16 : 8; in e1000_init_nvm_params_80003es2lan() [all …]
|
| H A D | Makefile | 14 mac.o manage.o nvm.o phy.o \
|
| /linux/drivers/net/ethernet/intel/i40e/ |
| H A D | i40e_nvm.c | 21 struct i40e_nvm_info *nvm = &hw->nvm; in i40e_init_nvm() local 32 nvm->sr_size = BIT(sr_size) * I40E_SR_WORDS_IN_1KB; in i40e_init_nvm() 38 nvm->timeout = I40E_MAX_NVM_TIMEOUT; in i40e_init_nvm() 39 nvm->blank_nvm_mode = false; in i40e_init_nvm() 41 nvm->blank_nvm_mode = true; in i40e_init_nvm() 64 if (hw->nvm.blank_nvm_mode) in i40e_acquire_nvm() 73 hw->nvm.hw_semaphore_timeout = I40E_MS_TO_GTIME(time_left) + gtime; in i40e_acquire_nvm() 91 hw->nvm.hw_semaphore_timeout = in i40e_acquire_nvm() 97 hw->nvm.hw_semaphore_timeout = 0; in i40e_acquire_nvm() 119 if (hw->nvm.blank_nvm_mode) in i40e_release_nvm() [all …]
|
| H A D | i40e.h | 988 struct i40e_nvm_info *nvm = &hw->nvm; in i40e_info_nvm_ver() local 990 if (nvm->eetrack == I40E_OEM_EETRACK_ID) { in i40e_info_nvm_ver() 991 u32 full_ver = nvm->oem_ver; in i40e_info_nvm_ver() 1002 major = FIELD_GET(I40E_NVM_VERSION_HI_MASK, nvm->version); in i40e_info_nvm_ver() 1003 minor = FIELD_GET(I40E_NVM_VERSION_LO_MASK, nvm->version); in i40e_info_nvm_ver() 1019 struct i40e_nvm_info *nvm = &hw->nvm; in i40e_info_eetrack() local 1022 if (nvm->eetrack != I40E_OEM_EETRACK_ID) in i40e_info_eetrack() 1023 snprintf(buf, len, "0x%08x", nvm->eetrack); in i40e_info_eetrack() 1037 struct i40e_nvm_info *nvm = &hw->nvm; in i40e_info_civd_ver() local 1040 if (nvm->eetrack != I40E_OEM_EETRACK_ID) { in i40e_info_civd_ver() [all …]
|
| H A D | i40e_adminq.c | 631 &hw->nvm.version); in i40e_init_adminq() 634 hw->nvm.eetrack = (eetrack_hi << 16) | eetrack_lo; in i40e_init_adminq() 640 hw->nvm.oem_ver = ((u32)oem_hi << 16) | oem_lo; in i40e_init_adminq()
|
| /linux/drivers/net/ethernet/intel/ixgbe/devlink/ |
| H A D | devlink.c | 76 u32 eetrack = hw->flash.nvm.eetrack; in ixgbe_info_eetrack() 119 struct ixgbe_nvm_info *nvm = &adapter->hw.flash.nvm; in ixgbe_info_fw_srev() local 123 nvm = &ctx->pending_nvm; in ixgbe_info_fw_srev() 125 snprintf(ctx->buf, sizeof(ctx->buf), "%u", nvm->srev); in ixgbe_info_fw_srev() 145 struct ixgbe_nvm_info *nvm = &adapter->hw.flash.nvm; in ixgbe_info_nvm_ver() local 149 nvm = &ctx->pending_nvm; in ixgbe_info_nvm_ver() 151 snprintf(ctx->buf, sizeof(ctx->buf), "%x.%02x", nvm->major, nvm->minor); in ixgbe_info_nvm_ver()
|
| /linux/drivers/net/wireless/intel/iwlwifi/mei/ |
| H A D | main.c | 178 struct iwl_mei_nvm *nvm; member 888 kfree(mei->nvm); in iwl_mei_handle_nvm() 889 mei->nvm = kzalloc(sizeof(*mei_nvm), GFP_KERNEL); in iwl_mei_handle_nvm() 890 if (!mei->nvm) in iwl_mei_handle_nvm() 893 ether_addr_copy(mei->nvm->hw_addr, sap_nvm->hw_addr); in iwl_mei_handle_nvm() 894 mei->nvm->n_hw_addrs = sap_nvm->n_hw_addrs; in iwl_mei_handle_nvm() 895 mei->nvm->radio_cfg = le32_to_cpu(sap_nvm->radio_cfg); in iwl_mei_handle_nvm() 896 mei->nvm->caps = le32_to_cpu(sap_nvm->caps); in iwl_mei_handle_nvm() 897 mei->nvm->nvm_version = le32_to_cpu(sap_nvm->nvm_version); in iwl_mei_handle_nvm() 899 for (i = 0; i < ARRAY_SIZE(mei->nvm->channels); i++) in iwl_mei_handle_nvm() [all …]
|
| /linux/drivers/net/ethernet/broadcom/bnxt/ |
| H A D | bnxt_devlink.c | 1023 const struct bnxt_dl_nvm_param *nvm, void *msg, in __bnxt_hwrm_nvm_req() argument 1032 if (nvm->dir_type == BNXT_NVM_PORT_CFG) in __bnxt_hwrm_nvm_req() 1034 else if (nvm->dir_type == BNXT_NVM_FUNC_CFG) in __bnxt_hwrm_nvm_req() 1045 req->data_len = cpu_to_le16(nvm->nvm_num_bits); in __bnxt_hwrm_nvm_req() 1046 req->option_num = cpu_to_le16(nvm->offset); in __bnxt_hwrm_nvm_req() 1053 bnxt_copy_to_nvm_data(data, val, nvm->nvm_num_bits, in __bnxt_hwrm_nvm_req() 1054 nvm->dl_num_bytes); in __bnxt_hwrm_nvm_req() 1060 nvm->nvm_num_bits, in __bnxt_hwrm_nvm_req() 1061 nvm->dl_num_bytes); in __bnxt_hwrm_nvm_req()
|
| /linux/drivers/net/ethernet/intel/ice/ |
| H A D | ice_nvm.c | 590 ice_get_nvm_ver_info(struct ice_hw *hw, enum ice_bank_select bank, struct ice_nvm_info *nvm) in ice_get_nvm_ver_info() argument 601 nvm->major = FIELD_GET(ICE_NVM_VER_HI_MASK, ver); in ice_get_nvm_ver_info() 602 nvm->minor = FIELD_GET(ICE_NVM_VER_LO_MASK, ver); in ice_get_nvm_ver_info() 615 nvm->eetrack = (eetrack_hi << 16) | eetrack_lo; in ice_get_nvm_ver_info() 629 int ice_get_inactive_nvm_ver(struct ice_hw *hw, struct ice_nvm_info *nvm) in ice_get_inactive_nvm_ver() argument 631 return ice_get_nvm_ver_info(hw, ICE_INACTIVE_FLASH_BANK, nvm); in ice_get_inactive_nvm_ver() 1158 status = ice_get_nvm_ver_info(hw, ICE_ACTIVE_FLASH_BANK, &flash->nvm); in ice_init_nvm()
|
| H A D | ice_nvm.h | 27 int ice_get_inactive_nvm_ver(struct ice_hw *hw, struct ice_nvm_info *nvm);
|
| /linux/drivers/net/wireless/intel/iwlwifi/ |
| H A D | Makefile | 7 iwlwifi-objs += iwl-nvm-utils.o 9 iwlwifi-objs += iwl-phy-db.o iwl-nvm-parse.o
|
| /linux/Documentation/networking/devlink/ |
| H A D | ice.rst | 296 * - ``nvm-flash`` 308 Both the ``nvm-flash`` and ``shadow-ram`` regions can be accessed without a 318 pci/0000:01:00.0/nvm-flash: size 10485760 snapshot [] max 1 321 $ devlink region new pci/0000:01:00.0/nvm-flash snapshot 1 322 $ devlink region dump pci/0000:01:00.0/nvm-flash snapshot 1 324 $ devlink region dump pci/0000:01:00.0/nvm-flash snapshot 1 330 $ devlink region read pci/0000:01:00.0/nvm-flash snapshot 1 address 0 length 16 333 $ devlink region delete pci/0000:01:00.0/nvm-flash snapshot 1
|
| /linux/drivers/net/ethernet/intel/igb/ |
| H A D | e1000_mac.c | 300 ret_val = hw->nvm.ops.read(hw, NVM_ALT_MAC_ADDR_PTR, 1, in igb_check_alt_mac_addr() 321 ret_val = hw->nvm.ops.read(hw, offset, 1, &nvm_data); in igb_check_alt_mac_addr() 809 ret_val = hw->nvm.ops.read(hw, NVM_INIT_CONTROL2_REG + lan_offset, in igb_set_default_fc() 1268 s32 timeout = hw->nvm.word_size + 1; in igb_get_hw_semaphore() 1369 ret_val = hw->nvm.ops.read(hw, NVM_ID_LED_SETTINGS, 1, data); in igb_valid_led_default()
|
| H A D | igb_ethtool.c | 730 return adapter->hw.nvm.word_size * 2; in igb_get_eeprom_len() 756 if (hw->nvm.type == e1000_nvm_eeprom_spi) in igb_get_eeprom() 757 ret_val = hw->nvm.ops.read(hw, first_word, in igb_get_eeprom() 762 ret_val = hw->nvm.ops.read(hw, first_word + i, 1, in igb_get_eeprom() 801 max_len = hw->nvm.word_size * 2; in igb_set_eeprom() 815 ret_val = hw->nvm.ops.read(hw, first_word, 1, in igb_set_eeprom() 823 ret_val = hw->nvm.ops.read(hw, last_word, 1, in igb_set_eeprom() 838 ret_val = hw->nvm.ops.write(hw, first_word, in igb_set_eeprom() 843 hw->nvm.ops.update(hw); in igb_set_eeprom() 1380 if (adapter->hw.nvm.ops.validate(&adapter->hw) < 0) in igb_eeprom_test() [all …]
|
| /linux/drivers/net/wireless/intel/iwlwifi/mvm/ |
| H A D | Makefile | 4 iwlmvm-y += fw.o mac80211.o nvm.o ops.o phy-ctxt.o mac-ctxt.o
|
| /linux/drivers/net/ethernet/intel/ixgbe/ |
| H A D | ixgbe_e610.c | 3177 struct ixgbe_nvm_info *nvm) in ixgbe_get_nvm_ver_info() argument 3187 nvm->major = FIELD_GET(IXGBE_E610_NVM_VER_HI_MASK, ver); in ixgbe_get_nvm_ver_info() 3188 nvm->minor = FIELD_GET(IXGBE_E610_NVM_VER_LO_MASK, ver); in ixgbe_get_nvm_ver_info() 3200 nvm->eetrack = (eetrack_hi << 16) | eetrack_lo; in ixgbe_get_nvm_ver_info() 3202 ixgbe_get_nvm_srev(hw, bank, &nvm->srev); in ixgbe_get_nvm_ver_info() 3218 int ixgbe_get_inactive_nvm_ver(struct ixgbe_hw *hw, struct ixgbe_nvm_info *nvm) in ixgbe_get_inactive_nvm_ver() argument 3220 return ixgbe_get_nvm_ver_info(hw, IXGBE_INACTIVE_FLASH_BANK, nvm); in ixgbe_get_inactive_nvm_ver() 3234 struct ixgbe_nvm_info *nvm) in ixgbe_get_active_nvm_ver() argument 3236 return ixgbe_get_nvm_ver_info(hw, IXGBE_ACTIVE_FLASH_BANK, nvm); in ixgbe_get_active_nvm_ver() 3379 &flash->nvm); in ixgbe_get_flash_data()
|