Code Review
/
kvmfornfv.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
These changes are the raw update to linux-4.4.6-rt14. Kernel sources
[kvmfornfv.git]
/
kernel
/
drivers
/
dma
/
at_hdmac_regs.h
diff --git
a/kernel/drivers/dma/at_hdmac_regs.h
b/kernel/drivers/dma/at_hdmac_regs.h
index
2727ca5
..
7f58f06
100644
(file)
--- a/
kernel/drivers/dma/at_hdmac_regs.h
+++ b/
kernel/drivers/dma/at_hdmac_regs.h
@@
-112,6
+112,7
@@
#define ATC_SRC_WIDTH_BYTE (0x0 << 24)
#define ATC_SRC_WIDTH_HALFWORD (0x1 << 24)
#define ATC_SRC_WIDTH_WORD (0x2 << 24)
#define ATC_SRC_WIDTH_BYTE (0x0 << 24)
#define ATC_SRC_WIDTH_HALFWORD (0x1 << 24)
#define ATC_SRC_WIDTH_WORD (0x2 << 24)
+#define ATC_REG_TO_SRC_WIDTH(r) (((r) >> 24) & 0x3)
#define ATC_DST_WIDTH_MASK (0x3 << 28) /* Destination Single Transfer Size */
#define ATC_DST_WIDTH(x) ((x) << 28)
#define ATC_DST_WIDTH_BYTE (0x0 << 28)
#define ATC_DST_WIDTH_MASK (0x3 << 28) /* Destination Single Transfer Size */
#define ATC_DST_WIDTH(x) ((x) << 28)
#define ATC_DST_WIDTH_BYTE (0x0 << 28)
@@
-182,7
+183,6
@@
struct at_lli {
* @txd: support for the async_tx api
* @desc_node: node on the channed descriptors list
* @len: descriptor byte count
* @txd: support for the async_tx api
* @desc_node: node on the channed descriptors list
* @len: descriptor byte count
- * @tx_width: transfer width
* @total_len: total transaction byte count
*/
struct at_desc {
* @total_len: total transaction byte count
*/
struct at_desc {
@@
-194,8
+194,17
@@
struct at_desc {
struct dma_async_tx_descriptor txd;
struct list_head desc_node;
size_t len;
struct dma_async_tx_descriptor txd;
struct list_head desc_node;
size_t len;
- u32 tx_width;
size_t total_len;
size_t total_len;
+
+ /* Interleaved data */
+ size_t boundary;
+ size_t dst_hole;
+ size_t src_hole;
+
+ /* Memset temporary buffer */
+ bool memset_buffer;
+ dma_addr_t memset_paddr;
+ int *memset_vaddr;
};
static inline struct at_desc *
};
static inline struct at_desc *
@@
-326,6
+335,7
@@
struct at_dma {
u8 all_chan_mask;
struct dma_pool *dma_desc_pool;
u8 all_chan_mask;
struct dma_pool *dma_desc_pool;
+ struct dma_pool *memset_pool;
/* AT THE END channels table */
struct at_dma_chan chan[0];
};
/* AT THE END channels table */
struct at_dma_chan chan[0];
};
@@
-375,9
+385,9
@@
static void vdbg_dump_regs(struct at_dma_chan *atchan) {}
static void atc_dump_lli(struct at_dma_chan *atchan, struct at_lli *lli)
{
dev_crit(chan2dev(&atchan->chan_common),
static void atc_dump_lli(struct at_dma_chan *atchan, struct at_lli *lli)
{
dev_crit(chan2dev(&atchan->chan_common),
- " desc: s
0x%x d0x%x ctrl0x%x:0x%x l0x%x
\n",
-
lli->saddr,
lli->daddr,
- lli->ctrla, lli->ctrlb, lli->dscr);
+ " desc: s
%pad d%pad ctrl0x%x:0x%x l0x%pad
\n",
+
&lli->saddr, &
lli->daddr,
+ lli->ctrla, lli->ctrlb,
&
lli->dscr);
}
}