Home
last modified time | relevance | path

Searched refs:nvm (Results 1 – 25 of 61) sorted by relevance

123

/linux-6.12.1/drivers/thunderbolt/
Dnvm.c38 int (*read_version)(struct tb_nvm *nvm);
39 int (*validate)(struct tb_nvm *nvm);
40 int (*write_headers)(struct tb_nvm *nvm);
56 static int intel_switch_nvm_version(struct tb_nvm *nvm) in intel_switch_nvm_version() argument
58 struct tb_switch *sw = tb_to_switch(nvm->dev); in intel_switch_nvm_version()
82 nvm->major = (val >> 16) & 0xff; in intel_switch_nvm_version()
83 nvm->minor = (val >> 8) & 0xff; in intel_switch_nvm_version()
84 nvm->active_size = nvm_size; in intel_switch_nvm_version()
89 static int intel_switch_nvm_validate(struct tb_nvm *nvm) in intel_switch_nvm_validate() argument
91 struct tb_switch *sw = tb_to_switch(nvm->dev); in intel_switch_nvm_validate()
[all …]
Dretimer.c41 struct tb_nvm *nvm = priv; in nvm_read() local
42 struct tb_retimer *rt = tb_to_retimer(nvm->dev); in nvm_read()
64 struct tb_nvm *nvm = priv; in nvm_write() local
65 struct tb_retimer *rt = tb_to_retimer(nvm->dev); in nvm_write()
71 ret = tb_nvm_write_buf(nvm, offset, val, bytes); in nvm_write()
79 struct tb_nvm *nvm; in tb_retimer_nvm_add() local
82 nvm = tb_nvm_alloc(&rt->dev); in tb_retimer_nvm_add()
83 if (IS_ERR(nvm)) { in tb_retimer_nvm_add()
84 ret = PTR_ERR(nvm) == -EOPNOTSUPP ? 0 : PTR_ERR(nvm); in tb_retimer_nvm_add()
88 ret = tb_nvm_read_version(nvm); in tb_retimer_nvm_add()
[all …]
Dswitch.c104 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()
306 struct tb_nvm *nvm = priv; in nvm_read() local
307 struct tb_switch *sw = tb_to_switch(nvm->dev); in nvm_read()
329 struct tb_nvm *nvm = priv; in nvm_write() local
[all …]
Dtb.h193 struct tb_nvm *nvm; member
341 struct tb_nvm *nvm; member
803 int tb_nvm_read_version(struct tb_nvm *nvm);
804 int tb_nvm_validate(struct tb_nvm *nvm);
805 int tb_nvm_write_headers(struct tb_nvm *nvm);
806 int tb_nvm_add_active(struct tb_nvm *nvm, nvmem_reg_read_t reg_read);
807 int tb_nvm_write_buf(struct tb_nvm *nvm, unsigned int offset, void *val,
809 int tb_nvm_add_non_active(struct tb_nvm *nvm, nvmem_reg_write_t reg_write);
810 void tb_nvm_free(struct tb_nvm *nvm);
/linux-6.12.1/drivers/net/ethernet/intel/igb/
De1000_nvm.c22 udelay(hw->nvm.delay_usec); in igb_raise_eec_clk()
37 udelay(hw->nvm.delay_usec); in igb_lower_eec_clk()
52 struct e1000_nvm_info *nvm = &hw->nvm; in igb_shift_out_eec_bits() local
57 if (nvm->type == e1000_nvm_eeprom_spi) in igb_shift_out_eec_bits()
69 udelay(nvm->delay_usec); in igb_shift_out_eec_bits()
194 struct e1000_nvm_info *nvm = &hw->nvm; in igb_standby_nvm() local
197 if (nvm->type == e1000_nvm_eeprom_spi) { in igb_standby_nvm()
202 udelay(nvm->delay_usec); in igb_standby_nvm()
206 udelay(nvm->delay_usec); in igb_standby_nvm()
221 if (hw->nvm.type == e1000_nvm_eeprom_spi) { in e1000_stop_nvm()
[all …]
De1000_i210.c25 s32 timeout = hw->nvm.word_size + 1; in igb_get_hw_semaphore_i210()
200 if (!(hw->nvm.ops.acquire(hw))) { in igb_read_nvm_srrd_i210()
203 hw->nvm.ops.release(hw); in igb_read_nvm_srrd_i210()
230 struct e1000_nvm_info *nvm = &hw->nvm; in igb_write_nvm_srwr() local
238 if ((offset >= nvm->word_size) || (words > (nvm->word_size - offset)) || in igb_write_nvm_srwr()
300 if (!(hw->nvm.ops.acquire(hw))) { in igb_write_nvm_srwr_i210()
303 hw->nvm.ops.release(hw); in igb_write_nvm_srwr_i210()
544 if (!(hw->nvm.ops.acquire(hw))) { in igb_validate_nvm_checksum_i210()
550 read_op_ptr = hw->nvm.ops.read; in igb_validate_nvm_checksum_i210()
551 hw->nvm.ops.read = igb_read_nvm_eerd; in igb_validate_nvm_checksum_i210()
[all …]
De1000_82575.c328 struct e1000_nvm_info *nvm = &hw->nvm; in igb_init_nvm_params_82575() local
345 nvm->word_size = BIT(size); in igb_init_nvm_params_82575()
346 nvm->opcode_bits = 8; in igb_init_nvm_params_82575()
347 nvm->delay_usec = 1; in igb_init_nvm_params_82575()
349 switch (nvm->override) { in igb_init_nvm_params_82575()
351 nvm->page_size = 32; in igb_init_nvm_params_82575()
352 nvm->address_bits = 16; in igb_init_nvm_params_82575()
355 nvm->page_size = 8; in igb_init_nvm_params_82575()
356 nvm->address_bits = 8; in igb_init_nvm_params_82575()
359 nvm->page_size = eecd & E1000_EECD_ADDR_BITS ? 32 : 8; in igb_init_nvm_params_82575()
[all …]
/linux-6.12.1/drivers/net/ethernet/intel/e1000e/
Dnvm.c18 udelay(hw->nvm.delay_usec); in e1000_raise_eec_clk()
33 udelay(hw->nvm.delay_usec); in e1000_lower_eec_clk()
48 struct e1000_nvm_info *nvm = &hw->nvm; in e1000_shift_out_eec_bits() local
53 if (nvm->type == e1000_nvm_eeprom_spi) in e1000_shift_out_eec_bits()
65 udelay(nvm->delay_usec); in e1000_shift_out_eec_bits()
184 struct e1000_nvm_info *nvm = &hw->nvm; in e1000_standby_nvm() local
187 if (nvm->type == e1000_nvm_eeprom_spi) { in e1000_standby_nvm()
192 udelay(nvm->delay_usec); in e1000_standby_nvm()
196 udelay(nvm->delay_usec); in e1000_standby_nvm()
211 if (hw->nvm.type == e1000_nvm_eeprom_spi) { in e1000_stop_nvm()
[all …]
D82571.c122 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 …]
Dich8lan.c619 struct e1000_nvm_info *nvm = &hw->nvm; in e1000_init_nvm_params_ich8lan() local
625 nvm->type = e1000_nvm_flash_sw; in e1000_init_nvm_params_ich8lan()
634 nvm->flash_base_addr = 0; in e1000_init_nvm_params_ich8lan()
637 nvm->flash_bank_size = nvm_size / 2; in e1000_init_nvm_params_ich8lan()
639 nvm->flash_bank_size /= sizeof(u16); in e1000_init_nvm_params_ich8lan()
659 nvm->flash_base_addr = sector_base_addr in e1000_init_nvm_params_ich8lan()
665 nvm->flash_bank_size = ((sector_end_addr - sector_base_addr) in e1000_init_nvm_params_ich8lan()
667 nvm->flash_bank_size /= 2; in e1000_init_nvm_params_ich8lan()
669 nvm->flash_bank_size /= sizeof(u16); in e1000_init_nvm_params_ich8lan()
672 nvm->word_size = E1000_ICH8_SHADOW_RAM_WORDS; in e1000_init_nvm_params_ich8lan()
[all …]
D80003es2lan.c72 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 …]
De1000.h574 return hw->nvm.ops.validate(hw); in e1000_validate_nvm_checksum()
579 return hw->nvm.ops.update(hw); in e1000e_update_nvm_checksum()
585 return hw->nvm.ops.read(hw, offset, words, data); in e1000_read_nvm()
591 return hw->nvm.ops.write(hw, offset, words, data); in e1000_write_nvm()
DMakefile14 mac.o manage.o nvm.o phy.o \
/linux-6.12.1/drivers/net/ethernet/intel/igc/
Digc_i225.c43 s32 timeout = hw->nvm.word_size + 1; in igc_get_hw_semaphore_i225()
201 status = hw->nvm.ops.acquire(hw); in igc_read_nvm_srrd_i225()
206 hw->nvm.ops.release(hw); in igc_read_nvm_srrd_i225()
229 struct igc_nvm_info *nvm = &hw->nvm; in igc_write_nvm_srwr() local
237 if (offset >= nvm->word_size || (words > (nvm->word_size - offset)) || in igc_write_nvm_srwr()
299 status = hw->nvm.ops.acquire(hw); in igc_write_nvm_srwr_i225()
304 hw->nvm.ops.release(hw); in igc_write_nvm_srwr_i225()
325 status = hw->nvm.ops.acquire(hw); in igc_validate_nvm_checksum_i225()
333 read_op_ptr = hw->nvm.ops.read; in igc_validate_nvm_checksum_i225()
334 hw->nvm.ops.read = igc_read_nvm_eerd; in igc_validate_nvm_checksum_i225()
[all …]
Digc_base.c67 struct igc_nvm_info *nvm = &hw->nvm; in igc_init_nvm_params_base() local
84 nvm->type = igc_nvm_eeprom_spi; in igc_init_nvm_params_base()
85 nvm->word_size = BIT(size); in igc_init_nvm_params_base()
86 nvm->opcode_bits = 8; in igc_init_nvm_params_base()
87 nvm->delay_usec = 1; in igc_init_nvm_params_base()
89 nvm->page_size = eecd & IGC_EECD_ADDR_BITS ? 32 : 8; in igc_init_nvm_params_base()
90 nvm->address_bits = eecd & IGC_EECD_ADDR_BITS ? in igc_init_nvm_params_base()
93 if (nvm->word_size == BIT(15)) in igc_init_nvm_params_base()
94 nvm->page_size = 128; in igc_init_nvm_params_base()
Digc_nvm.c99 struct igc_nvm_info *nvm = &hw->nvm; in igc_read_nvm_eerd() local
106 if (offset >= nvm->word_size || (words > (nvm->word_size - offset)) || in igc_read_nvm_eerd()
168 ret_val = hw->nvm.ops.read(hw, i, 1, &nvm_data); in igc_validate_nvm_checksum()
201 ret_val = hw->nvm.ops.read(hw, i, 1, &nvm_data); in igc_update_nvm_checksum()
209 ret_val = hw->nvm.ops.write(hw, NVM_CHECKSUM_REG, 1, &checksum); in igc_update_nvm_checksum()
/linux-6.12.1/drivers/media/i2c/
Dov2740.c534 struct nvm_data *nvm; member
833 static int ov2740_load_otp_data(struct nvm_data *nvm) in ov2740_load_otp_data() argument
835 struct device *dev = regmap_get_device(nvm->regmap); in ov2740_load_otp_data()
841 if (nvm->nvm_buffer) in ov2740_load_otp_data()
844 nvm->nvm_buffer = kzalloc(CUSTOMER_USE_OTP_SIZE, GFP_KERNEL); in ov2740_load_otp_data()
845 if (!nvm->nvm_buffer) in ov2740_load_otp_data()
889 ret = regmap_bulk_read(nvm->regmap, OV2740_REG_OTP_CUSTOMER, in ov2740_load_otp_data()
890 nvm->nvm_buffer, CUSTOMER_USE_OTP_SIZE); in ov2740_load_otp_data()
917 kfree(nvm->nvm_buffer); in ov2740_load_otp_data()
918 nvm->nvm_buffer = NULL; in ov2740_load_otp_data()
[all …]
/linux-6.12.1/drivers/net/ethernet/intel/i40e/
Di40e_nvm.c21 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 …]
Di40e.h981 struct i40e_nvm_info *nvm = &hw->nvm; in i40e_info_nvm_ver() local
983 if (nvm->eetrack == I40E_OEM_EETRACK_ID) { in i40e_info_nvm_ver()
984 u32 full_ver = nvm->oem_ver; in i40e_info_nvm_ver()
995 major = FIELD_GET(I40E_NVM_VERSION_HI_MASK, nvm->version); in i40e_info_nvm_ver()
996 minor = FIELD_GET(I40E_NVM_VERSION_LO_MASK, nvm->version); in i40e_info_nvm_ver()
1012 struct i40e_nvm_info *nvm = &hw->nvm; in i40e_info_eetrack() local
1015 if (nvm->eetrack != I40E_OEM_EETRACK_ID) in i40e_info_eetrack()
1016 snprintf(buf, len, "0x%08x", nvm->eetrack); in i40e_info_eetrack()
1030 struct i40e_nvm_info *nvm = &hw->nvm; in i40e_info_civd_ver() local
1033 if (nvm->eetrack != I40E_OEM_EETRACK_ID) { in i40e_info_civd_ver()
[all …]
/linux-6.12.1/drivers/net/wireless/intel/iwlwifi/
Diwl-nvm-parse.c2070 struct iwl_nvm_data *nvm; in iwl_get_nvm() local
2114 nvm = kzalloc(struct_size(nvm, channels, IWL_NUM_CHANNELS), GFP_KERNEL); in iwl_get_nvm()
2115 if (!nvm) { in iwl_get_nvm()
2120 iwl_set_hw_address_from_csr(trans, nvm); in iwl_get_nvm()
2123 if (!is_valid_ether_addr(nvm->hw_addr)) { in iwl_get_nvm()
2129 IWL_INFO(trans, "base HW address: %pM\n", nvm->hw_addr); in iwl_get_nvm()
2132 nvm->nvm_version = le16_to_cpu(rsp->general.nvm_version); in iwl_get_nvm()
2133 nvm->n_hw_addrs = rsp->general.n_hw_addrs; in iwl_get_nvm()
2134 if (nvm->n_hw_addrs == 0) in iwl_get_nvm()
2141 nvm->sku_cap_11ac_enable = in iwl_get_nvm()
[all …]
DMakefile7 iwlwifi-objs += iwl-nvm-utils.o
8 iwlwifi-objs += iwl-phy-db.o iwl-nvm-parse.o
/linux-6.12.1/drivers/net/ethernet/intel/ice/
Dice_nvm.c28 cmd = &desc.params.nvm; in ice_aq_read_nvm()
131 cmd = &desc.params.nvm; in ice_aq_update_nvm()
167 cmd = &desc.params.nvm; in ice_aq_erase_nvm()
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()
[all …]
Dice_fw_update.c331 completion_module = le16_to_cpu(desc->params.nvm.module_typeid); in ice_write_one_nvm_block()
334 completion_offset = le16_to_cpu(desc->params.nvm.offset_low); in ice_write_one_nvm_block()
335 completion_offset |= desc->params.nvm.offset_high << 16; in ice_write_one_nvm_block()
367 *reset_level = desc->params.nvm.cmd_flags & in ice_write_one_nvm_block()
516 completion_module = le16_to_cpu(desc->params.nvm.module_typeid); in ice_erase_nvm_module()
/linux-6.12.1/drivers/net/wireless/intel/iwlwifi/mei/
Dmain.c178 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-6.12.1/drivers/net/ethernet/intel/ice/devlink/
Ddevlink.c100 struct ice_nvm_info *nvm = &pf->hw.flash.nvm; in ice_info_nvm_ver() local
102 snprintf(ctx->buf, sizeof(ctx->buf), "%x.%02x", nvm->major, nvm->minor); in ice_info_nvm_ver()
109 struct ice_nvm_info *nvm = &ctx->pending_nvm; in ice_info_pending_nvm_ver() local
113 nvm->major, nvm->minor); in ice_info_pending_nvm_ver()
118 struct ice_nvm_info *nvm = &pf->hw.flash.nvm; in ice_info_eetrack() local
120 snprintf(ctx->buf, sizeof(ctx->buf), "0x%08x", nvm->eetrack); in ice_info_eetrack()
126 struct ice_nvm_info *nvm = &ctx->pending_nvm; in ice_info_pending_eetrack() local
129 snprintf(ctx->buf, sizeof(ctx->buf), "0x%08x", nvm->eetrack); in ice_info_pending_eetrack()

123