[PATCH v2 1/3] dmaengine: idxd: Add descriptor definitions for 16 bytes of pattern in memory fill operation

From: Fenghua Yu
Date: Fri Mar 03 2023 - 16:34:34 EST


The memory fill operation (0x04) can fill in memory with either 8 bytes
or 16 bytes of pattern. To fill in memory with 16 bytes of pattern, the
first 8 bytes are provided in pattern lower in bytes 16-23 and the next
8 bytes are in pattern upper in bytes 40-47 in the descriptor. Currently
only 8 bytes of pattern is enabled.

Add descriptor definitions for pattern lower and pattern upper so that
user can use 16 bytes of pattern to fill memory.

Signed-off-by: Fenghua Yu <fenghua.yu@xxxxxxxxx>
Reviewed-by: Dave Jiang <dave.jiang@xxxxxxxxx>
---
v2:
- Change anonymous struct to uint64_t for pattern_upper (Dave Jiang)

include/uapi/linux/idxd.h | 4 ++++
1 file changed, 4 insertions(+)

diff --git a/include/uapi/linux/idxd.h b/include/uapi/linux/idxd.h
index 1d553bedbdb5..c43d7df5fc15 100644
--- a/include/uapi/linux/idxd.h
+++ b/include/uapi/linux/idxd.h
@@ -180,6 +180,7 @@ struct dsa_hw_desc {
uint64_t rdback_addr;
uint64_t pattern;
uint64_t desc_list_addr;
+ uint64_t pattern_lower;
};
union {
uint64_t dst_addr;
@@ -244,6 +245,9 @@ struct dsa_hw_desc {
uint16_t dest_app_tag_seed;
};

+ /* Fill */
+ uint64_t pattern_upper;
+
uint8_t op_specific[24];
};
} __attribute__((packed));
--
2.37.1