Lines Matching refs:seghdr
133 struct cx18_apu_rom_seghdr seghdr; in load_apu_fw_direct() local
148 vers = fw->data + sizeof(seghdr); in load_apu_fw_direct()
152 while (offset + sizeof(seghdr) < fw->size) { in load_apu_fw_direct()
155 seghdr.sync1 = le32_to_cpu(shptr[0]); in load_apu_fw_direct()
156 seghdr.sync2 = le32_to_cpu(shptr[1]); in load_apu_fw_direct()
157 seghdr.addr = le32_to_cpu(shptr[2]); in load_apu_fw_direct()
158 seghdr.size = le32_to_cpu(shptr[3]); in load_apu_fw_direct()
160 offset += sizeof(seghdr); in load_apu_fw_direct()
161 if (seghdr.sync1 != APU_ROM_SYNC1 || in load_apu_fw_direct()
162 seghdr.sync2 != APU_ROM_SYNC2) { in load_apu_fw_direct()
163 offset += seghdr.size; in load_apu_fw_direct()
166 CX18_DEBUG_INFO("load segment %x-%x\n", seghdr.addr, in load_apu_fw_direct()
167 seghdr.addr + seghdr.size - 1); in load_apu_fw_direct()
169 *entry_addr = seghdr.addr; in load_apu_fw_direct()
170 if (offset + seghdr.size > sz) in load_apu_fw_direct()
172 for (i = 0; i < seghdr.size; i += 4096) { in load_apu_fw_direct()
173 cx18_setup_page(cx, seghdr.addr + i); in load_apu_fw_direct()
174 for (j = i; j < seghdr.size && j < i + 4096; j += 4) { in load_apu_fw_direct()
177 dst + seghdr.addr + j); in load_apu_fw_direct()
178 if (cx18_raw_readl(cx, dst + seghdr.addr + j) in load_apu_fw_direct()
188 offset += seghdr.size; in load_apu_fw_direct()