}
if (reg) {
-- --- size_t to_write = PAGE_SIZE;
-- --- size_t remain = le32_to_cpu(region->len);
-- --- const u8 *data = region->data;
-- ---
-- --- while (remain > 0) {
-- --- if (remain < PAGE_SIZE)
-- --- to_write = remain;
-- ---
-- --- buf = wm_adsp_buf_alloc(data,
-- --- to_write,
-- --- &buf_list);
-- --- if (!buf) {
-- --- adsp_err(dsp, "Out of memory\n");
-- --- ret = -ENOMEM;
-- --- goto out_fw;
-- --- }
-- ---
-- --- ret = regmap_raw_write_async(regmap, reg,
-- --- buf->buf,
-- --- to_write);
-- --- if (ret != 0) {
-- --- adsp_err(dsp,
-- --- "%s.%d: Failed to write %zd bytes at %d in %s: %d\n",
-- --- file, regions,
-- --- to_write, offset,
-- --- region_name, ret);
-- --- goto out_fw;
-- --- }
-
- data += to_write;
- reg += to_write / 2;
- remain -= to_write;
++ +++ buf = wm_adsp_buf_alloc(region->data,
++ +++ le32_to_cpu(region->len),
++ +++ &buf_list);
++ +++ if (!buf) {
++ +++ adsp_err(dsp, "Out of memory\n");
++ +++ ret = -ENOMEM;
++ +++ goto out_fw;
++ +++ }
+
- --- data += to_write;
- --- reg += to_write / 2;
- --- remain -= to_write;
++ +++ ret = regmap_raw_write_async(regmap, reg, buf->buf,
++ +++ le32_to_cpu(region->len));
++ +++ if (ret != 0) {
++ +++ adsp_err(dsp,
++ +++ "%s.%d: Failed to write %d bytes at %d in %s: %d\n",
++ +++ file, regions,
++ +++ le32_to_cpu(region->len), offset,
++ +++ region_name, ret);
++ +++ goto out_fw;
}
}