summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAmaury Pouly <amaury.pouly@gmail.com>2013-08-20 18:28:40 +0200
committerAmaury Pouly <amaury.pouly@gmail.com>2013-08-21 20:18:36 +0200
commit6d7734649dc2302f565098becddab0412f8e589e (patch)
treee0bb0fc978556e63bbcfaeccd0d7964d356ed48e
parent8d2e4f9b7d33f2d086d6e6a555739ffe0f51ca9c (diff)
downloadrockbox-6d7734649dc2302f565098becddab0412f8e589e.tar.gz
rockbox-6d7734649dc2302f565098becddab0412f8e589e.zip
imx233: increase max dma transfer size
The old max dma transfer size was set to 2^15 because allowing values up to 2^16 would result in overflow of the transfer count in many places. This was a problem with the old register headers because the macros didn't make sure the result is contained in the bitmask of the field. The new macro do so 2^16 will actually end up being 0 which means 2^16 for the hardware. This is kind of hacky but it works and I prefer that this stays a power of two because setting it to 2^16-1 would be extremely weird. Change-Id: I9ce5661c477a79ab52efd5c573948e2353117804
-rw-r--r--firmware/target/arm/imx233/dma-imx233.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/firmware/target/arm/imx233/dma-imx233.h b/firmware/target/arm/imx233/dma-imx233.h
index a64b8a64d1..5caff740a8 100644
--- a/firmware/target/arm/imx233/dma-imx233.h
+++ b/firmware/target/arm/imx233/dma-imx233.h
@@ -142,7 +142,7 @@ struct imx233_dma_info_t
142 142
143/* A single descriptor cannot transfer more than 2^16 bytes but because of the 143/* A single descriptor cannot transfer more than 2^16 bytes but because of the
144 * weird 0=64KiB, it's safer to restrict to 2^15 */ 144 * weird 0=64KiB, it's safer to restrict to 2^15 */
145#define IMX233_MAX_SINGLE_DMA_XFER_SIZE (1 << 15) 145#define IMX233_MAX_SINGLE_DMA_XFER_SIZE (1 << 16)
146 146
147void imx233_dma_init(void); 147void imx233_dma_init(void);
148void imx233_dma_reset_channel(unsigned chan); 148void imx233_dma_reset_channel(unsigned chan);