Merge remote-tracking branches 'asoc/topic/adav80x', 'asoc/topic/adsp', 'asoc/topic...
authorMark Brown <broonie@kernel.org>
Mon, 8 Dec 2014 13:11:48 +0000 (13:11 +0000)
committerMark Brown <broonie@kernel.org>
Mon, 8 Dec 2014 13:11:48 +0000 (13:11 +0000)
1  2  3  4  5  6 
sound/soc/codecs/wm_adsp.c

index cce9020933c6b50e646b45d5cdfa1a09284a2a67,f412a9911a75d2fe531930f6a0108fb977c41e77,6a2a03570977c36fa68a937cee9a94683759121e,f412a9911a75d2fe531930f6a0108fb977c41e77,f412a9911a75d2fe531930f6a0108fb977c41e77,f412a9911a75d2fe531930f6a0108fb977c41e77..720d6e852986c3e7c6b0b1128876b7c4c4fa4ffb
@@@@@@@ -684,38 -684,38 -686,24 -684,38 -684,38 -684,38 +686,24 @@@@@@@ static int wm_adsp_load(struct wm_adsp 
                }
      
                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;
                        }
                }