|
@@ -2578,6 +2578,14 @@ static int d40_set_runtime_config(struct dma_chan *chan,
|
|
|
return -EINVAL;
|
|
|
}
|
|
|
|
|
|
+ if (src_maxburst > 16) {
|
|
|
+ src_maxburst = 16;
|
|
|
+ dst_maxburst = src_maxburst * src_addr_width / dst_addr_width;
|
|
|
+ } else if (dst_maxburst > 16) {
|
|
|
+ dst_maxburst = 16;
|
|
|
+ src_maxburst = dst_maxburst * dst_addr_width / src_addr_width;
|
|
|
+ }
|
|
|
+
|
|
|
ret = dma40_config_to_halfchannel(d40c, &cfg->src_info,
|
|
|
src_addr_width,
|
|
|
src_maxburst);
|