Commit cb467c4
dmaengine: stm32-dma3: refactor HW linked-list to optimize memory accesses
Current behavior splits the buffer/sg in n * STM32_DMA3_MAX_BLOCK_SIZE + 1
for the remainder without optimization.
New behavior splits the buffer/sg in n * STM32_DMA3_MAX_BLOCK_SIZE + 1 for
(x * chan->max_burst) + 1 for the remainder.
Depending on channel FIFO size, optimal double-word (word if only 8-byte
FIFO size) bursts can be programmed before managing the very last remainder
with lower data width.
In case of _prep_slave_sg, and depending on the channel Transfer Complete
event configuration, the user is warned about the refactored linked-list,
not having the same items count than the initial sg_list. This warning is
shown only if the configuration is successful.
Signed-off-by: Amelie Delaunay <amelie.delaunay@foss.st.com>
Link: https://lore.kernel.org/r/20241016-dma3-mp25-updates-v3-3-8311fe6f228d@foss.st.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>1 parent 12eb621 commit cb467c4
1 file changed
+33
-7
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1126 | 1126 | | |
1127 | 1127 | | |
1128 | 1128 | | |
| 1129 | + | |
| 1130 | + | |
| 1131 | + | |
| 1132 | + | |
| 1133 | + | |
| 1134 | + | |
| 1135 | + | |
| 1136 | + | |
| 1137 | + | |
| 1138 | + | |
| 1139 | + | |
| 1140 | + | |
| 1141 | + | |
| 1142 | + | |
| 1143 | + | |
| 1144 | + | |
| 1145 | + | |
| 1146 | + | |
| 1147 | + | |
1129 | 1148 | | |
1130 | 1149 | | |
1131 | 1150 | | |
| |||
1161 | 1180 | | |
1162 | 1181 | | |
1163 | 1182 | | |
1164 | | - | |
| 1183 | + | |
1165 | 1184 | | |
1166 | 1185 | | |
1167 | 1186 | | |
| |||
1177 | 1196 | | |
1178 | 1197 | | |
1179 | 1198 | | |
| 1199 | + | |
| 1200 | + | |
| 1201 | + | |
1180 | 1202 | | |
1181 | 1203 | | |
1182 | 1204 | | |
| |||
1215 | 1237 | | |
1216 | 1238 | | |
1217 | 1239 | | |
1218 | | - | |
1219 | | - | |
1220 | | - | |
1221 | | - | |
1222 | | - | |
1223 | | - | |
| 1240 | + | |
| 1241 | + | |
| 1242 | + | |
1224 | 1243 | | |
1225 | 1244 | | |
1226 | 1245 | | |
| |||
1237 | 1256 | | |
1238 | 1257 | | |
1239 | 1258 | | |
| 1259 | + | |
| 1260 | + | |
| 1261 | + | |
1240 | 1262 | | |
1241 | 1263 | | |
1242 | 1264 | | |
| |||
1269 | 1291 | | |
1270 | 1292 | | |
1271 | 1293 | | |
| 1294 | + | |
| 1295 | + | |
| 1296 | + | |
| 1297 | + | |
1272 | 1298 | | |
1273 | 1299 | | |
1274 | 1300 | | |
| |||
0 commit comments