SPI Transfer Without DMA Taking More Time Than With DMA

Dear Team,

We have been evaluating the Colibri T30 for one of our customer’s requirements.

With DMA    (18 bytes) :- 260 uS
Without DMA (18 bytes) :- 353 mS
  1. We have the platform device defined as :-

    static struct spi_board_info tegra_adc7606spi_devices __initdata = {
    {
    .bus_num = 0,
    .chip_select = 0,
    .controller_data = &adc7606dev_controller_data,
    .irq = 0,
    .max_speed_hz = 15000000,
    .modalias = “adc7606dev”,
    .mode = SPI_MODE_2,
    .platform_data = NULL,
    },
    };
    And the SPIDEV is disabled for SPI(0,0).

Is it the expected behaviour because we were actually expecting w/o DMA time to be far less here.

  1. In the board file there is an entity defined as :-

    static struct tegra_spi_device_controller_data adc7606dev_controller_data = {
    .cs_hold_clk_count = 1,
    .cs_setup_clk_count = 1,
    .is_hw_based_cs = 1,
    };
    How was these value figured out, as I can see similar values being used for mcp2515 (which I have disabled for our case)?

Thanks

Ashish Kumar Mishra.

Dear Team ,
Any input on observed behaviour .

( i am starting the debugging the code. On parallel it would be helpful if we have teams comment / feedback / observation on same )

Thanks ,
Ashish Kumar Mishra