/kernel/linux/linux-5.10/drivers/thunderbolt/ |
H A D | nvm.c | 26 struct tb_nvm *nvm; in tb_nvm_alloc() local 29 nvm = kzalloc(sizeof(*nvm), GFP_KERNEL); in tb_nvm_alloc() 30 if (!nvm) in tb_nvm_alloc() 35 kfree(nvm); in tb_nvm_alloc() 39 nvm->id = ret; in tb_nvm_alloc() 40 nvm->dev = dev; in tb_nvm_alloc() 42 return nvm; in tb_nvm_alloc() 47 * @nvm: NVM structure 52 * Registers new active NVmem device for @nvm 57 tb_nvm_add_active(struct tb_nvm *nvm, size_t size, nvmem_reg_read_t reg_read) tb_nvm_add_active() argument 94 tb_nvm_write_buf(struct tb_nvm *nvm, unsigned int offset, void *val, size_t bytes) tb_nvm_write_buf() argument 121 tb_nvm_add_non_active(struct tb_nvm *nvm, size_t size, nvmem_reg_write_t reg_write) tb_nvm_add_non_active() argument 154 tb_nvm_free(struct tb_nvm *nvm) tb_nvm_free() argument [all...] |
H A D | retimer.c | 22 struct tb_nvm *nvm = priv; in tb_retimer_nvm_read() local 23 struct tb_retimer *rt = tb_to_retimer(nvm->dev); in tb_retimer_nvm_read() 46 struct tb_nvm *nvm = priv; in tb_retimer_nvm_write() local 47 struct tb_retimer *rt = tb_to_retimer(nvm->dev); in tb_retimer_nvm_write() 53 ret = tb_nvm_write_buf(nvm, offset, val, bytes); in tb_retimer_nvm_write() 61 struct tb_nvm *nvm; in tb_retimer_nvm_add() local 65 nvm = tb_nvm_alloc(&rt->dev); in tb_retimer_nvm_add() 66 if (IS_ERR(nvm)) in tb_retimer_nvm_add() 67 return PTR_ERR(nvm); in tb_retimer_nvm_add() 74 nvm in tb_retimer_nvm_add() [all...] |
H A D | switch.c | 106 const u8 *buf = sw->nvm->buf; in nvm_validate_and_write() 113 image_size = sw->nvm->buf_data_size; in nvm_validate_and_write() 167 sw->nvm->flushed = true; in nvm_validate_and_write() 331 struct tb_nvm *nvm = priv; in tb_switch_nvm_read() local 332 struct tb_switch *sw = tb_to_switch(nvm->dev); in tb_switch_nvm_read() 355 struct tb_nvm *nvm = priv; in tb_switch_nvm_write() local 356 struct tb_switch *sw = tb_to_switch(nvm->dev); in tb_switch_nvm_write() 368 ret = tb_nvm_write_buf(nvm, offset, val, bytes); in tb_switch_nvm_write() 376 struct tb_nvm *nvm; in tb_switch_nvm_add() local 396 nvm in tb_switch_nvm_add() 445 struct tb_nvm *nvm; tb_switch_nvm_remove() local [all...] |
/kernel/linux/linux-6.6/drivers/thunderbolt/ |
H A D | nvm.c | 38 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 in intel_switch_nvm_validate() 136 intel_switch_nvm_write_headers(struct tb_nvm *nvm) intel_switch_nvm_write_headers() argument 160 asmedia_switch_nvm_version(struct tb_nvm *nvm) asmedia_switch_nvm_version() argument 199 intel_retimer_nvm_version(struct tb_nvm *nvm) intel_retimer_nvm_version() argument 223 intel_retimer_nvm_validate(struct tb_nvm *nvm) intel_retimer_nvm_validate() argument 288 struct tb_nvm *nvm; tb_nvm_alloc() local 354 tb_nvm_read_version(struct tb_nvm *nvm) tb_nvm_read_version() argument 375 tb_nvm_validate(struct tb_nvm *nvm) tb_nvm_validate() argument 410 tb_nvm_write_headers(struct tb_nvm *nvm) tb_nvm_write_headers() argument 428 tb_nvm_add_active(struct tb_nvm *nvm, nvmem_reg_read_t reg_read) tb_nvm_add_active() argument 465 tb_nvm_write_buf(struct tb_nvm *nvm, unsigned int offset, void *val, size_t bytes) tb_nvm_write_buf() argument 493 tb_nvm_add_non_active(struct tb_nvm *nvm, nvmem_reg_write_t reg_write) tb_nvm_add_non_active() argument 525 tb_nvm_free(struct tb_nvm *nvm) tb_nvm_free() argument [all...] |
H A D | retimer.c | 37 struct tb_nvm *nvm = priv; in nvm_read() local 38 struct tb_retimer *rt = tb_to_retimer(nvm->dev); in nvm_read() 60 struct tb_nvm *nvm = priv; in nvm_write() local 61 struct tb_retimer *rt = tb_to_retimer(nvm->dev); in nvm_write() 67 ret = tb_nvm_write_buf(nvm, offset, val, bytes); in nvm_write() 75 struct tb_nvm *nvm; in tb_retimer_nvm_add() local 78 nvm = tb_nvm_alloc(&rt->dev); in tb_retimer_nvm_add() 79 if (IS_ERR(nvm)) { in tb_retimer_nvm_add() 80 ret = PTR_ERR(nvm) == -EOPNOTSUPP ? 0 : PTR_ERR(nvm); in tb_retimer_nvm_add() [all...] |
/kernel/linux/linux-5.10/drivers/net/ethernet/intel/igb/ |
H A D | e1000_nvm.c | 22 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 in igb_standby_nvm() 253 struct e1000_nvm_info *nvm = &hw->nvm; igb_ready_nvm_eeprom() local 307 struct e1000_nvm_info *nvm = &hw->nvm; igb_read_nvm_spi() local 367 struct e1000_nvm_info *nvm = &hw->nvm; igb_read_nvm_eerd() local 412 struct e1000_nvm_info *nvm = &hw->nvm; igb_write_nvm_spi() local [all...] |
H A D | e1000_i210.c | 25 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() 240 hw_dbg("nvm parameter(s) out of bounds\n"); in igb_write_nvm_srwr() 300 if (!(hw->nvm.ops.acquire(hw))) { in igb_write_nvm_srwr_i210() 303 hw->nvm in igb_write_nvm_srwr_i210() 796 struct e1000_nvm_info *nvm = &hw->nvm; igb_init_nvm_params_i210() local [all...] |
H A D | e1000_82575.c | 329 struct e1000_nvm_info *nvm = &hw->nvm; in igb_init_nvm_params_82575() local 347 nvm->word_size = BIT(size); in igb_init_nvm_params_82575() 348 nvm->opcode_bits = 8; in igb_init_nvm_params_82575() 349 nvm->delay_usec = 1; in igb_init_nvm_params_82575() 351 switch (nvm->override) { in igb_init_nvm_params_82575() 353 nvm->page_size = 32; in igb_init_nvm_params_82575() 354 nvm->address_bits = 16; in igb_init_nvm_params_82575() 357 nvm->page_size = 8; in igb_init_nvm_params_82575() 358 nvm in igb_init_nvm_params_82575() [all...] |
/kernel/linux/linux-6.6/drivers/net/ethernet/intel/igb/ |
H A D | e1000_nvm.c | 22 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 in igb_standby_nvm() 253 struct e1000_nvm_info *nvm = &hw->nvm; igb_ready_nvm_eeprom() local 307 struct e1000_nvm_info *nvm = &hw->nvm; igb_read_nvm_spi() local 367 struct e1000_nvm_info *nvm = &hw->nvm; igb_read_nvm_eerd() local 412 struct e1000_nvm_info *nvm = &hw->nvm; igb_write_nvm_spi() local [all...] |
H A D | e1000_i210.c | 25 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() 240 hw_dbg("nvm parameter(s) out of bounds\n"); in igb_write_nvm_srwr() 300 if (!(hw->nvm.ops.acquire(hw))) { in igb_write_nvm_srwr_i210() 303 hw->nvm in igb_write_nvm_srwr_i210() 795 struct e1000_nvm_info *nvm = &hw->nvm; igb_init_nvm_params_i210() local [all...] |
H A D | e1000_82575.c | 329 struct e1000_nvm_info *nvm = &hw->nvm; in igb_init_nvm_params_82575() local 347 nvm->word_size = BIT(size); in igb_init_nvm_params_82575() 348 nvm->opcode_bits = 8; in igb_init_nvm_params_82575() 349 nvm->delay_usec = 1; in igb_init_nvm_params_82575() 351 switch (nvm->override) { in igb_init_nvm_params_82575() 353 nvm->page_size = 32; in igb_init_nvm_params_82575() 354 nvm->address_bits = 16; in igb_init_nvm_params_82575() 357 nvm->page_size = 8; in igb_init_nvm_params_82575() 358 nvm in igb_init_nvm_params_82575() [all...] |
/kernel/linux/linux-5.10/drivers/net/ethernet/intel/igc/ |
H A D | igc_i225.c | 42 s32 timeout = hw->nvm.word_size + 1; in igc_get_hw_semaphore_i225() 200 status = hw->nvm.ops.acquire(hw); in igc_read_nvm_srrd_i225() 205 hw->nvm.ops.release(hw); in igc_read_nvm_srrd_i225() 228 struct igc_nvm_info *nvm = &hw->nvm; in igc_write_nvm_srwr() local 236 if (offset >= nvm->word_size || (words > (nvm->word_size - offset)) || in igc_write_nvm_srwr() 238 hw_dbg("nvm parameter(s) out of bounds\n"); in igc_write_nvm_srwr() 298 status = hw->nvm.ops.acquire(hw); in igc_write_nvm_srwr_i225() 303 hw->nvm in igc_write_nvm_srwr_i225() 476 struct igc_nvm_info *nvm = &hw->nvm; igc_init_nvm_params_i225() local [all...] |
H A D | igc_nvm.c | 99 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() 108 hw_dbg("nvm parameter(s) out of bounds\n"); 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()
|
H A D | igc_base.c | 67 struct igc_nvm_info *nvm = &hw->nvm; in igc_init_nvm_params_base() local 85 nvm->type = igc_nvm_eeprom_spi; in igc_init_nvm_params_base() 86 nvm->word_size = BIT(size); in igc_init_nvm_params_base() 87 nvm->opcode_bits = 8; in igc_init_nvm_params_base() 88 nvm->delay_usec = 1; in igc_init_nvm_params_base() 90 nvm->page_size = eecd & IGC_EECD_ADDR_BITS ? 32 : 8; in igc_init_nvm_params_base() 91 nvm->address_bits = eecd & IGC_EECD_ADDR_BITS ? in igc_init_nvm_params_base() 94 if (nvm->word_size == BIT(15)) in igc_init_nvm_params_base() 95 nvm in igc_init_nvm_params_base() [all...] |
/kernel/linux/linux-5.10/drivers/net/ethernet/intel/e1000e/ |
H A D | nvm.c | 18 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 in e1000_standby_nvm() 243 struct e1000_nvm_info *nvm = &hw->nvm; e1000_ready_nvm_eeprom() local 293 struct e1000_nvm_info *nvm = &hw->nvm; e1000e_read_nvm_eerd() local 337 struct e1000_nvm_info *nvm = &hw->nvm; e1000e_write_nvm_spi() local [all...] |
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 in e1000_init_nvm_params_82571() 808 struct e1000_nvm_info *nvm = &hw->nvm; e1000_write_nvm_eewr_82571() local 1730 struct e1000_nvm_info *nvm = &hw->nvm; e1000_fix_nvm_checksum_82571() local [all...] |
/kernel/linux/linux-6.6/drivers/net/ethernet/intel/e1000e/ |
H A D | nvm.c | 18 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 in e1000_standby_nvm() 243 struct e1000_nvm_info *nvm = &hw->nvm; e1000_ready_nvm_eeprom() local 293 struct e1000_nvm_info *nvm = &hw->nvm; e1000e_read_nvm_eerd() local 337 struct e1000_nvm_info *nvm = &hw->nvm; e1000e_write_nvm_spi() local [all...] |
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 in e1000_init_nvm_params_82571() 808 struct e1000_nvm_info *nvm = &hw->nvm; e1000_write_nvm_eewr_82571() local 1730 struct e1000_nvm_info *nvm = &hw->nvm; e1000_fix_nvm_checksum_82571() local [all...] |
/kernel/linux/linux-6.6/drivers/net/ethernet/intel/igc/ |
H A D | igc_i225.c | 42 s32 timeout = hw->nvm.word_size + 1; in igc_get_hw_semaphore_i225() 200 status = hw->nvm.ops.acquire(hw); in igc_read_nvm_srrd_i225() 205 hw->nvm.ops.release(hw); in igc_read_nvm_srrd_i225() 228 struct igc_nvm_info *nvm = &hw->nvm; in igc_write_nvm_srwr() local 236 if (offset >= nvm->word_size || (words > (nvm->word_size - offset)) || in igc_write_nvm_srwr() 238 hw_dbg("nvm parameter(s) out of bounds\n"); in igc_write_nvm_srwr() 298 status = hw->nvm.ops.acquire(hw); in igc_write_nvm_srwr_i225() 303 hw->nvm in igc_write_nvm_srwr_i225() 476 struct igc_nvm_info *nvm = &hw->nvm; igc_init_nvm_params_i225() local [all...] |
H A D | igc_nvm.c | 99 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() 108 hw_dbg("nvm parameter(s) out of bounds\n"); 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()
|
H A D | igc_base.c | 67 struct igc_nvm_info *nvm = &hw->nvm; in igc_init_nvm_params_base() local 85 nvm->type = igc_nvm_eeprom_spi; in igc_init_nvm_params_base() 86 nvm->word_size = BIT(size); in igc_init_nvm_params_base() 87 nvm->opcode_bits = 8; in igc_init_nvm_params_base() 88 nvm->delay_usec = 1; in igc_init_nvm_params_base() 90 nvm->page_size = eecd & IGC_EECD_ADDR_BITS ? 32 : 8; in igc_init_nvm_params_base() 91 nvm->address_bits = eecd & IGC_EECD_ADDR_BITS ? in igc_init_nvm_params_base() 94 if (nvm->word_size == BIT(15)) in igc_init_nvm_params_base() 95 nvm in igc_init_nvm_params_base() [all...] |
/kernel/linux/linux-5.10/drivers/net/ethernet/intel/ice/ |
H A D | ice_nvm.c | 27 cmd = &desc.params.nvm; in ice_aq_read_nvm() 75 if (read_shadow_ram && ((offset + inlen) > (hw->nvm.sr_words * 2u))) { in ice_read_flat_nvm() 131 cmd = &desc.params.nvm; in ice_aq_update_nvm() 168 cmd = &desc.params.nvm; in ice_aq_erase_nvm() 217 if (hw->nvm.blank_nvm_mode) in ice_acquire_nvm() 231 if (hw->nvm.blank_nvm_mode) in ice_release_nvm() 393 struct ice_orom_info *orom = &hw->nvm.orom; in ice_get_orom_ver_info() 564 hw->nvm.flash_size = max_size; in ice_discover_flash_size() 581 struct ice_nvm_info *nvm = &hw->nvm; in ice_init_nvm() local [all...] |
H A D | ice_devlink.c | 63 struct ice_orom_info *orom = &pf->hw.nvm.orom; in ice_info_orom_ver() 72 struct ice_nvm_info *nvm = &pf->hw.nvm; in ice_info_nvm_ver() local 74 snprintf(buf, len, "%x.%02x", nvm->major_ver, nvm->minor_ver); in ice_info_nvm_ver() 81 struct ice_nvm_info *nvm = &pf->hw.nvm; in ice_info_eetrack() local 83 snprintf(buf, len, "0x%08x", nvm->eetrack); in ice_info_eetrack() 453 nvm_size = hw->nvm.flash_size; in ice_devlink_nvm_snapshot() 529 .name = "nvm [all...] |
/kernel/linux/linux-6.6/drivers/media/i2c/ |
H A D | ov2740.c | 346 struct nvm_data *nvm; member 651 static int ov2740_load_otp_data(struct nvm_data *nvm) in ov2740_load_otp_data() argument 653 struct device *dev = regmap_get_device(nvm->regmap); in ov2740_load_otp_data() 659 if (nvm->nvm_buffer) in ov2740_load_otp_data() 662 nvm->nvm_buffer = kzalloc(CUSTOMER_USE_OTP_SIZE, GFP_KERNEL); in ov2740_load_otp_data() 663 if (!nvm->nvm_buffer) in ov2740_load_otp_data() 707 ret = regmap_bulk_read(nvm->regmap, OV2740_REG_OTP_CUSTOMER, in ov2740_load_otp_data() 708 nvm->nvm_buffer, CUSTOMER_USE_OTP_SIZE); in ov2740_load_otp_data() 735 kfree(nvm->nvm_buffer); in ov2740_load_otp_data() 736 nvm in ov2740_load_otp_data() 1062 struct nvm_data *nvm = priv; ov2740_nvmem_read() local 1092 struct nvm_data *nvm; ov2740_register_nvmem() local [all...] |
/kernel/linux/linux-5.10/drivers/net/wireless/intel/iwlwifi/ |
H A D | iwl-nvm-parse.c | 72 #include "iwl-nvm-parse.h" 77 #include "fw/api/nvm-reg.h" 940 "mac address from nvm override section is not valid\n"); in iwl_set_hw_address_family_8000() 1435 /* nvm file validation, dword_buff[2] holds the file version */ in iwl_read_external_nvm() 1523 struct iwl_nvm_data *nvm; in iwl_get_nvm() local 1564 nvm = kzalloc(struct_size(nvm, channels, IWL_NUM_CHANNELS), GFP_KERNEL); in iwl_get_nvm() 1565 if (!nvm) { in iwl_get_nvm() 1570 iwl_set_hw_address_from_csr(trans, nvm); in iwl_get_nvm() 1573 if (!is_valid_ether_addr(nvm in iwl_get_nvm() [all...] |