summaryrefslogtreecommitdiff
path: root/tools/perf/scripts/python
diff options
context:
space:
mode:
authorMika Westerberg <mika.westerberg@linux.intel.com>2014-05-08 18:30:31 +0400
committerMark Brown <broonie@linaro.org>2014-05-13 01:05:37 +0400
commit111e0a9dc71ed75baa5e739289b9bdb06fda13be (patch)
tree665d90e7a448682bd9430a7bd303d5506de9be30 /tools/perf/scripts/python
parentc9eaa447e77efe77b7fa4c953bd62de8297fd6c5 (diff)
downloadlinux-111e0a9dc71ed75baa5e739289b9bdb06fda13be.tar.xz
spi/pxa2xx: Prevent DMA from transferring too many bytes
In case we are doing DMA transfer and the size of the buffer is not multiple of 4 bytes the driver truncates that to 4-byte boundary and tries to handle remaining bytes using PIO. Or that is what it tried to do. What actually happens is that it calls ALIGN() to the buffer size which aligns it to the next 4-byte boundary (doesn't truncate). Doing this results 1-3 bytes extra to be transferred. Furthermore we handle remaining bytes using PIO which results one extra byte to be transferred. In worst case the driver transfers 4 extra bytes. While investigating this it turned out that the DMA hardware doesn't even have such limitation so we can solve this by dropping the code that tries to handle unaligned bytes. Reported-by: Chiau Ee Chew <chiau.ee.chew@intel.com> Reported-by: Hock Leong Kweh <hock.leong.kweh@intel.com> Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com> Signed-off-by: Mark Brown <broonie@linaro.org>
Diffstat (limited to 'tools/perf/scripts/python')
0 files changed, 0 insertions, 0 deletions