1. 03 Jul, 2013 1 commit
  2. 25 Jun, 2013 1 commit
  3. 21 Jun, 2013 1 commit
  4. 18 Jun, 2013 1 commit
  5. 06 Jun, 2013 4 commits
  6. 04 Jun, 2013 1 commit
  7. 03 Jun, 2013 7 commits
  8. 01 Jun, 2013 1 commit
  9. 23 May, 2013 1 commit
  10. 21 May, 2013 5 commits
  11. 12 May, 2013 2 commits
  12. 01 May, 2013 2 commits
  13. 29 Apr, 2013 4 commits
  14. 16 Apr, 2013 1 commit
    • Stephen Warren's avatar
      regmap: don't corrupt work buffer in _regmap_raw_write() · 5a08d156
      Stephen Warren authored
      _regmap_raw_write() contains code to call regcache_write() to write
      values to the cache. That code calls memcpy() to copy the value data to
      the start of the work_buf. However, at least when _regmap_raw_write() is
      called from _regmap_bus_raw_write(), the value data is in the work_buf,
      and this memcpy() operation may over-write part of that value data,
      depending on the value of reg_bytes + pad_bytes. At least when using
      reg_bytes==1 and pad_bytes==0, corruption of the value data does occur.
      
      To solve this, remove the memcpy() operation, and modify the subsequent
      .parse_val() call to parse the original value buffer directly.
      
      At least in the case of 8-bit register address and 16-bit values, and
      writes of single registers at a time, this memcpy-then-parse combination
      used to cancel each-other out; for a work-buffer containing xx 89 03,
      the memcpy changed it to 89 03 03, and the parse_val changed it back to
      89 89 03, thus leaving the value uncorrupted. This appears completely
      accidental though. Since commit 8a819ff8 "regmap: core: Split out in
      place value parsing", .parse_val only returns the parsed value, and does
      not modify the buffer, and hence does not (accidentally) undo the
      corruption caused by memcpy(). This caused bogus values to get written
      to HW, thus preventing e.g. audio playback on systems with a WM8903
      CODEC. This patch fixes that.
      Signed-off-by: default avatarStephen Warren <swarren@nvidia.com>
      Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
      5a08d156
  15. 12 Apr, 2013 3 commits
  16. 11 Apr, 2013 2 commits
  17. 10 Apr, 2013 2 commits
  18. 09 Apr, 2013 1 commit
    • Mark Brown's avatar
      regmap: Back out work buffer fix · 51a246aa
      Mark Brown authored
      This reverts commit bc8ce4 (regmap: don't corrupt work buffer in
      _regmap_raw_write()) since it turns out that it can cause issues when
      taken in isolation from the other changes in -next that lead to its
      discovery.  On the basis that nobody noticed the problems for quite some
      time without that subsequent work let's drop it from v3.9.
      Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
      51a246aa