Message ID | 20240325103731.v1.1.I502ea9c86c8403dc5b1f38abf40be8b6ee13c1dc@changeid (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v1] dmaengine: Add support for audio interleaved transfer | expand |
Hi, Am Montag, 25. März 2024, 03:37:49 CET schrieb Sugar Zhang: > This patch add support for interleaved transfer which used > for interleaved audio or 2d video data transfer. > > for audio situation, we add 'nump' for number of period frames. > > Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com> > --- > > include/linux/dmaengine.h | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/include/linux/dmaengine.h b/include/linux/dmaengine.h > index 752dbde..5263cde 100644 > --- a/include/linux/dmaengine.h > +++ b/include/linux/dmaengine.h > @@ -144,6 +144,7 @@ struct data_chunk { > * Otherwise, destination is filled contiguously (icg ignored). > * Ignored if dst_inc is false. > * @numf: Number of frames in this template. > + * @nump: Number of period frames in this template. > * @frame_size: Number of chunks in a frame i.e, size of sgl[]. > * @sgl: Array of {chunk,icg} pairs that make up a frame. > */ > @@ -156,6 +157,7 @@ struct dma_interleaved_template { > bool src_sgl; > bool dst_sgl; > size_t numf; > + size_t nump; > size_t frame_size; > struct data_chunk sgl[]; > }; hmm, this only ever adds this nump element. I think for adding things to really generic structs, you definitly will need to provide an actual user for it in a second patch. Heiko
On 25-03-24, 10:37, Sugar Zhang wrote: > This patch add support for interleaved transfer which used > for interleaved audio or 2d video data transfer. > > for audio situation, we add 'nump' for number of period frames. User? also why not use the cyclic api? > > Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com> > --- > > include/linux/dmaengine.h | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/include/linux/dmaengine.h b/include/linux/dmaengine.h > index 752dbde..5263cde 100644 > --- a/include/linux/dmaengine.h > +++ b/include/linux/dmaengine.h > @@ -144,6 +144,7 @@ struct data_chunk { > * Otherwise, destination is filled contiguously (icg ignored). > * Ignored if dst_inc is false. > * @numf: Number of frames in this template. > + * @nump: Number of period frames in this template. > * @frame_size: Number of chunks in a frame i.e, size of sgl[]. > * @sgl: Array of {chunk,icg} pairs that make up a frame. > */ > @@ -156,6 +157,7 @@ struct dma_interleaved_template { > bool src_sgl; > bool dst_sgl; > size_t numf; > + size_t nump; > size_t frame_size; > struct data_chunk sgl[]; > }; > -- > 2.7.4
diff --git a/include/linux/dmaengine.h b/include/linux/dmaengine.h index 752dbde..5263cde 100644 --- a/include/linux/dmaengine.h +++ b/include/linux/dmaengine.h @@ -144,6 +144,7 @@ struct data_chunk { * Otherwise, destination is filled contiguously (icg ignored). * Ignored if dst_inc is false. * @numf: Number of frames in this template. + * @nump: Number of period frames in this template. * @frame_size: Number of chunks in a frame i.e, size of sgl[]. * @sgl: Array of {chunk,icg} pairs that make up a frame. */ @@ -156,6 +157,7 @@ struct dma_interleaved_template { bool src_sgl; bool dst_sgl; size_t numf; + size_t nump; size_t frame_size; struct data_chunk sgl[]; };
This patch add support for interleaved transfer which used for interleaved audio or 2d video data transfer. for audio situation, we add 'nump' for number of period frames. Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com> --- include/linux/dmaengine.h | 2 ++ 1 file changed, 2 insertions(+)