Lines Matching defs:eeprom
321 struct NvRamType eeprom; /* eeprom settings for this adapter */
604 * Mapping from the eeprom delay index value (index into this array)
612 * eeprom_index_to_delay - Take the eeprom delay setting and convert it
615 * @eeprom: The eeprom structure in which we find the delay index to map.
617 static void eeprom_index_to_delay(struct NvRamType *eeprom)
619 eeprom->delay_time = eeprom_index_to_delay_map[eeprom->delay_time];
625 * closest eeprom index which will delay for at least that amount of
628 * @delay: The delay, in seconds, to find the eeprom index for.
640 * eeprom_override - Override the eeprom settings, in the provided
641 * eeprom structure, with values that have been set on the command
644 * @eeprom: The eeprom data to override with command line options.
646 static void eeprom_override(struct NvRamType *eeprom)
652 eeprom->scsi_id = (u8)cfg_data[CFG_ADAPTER_ID].value;
655 eeprom->channel_cfg = (u8)cfg_data[CFG_ADAPTER_MODE].value;
658 eeprom->delay_time = delay_to_eeprom_index(
662 eeprom->max_tag = (u8)cfg_data[CFG_TAGS].value;
667 eeprom->target[id].cfg0 =
671 eeprom->target[id].period =
1122 struct NvRamType *eeprom = &acb->eeprom;
1132 dcb->dev_mode = eeprom->target[dcb->target_id].cfg0;
1133 period_index = eeprom->target[dcb->target_id].period & 0x07;
1172 HZ * acb->eeprom.delay_time;
1341 srb->tag_number = TAG_NONE; /* acb->tag_max_num: had error read in eeprom */
2877 HZ * acb->eeprom.delay_time;
3466 HZ * acb->eeprom.delay_time;
3546 struct NvRamType *eeprom = &acb->eeprom;
3547 u8 period_index = eeprom->target[target].period & 0x07;
3562 dcb->dev_mode = eeprom->target[target].cfg0;
3815 * trms1040_set_data - store a single byte in the eeprom
3871 * trms1040_write_all - write 128 bytes to the eeprom
3875 * @eeprom: the data to write
3878 static void trms1040_write_all(struct NvRamType *eeprom, unsigned long io_port)
3880 u8 *b_eeprom = (u8 *)eeprom;
3908 * trms1040_get_data - get a single byte from the eeprom
3949 * trms1040_read_all - read all bytes from the eeprom
3953 * @eeprom: where to store the data
3956 static void trms1040_read_all(struct NvRamType *eeprom, unsigned long io_port)
3958 u8 *b_eeprom = (u8 *)eeprom;
3977 * check_eeprom - get and check contents of the eeprom
3979 * Read seeprom 128 bytes into the memory provider in eeprom.
3983 * @eeprom: caller allocated strcuture to read the eeprom data into
3986 static void check_eeprom(struct NvRamType *eeprom, unsigned long io_port)
3988 u16 *w_eeprom = (u16 *)eeprom;
3994 trms1040_read_all(eeprom, io_port); /* read eeprom */
3997 for (w_addr = 0, w_eeprom = (u16 *)eeprom; w_addr < 64;
4003 * Load a set of defaults into the eeprom buffer
4007 eeprom->sub_vendor_id[0] = (u8)PCI_VENDOR_ID_TEKRAM;
4008 eeprom->sub_vendor_id[1] = (u8)(PCI_VENDOR_ID_TEKRAM >> 8);
4009 eeprom->sub_sys_id[0] = (u8)PCI_DEVICE_ID_TEKRAM_TRMS1040;
4010 eeprom->sub_sys_id[1] =
4012 eeprom->sub_class = 0x00;
4013 eeprom->vendor_id[0] = (u8)PCI_VENDOR_ID_TEKRAM;
4014 eeprom->vendor_id[1] = (u8)(PCI_VENDOR_ID_TEKRAM >> 8);
4015 eeprom->device_id[0] = (u8)PCI_DEVICE_ID_TEKRAM_TRMS1040;
4016 eeprom->device_id[1] =
4018 eeprom->reserved = 0x00;
4020 for (d_addr = 0, d_eeprom = (u32 *)eeprom->target;
4032 eeprom_override(eeprom);
4034 eeprom->cksum = 0x00;
4035 for (w_addr = 0, cksum = 0, w_eeprom = (u16 *)eeprom;
4040 trms1040_write_all(eeprom, io_port);
4041 eeprom->delay_time = cfg_data[CFG_RESET_DELAY].value;
4044 eeprom_index_to_delay(eeprom);
4045 eeprom_override(eeprom);
4051 * print_eeprom_settings - output the eeprom settings
4054 * @eeprom: The eeprom data strucutre to show details for.
4056 static void print_eeprom_settings(struct NvRamType *eeprom)
4059 eeprom->scsi_id,
4060 eeprom->target[0].period,
4061 clock_speed[eeprom->target[0].period] / 10,
4062 clock_speed[eeprom->target[0].period] % 10,
4063 eeprom->target[0].cfg0);
4065 eeprom->channel_cfg, eeprom->max_tag,
4066 1 << eeprom->max_tag, eeprom->delay_time);
4169 * The eeprom structure in the adapter needs to have been set before
4176 struct NvRamType *eeprom = &acb->eeprom;
4198 acb->tag_max_num = 1 << eeprom->max_tag;
4203 acb->gmode2 = eeprom->channel_cfg;
4206 if (eeprom->channel_cfg & NAC_SCANLUN)
4210 acb->scsi_host->this_id = eeprom->scsi_id;
4231 * The eeprom structure, irq and io ports in the adapter need to have
4239 struct NvRamType *eeprom = &acb->eeprom;
4244 host->this_id = (int)eeprom->scsi_id;
4253 if (host->max_id - 1 == eeprom->scsi_id)
4256 if (eeprom->channel_cfg & NAC_SCANLUN)
4274 struct NvRamType *eeprom = &acb->eeprom;
4292 if (eeprom->channel_cfg & NAC_POWERON_SCSI_RESET)
4305 HZ * acb->eeprom.delay_time;
4345 /* get eeprom configuration information and command line settings etc */
4346 check_eeprom(&acb->eeprom, io_port);
4347 print_eeprom_settings(&acb->eeprom);
4467 seq_printf(m, ", DelayReset %is\n", acb->eeprom.delay_time);