Lines Matching full:eeprom
350 struct ethtool_eeprom *eeprom, u8 *bytes) in ixgb_get_eeprom() argument
358 if (eeprom->len == 0) { in ixgb_get_eeprom()
363 eeprom->magic = hw->vendor_id | (hw->device_id << 16); in ixgb_get_eeprom()
367 if (eeprom->offset > eeprom->offset + eeprom->len) { in ixgb_get_eeprom()
372 if ((eeprom->offset + eeprom->len) > max_len) in ixgb_get_eeprom()
373 eeprom->len = (max_len - eeprom->offset); in ixgb_get_eeprom()
375 first_word = eeprom->offset >> 1; in ixgb_get_eeprom()
376 last_word = (eeprom->offset + eeprom->len - 1) >> 1; in ixgb_get_eeprom()
384 /* note the eeprom was good because the driver loaded */ in ixgb_get_eeprom()
388 memcpy(bytes, (u8 *)eeprom_buff + (eeprom->offset & 1), eeprom->len); in ixgb_get_eeprom()
397 struct ethtool_eeprom *eeprom, u8 *bytes) in ixgb_set_eeprom() argument
406 if (eeprom->len == 0) in ixgb_set_eeprom()
409 if (eeprom->magic != (hw->vendor_id | (hw->device_id << 16))) in ixgb_set_eeprom()
414 if (eeprom->offset > eeprom->offset + eeprom->len) in ixgb_set_eeprom()
417 if ((eeprom->offset + eeprom->len) > max_len) in ixgb_set_eeprom()
418 eeprom->len = (max_len - eeprom->offset); in ixgb_set_eeprom()
420 first_word = eeprom->offset >> 1; in ixgb_set_eeprom()
421 last_word = (eeprom->offset + eeprom->len - 1) >> 1; in ixgb_set_eeprom()
428 if (eeprom->offset & 1) { in ixgb_set_eeprom()
429 /* need read/modify/write of first changed EEPROM word */ in ixgb_set_eeprom()
434 if ((eeprom->offset + eeprom->len) & 1) { in ixgb_set_eeprom()
435 /* need read/modify/write of last changed EEPROM word */ in ixgb_set_eeprom()
441 memcpy(ptr, bytes, eeprom->len); in ixgb_set_eeprom()
445 /* Update the checksum over the first part of the EEPROM if needed */ in ixgb_set_eeprom()