Lines Matching refs:fw
309 const struct firmware *fw) in sigmadsp_fw_load_v2() argument
319 if (fw->size < sizeof(*chunk) + sizeof(struct sigma_firmware_header)) in sigmadsp_fw_load_v2()
324 while (pos < fw->size - sizeof(*chunk)) { in sigmadsp_fw_load_v2()
325 chunk = (struct sigma_fw_chunk *)(fw->data + pos); in sigmadsp_fw_load_v2()
329 if (length > fw->size - pos || length < sizeof(*chunk)) in sigmadsp_fw_load_v2()
425 const struct firmware *fw) in sigmadsp_fw_load_v1() argument
433 while (pos + sizeof(*sa) <= fw->size) { in sigmadsp_fw_load_v1()
434 sa = (struct sigma_action *)(fw->data + pos); in sigmadsp_fw_load_v1()
438 if (pos > fw->size || size == 0) in sigmadsp_fw_load_v1()
449 if (pos != fw->size) in sigmadsp_fw_load_v1()
480 const struct firmware *fw; in sigmadsp_firmware_load() local
485 ret = request_firmware(&fw, name, sigmadsp->dev); in sigmadsp_firmware_load()
500 if (fw->size < sizeof(*ssfw_head) || fw->size >= 0x4000000) { in sigmadsp_firmware_load()
505 ssfw_head = (void *)fw->data; in sigmadsp_firmware_load()
511 crc = crc32(0, fw->data + sizeof(*ssfw_head), in sigmadsp_firmware_load()
512 fw->size - sizeof(*ssfw_head)); in sigmadsp_firmware_load()
522 ret = sigmadsp_fw_load_v1(sigmadsp, fw); in sigmadsp_firmware_load()
525 ret = sigmadsp_fw_load_v2(sigmadsp, fw); in sigmadsp_firmware_load()
539 release_firmware(fw); in sigmadsp_firmware_load()