Lines Matching refs:seghdr
142 struct cx18_apu_rom_seghdr seghdr; in load_apu_fw_direct() local
157 vers = fw->data + sizeof(seghdr); in load_apu_fw_direct()
161 while (offset + sizeof(seghdr) < fw->size) { in load_apu_fw_direct()
164 seghdr.sync1 = le32_to_cpu(shptr[0]); in load_apu_fw_direct()
165 seghdr.sync2 = le32_to_cpu(shptr[1]); in load_apu_fw_direct()
166 seghdr.addr = le32_to_cpu(shptr[2]); in load_apu_fw_direct()
167 seghdr.size = le32_to_cpu(shptr[3]); in load_apu_fw_direct()
169 offset += sizeof(seghdr); in load_apu_fw_direct()
170 if (seghdr.sync1 != APU_ROM_SYNC1 || in load_apu_fw_direct()
171 seghdr.sync2 != APU_ROM_SYNC2) { in load_apu_fw_direct()
172 offset += seghdr.size; in load_apu_fw_direct()
175 CX18_DEBUG_INFO("load segment %x-%x\n", seghdr.addr, in load_apu_fw_direct()
176 seghdr.addr + seghdr.size - 1); in load_apu_fw_direct()
178 *entry_addr = seghdr.addr; in load_apu_fw_direct()
179 if (offset + seghdr.size > sz) in load_apu_fw_direct()
181 for (i = 0; i < seghdr.size; i += 4096) { in load_apu_fw_direct()
182 cx18_setup_page(cx, seghdr.addr + i); in load_apu_fw_direct()
183 for (j = i; j < seghdr.size && j < i + 4096; j += 4) { in load_apu_fw_direct()
186 dst + seghdr.addr + j); in load_apu_fw_direct()
187 if (cx18_raw_readl(cx, dst + seghdr.addr + j) in load_apu_fw_direct()
197 offset += seghdr.size; in load_apu_fw_direct()