Thank you for your reply igorpadykov these examples were helpful to understand the implementation.
Being very new to all this implementation details it took some time for me to go through all this. I understand that Freescale has given driver for SDMA engine(imx-sdma.c) and also for SPI subsystem(spi-imx.c). Further digging down tells me that while probing the spi_imx_probe call in spi-imx.c fails with " dma setup error,use pio instead" kmesg log the reason behind this message is failure in spi_imx_sdma_init function while calling dma_request_slave_channel() which is function of dmaengine.c. I am using the SPI devices using spidev.c(which i assume is protocol driver) Looking forward for in this for you help.
Also, while going through SPI subsystem I understand that (please correct me if I am wrong) SPI subsystem comprises of two drivers controller and protocol driver.In current implementation what is what among spi-imx.c and spidev.c and for better understanding if you could shed some light on how these two are interlinked will be very helpful.