This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DM6467 spi problem for edma mode

Hi

       when I used spidev to operate spi on DM6467,  I encountered a seriou problem.  the linux kernel is 2.6.32-rc2-davinci1, and the spi was configured to use EDMA.

      here is code in application:

     xfer[0].tx_buf  = (__u64) buf; 

     xfer[0].rx_buf  = (__u64) rcv;
     xfer[0].len     = len;
     xfer[0].delay_usecs     = 0;
 
    status = ioctl(fd, SPI_IOC_MESSAGE(1), xfer);
    if (status < 0) {
        perror("SPI_IOC_MESSAGE");
       return;
    }

    when the application  executed to "status = ioctl(fd, SPI_IOC_MESSAGE(1), xfer);",  it was blocked on

"static ssize_t spidev_sync(struct spidev_data *spidev, struct spi_message *message)" in driver/spi/spidev.c

    I used chip scope to analyse and found that the data could be sended correctly.the problem is that we can not

get the receive data.

   in addition  the kernel printed such msg:   "EMR0 00030000", it indicated that EDMA ecounted a missed error

   any one can help me? thanks very much!