Lines Matching full:rom

115  * fw_csr_string() - reads a string from the configuration ROM
162 // Legacy layout of configuration ROM described in Annex 1 of 'Configuration ROM for AV/C in get_modalias_ids()
302 // Legacy layout of configuration ROM described in Annex 1 of in show_immediate()
303 // 'Configuration ROM for AV/C Devices 1.0 (December 12, 2000, 1394 Trading in show_immediate()
352 // Legacy layout of configuration ROM described in Annex 1 of in show_text_leaf()
353 // 'Configuration ROM for AV/C Devices 1.0 (December 12, 2000, 1394 in show_text_leaf()
373 // Sony DVMC-DA1 has configuration ROM such that the descriptor leaf entry in show_text_leaf()
576 * the config ROM. We do all this with a cached bus generation. If the bus
579 * are reading the ROM may have changed the ROM during the reset.
586 u32 *rom, *stack; in read_config_rom() local
590 rom = kmalloc(sizeof(*rom) * MAX_CONFIG_ROM_SIZE + in read_config_rom()
592 if (rom == NULL) in read_config_rom()
595 stack = &rom[MAX_CONFIG_ROM_SIZE]; in read_config_rom()
596 memset(rom, 0, sizeof(*rom) * MAX_CONFIG_ROM_SIZE); in read_config_rom()
602 ret = read_rom(device, generation, i, &rom[i]); in read_config_rom()
608 * rom to indicate that they are booting (for example, in read_config_rom()
613 if (i == 0 && rom[i] == 0) { in read_config_rom()
630 if ((rom[2] & 0x7) < device->max_speed || in read_config_rom()
648 * Now parse the config rom. The config rom is a recursive in read_config_rom()
660 * lower 24 bits is the offset into the config rom, in read_config_rom()
672 ret = read_rom(device, generation, i, &rom[i]); in read_config_rom()
675 end = i + (rom[i] >> 16) + 1; in read_config_rom()
678 * This block extends outside the config ROM which is in read_config_rom()
682 fw_err(card, "skipped invalid ROM block %x at %llx\n", in read_config_rom()
683 rom[i], in read_config_rom()
685 rom[i] = 0; in read_config_rom()
696 ret = read_rom(device, generation, i, &rom[i]); in read_config_rom()
700 if ((key >> 30) != 3 || (rom[i] >> 30) < 2) in read_config_rom()
703 * Offset points outside the ROM. May be a firmware in read_config_rom()
704 * bug or an Extended ROM entry (IEEE 1212-2001 clause in read_config_rom()
707 * the ROM don't have to check offsets all the time. in read_config_rom()
709 if (i + (rom[i] & 0xffffff) >= MAX_CONFIG_ROM_SIZE) { in read_config_rom()
711 "skipped unsupported ROM entry %x at %llx\n", in read_config_rom()
712 rom[i], in read_config_rom()
714 rom[i] = 0; in read_config_rom()
717 stack[sp++] = i + rom[i]; in read_config_rom()
724 new_rom = kmemdup(rom, length * 4, GFP_KERNEL); in read_config_rom()
737 device->max_rec = rom[2] >> 12 & 0xf; in read_config_rom()
738 device->cmc = rom[2] >> 30 & 1; in read_config_rom()
739 device->irmc = rom[2] >> 31 & 1; in read_config_rom()
741 kfree(rom); in read_config_rom()
847 * rom. It shouldn't be necessary to tweak these; if the device
848 * doesn't respond to a config rom read within 10 seconds, it's not
1078 fw_notice(card, "giving up on node %x: reading config rom failed: %s\n", in fw_device_init()
1156 * root node config rom. If this races with a bus reset we in fw_device_init()
1322 * first config rom scan half a second after bus reset. in fw_node_event()
1370 * process of reading its config rom in fw_node_event()
1374 * scheduled to read it's config rom, and we just put in fw_node_event()