@ -27,6 +27,7 @@
# include <sound/pcm_params.h>
# include <sound/initval.h>
# include <sound/soc.h>
# include <sound/dmaengine_pcm.h>
# include "fsl_ssi.h"
# include "imx-pcm.h"
@ -122,8 +123,10 @@ struct fsl_ssi_private {
bool ssi_on_imx ;
struct clk * clk ;
struct platform_device * imx_pcm_pdev ;
struct imx_pcm_dma_params dma_params_tx ;
struct imx_pcm_dma_params dma_params_rx ;
struct snd_dmaengine_dai_dma_data dma_params_tx ;
struct snd_dmaengine_dai_dma_data dma_params_rx ;
struct imx_dma_data filter_data_tx ;
struct imx_dma_data filter_data_rx ;
struct {
unsigned int rfrc ;
@ -738,14 +741,18 @@ static int fsl_ssi_probe(struct platform_device *pdev)
* We have burstsize be " fifo_depth - 2 " to match the SSI
* watermark setting in fsl_ssi_startup ( ) .
*/
ssi_private - > dma_params_tx . burstsize =
ssi_private - > dma_params_tx . max burst =
ssi_private - > fifo_depth - 2 ;
ssi_private - > dma_params_rx . burstsize =
ssi_private - > dma_params_rx . max burst =
ssi_private - > fifo_depth - 2 ;
ssi_private - > dma_params_tx . dma_ addr =
ssi_private - > dma_params_tx . addr =
ssi_private - > ssi_phys + offsetof ( struct ccsr_ssi , stx0 ) ;
ssi_private - > dma_params_rx . dma_ addr =
ssi_private - > dma_params_rx . addr =
ssi_private - > ssi_phys + offsetof ( struct ccsr_ssi , srx0 ) ;
ssi_private - > dma_params_tx . filter_data =
& ssi_private - > filter_data_tx ;
ssi_private - > dma_params_rx . filter_data =
& ssi_private - > filter_data_rx ;
/*
* TODO : This is a temporary solution and should be changed
* to use generic DMA binding later when the helplers get in .
@ -760,9 +767,9 @@ static int fsl_ssi_probe(struct platform_device *pdev)
shared = of_device_is_compatible ( of_get_parent ( np ) ,
" fsl,spba-bus " ) ;
imx_pcm_dma_params_init_data ( & ssi_private - > dma_params _tx,
imx_pcm_dma_params_init_data ( & ssi_private - > filter_data _tx,
dma_events [ 0 ] , shared ) ;
imx_pcm_dma_params_init_data ( & ssi_private - > dma_params _rx,
imx_pcm_dma_params_init_data ( & ssi_private - > filter_data _rx,
dma_events [ 1 ] , shared ) ;
}