aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/dma/at_hdmac.c3
-rw-r--r--drivers/dma/at_hdmac_regs.h2
2 files changed, 5 insertions, 0 deletions
diff --git a/drivers/dma/at_hdmac.c b/drivers/dma/at_hdmac.c
index 9e1ad73a78cf..4c101a9dd3cb 100644
--- a/drivers/dma/at_hdmac.c
+++ b/drivers/dma/at_hdmac.c
@@ -615,6 +615,7 @@ atc_prep_dma_memcpy(struct dma_chan *chan, dma_addr_t dest, dma_addr_t src,
615 /* First descriptor of the chain embedds additional information */ 615 /* First descriptor of the chain embedds additional information */
616 first->txd.cookie = -EBUSY; 616 first->txd.cookie = -EBUSY;
617 first->len = len; 617 first->len = len;
618 first->tx_width = src_width;
618 619
619 /* set end-of-link to the last link descriptor of list*/ 620 /* set end-of-link to the last link descriptor of list*/
620 set_desc_eol(desc); 621 set_desc_eol(desc);
@@ -761,6 +762,7 @@ atc_prep_slave_sg(struct dma_chan *chan, struct scatterlist *sgl,
761 /* First descriptor of the chain embedds additional information */ 762 /* First descriptor of the chain embedds additional information */
762 first->txd.cookie = -EBUSY; 763 first->txd.cookie = -EBUSY;
763 first->len = total_len; 764 first->len = total_len;
765 first->tx_width = reg_width;
764 766
765 /* first link descriptor of list is responsible of flags */ 767 /* first link descriptor of list is responsible of flags */
766 first->txd.flags = flags; /* client is in control of this ack */ 768 first->txd.flags = flags; /* client is in control of this ack */
@@ -919,6 +921,7 @@ atc_prep_dma_cyclic(struct dma_chan *chan, dma_addr_t buf_addr, size_t buf_len,
919 /* First descriptor of the chain embedds additional information */ 921 /* First descriptor of the chain embedds additional information */
920 first->txd.cookie = -EBUSY; 922 first->txd.cookie = -EBUSY;
921 first->len = buf_len; 923 first->len = buf_len;
924 first->tx_width = reg_width;
922 925
923 return &first->txd; 926 return &first->txd;
924 927
diff --git a/drivers/dma/at_hdmac_regs.h b/drivers/dma/at_hdmac_regs.h
index c604d26fd4d3..3679933fb646 100644
--- a/drivers/dma/at_hdmac_regs.h
+++ b/drivers/dma/at_hdmac_regs.h
@@ -182,6 +182,7 @@ struct at_lli {
182 * @txd: support for the async_tx api 182 * @txd: support for the async_tx api
183 * @desc_node: node on the channed descriptors list 183 * @desc_node: node on the channed descriptors list
184 * @len: total transaction bytecount 184 * @len: total transaction bytecount
185 * @tx_width: transfer width
185 */ 186 */
186struct at_desc { 187struct at_desc {
187 /* FIRST values the hardware uses */ 188 /* FIRST values the hardware uses */
@@ -192,6 +193,7 @@ struct at_desc {
192 struct dma_async_tx_descriptor txd; 193 struct dma_async_tx_descriptor txd;
193 struct list_head desc_node; 194 struct list_head desc_node;
194 size_t len; 195 size_t len;
196 u32 tx_width;
195}; 197};
196 198
197static inline struct at_desc * 199static inline struct at_desc *