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.

Linux/AM5726: EDMA transfer issue from DDR to PCIe

Part Number: AM5726


Tool/software: Linux

My linux kernel version:

Linux am57xx-evm 4.1.18-rt17 #1 SMP PREEMPT RT Thu Jun 29 11:43:34 DST 2017 armv7l GNU/Linux

My Problem:

time out when do dma from bf800000(DDR)to 24000000(pci 0000:01:00.0: BAR 0: assigned [mem 0x24000000-0x27ffffff])length 256 Bytes

My Code:

static int tx_dma_transfer(struct dma_chan *chan, dma_addr_t dma_dst, dma_addr_t dma_src, size_t len)
{
	int rc = -ENODEV;
	dma_cookie_t cookie;
	struct completion cmp;
	enum dma_status status;
	enum dma_ctrl_flags flags = 0;
	struct dma_slave_config cfg;
	struct dma_async_tx_descriptor *tx = NULL;
	unsigned long tmo = msecs_to_jiffies(3000);
	
	if(!chan)
		goto done;
	
	memset(&cfg, 0, sizeof(cfg));
	cfg.direction = DMA_MEM_TO_DEV;
	cfg.src_addr = dma_src;
	cfg.dst_addr = dma_dst;
	cfg.src_addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES;
	cfg.dst_addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES;
	cfg.src_maxburst = 16;
	cfg.dst_maxburst = 16;
	rc = dmaengine_slave_config(chan, &cfg);
	if (rc < 0)
		goto done;
	
	flags = DMA_CTRL_ACK | DMA_PREP_INTERRUPT;
	tx = dmaengine_prep_slave_single(chan, dma_src, len, DMA_MEM_TO_DEV, flags);
	if (!tx) {
	    printk(KERN_ERR "%s: Failed to prepare DMA transfer\n",
	           __FUNCTION__);
	    goto done;
	}
	
	init_completion(&cmp);
	tx->callback = dma_callback;
	tx->callback_param = &cmp;
	cookie = dmaengine_submit(tx);
	if (dma_submit_error(cookie)) {
	    printk(KERN_ERR "%s: Failed to start DMA transfer\n",
	           __FUNCTION__);
	           
	    rc = -ENOMEM;
	    goto done;
	}
	
	dma_async_issue_pending(chan);
	
	tmo = wait_for_completion_timeout(&cmp, tmo);
	status = dma_async_is_tx_complete(chan, cookie, NULL, NULL);
	
	if (tmo <= 0) {
		dmaengine_terminate_all(chan);
	    printk(KERN_ERR "%s: Transfer timed out\n", __FUNCTION__);
	    rc = -ETIMEDOUT;
	}
	if (status != DMA_COMPLETE) {
	    printk(KERN_ERR "%s: Transfer failed: status is %s\n",
	           __FUNCTION__,
	           status == DMA_ERROR ? "error" : "in progress");
	
	    dmaengine_terminate_all(chan);
	    rc = -EIO;
	}
	
done:
	return rc;
}

debug info after called:

[   59.429200] edma test from bf800000 to 24000000 len 256 

[   59.434377] edma 43300000.edma: first transfer starting on channel 4

[   59.440942] edma 43300000.edma: ER0 00000000

[   59.445232] edma 43300000.edma: EER0 00000010

[   62.448966] edma 43300000.edma: EER0 00000000

[   62.453343] tx_dma_transfer: Transfer timed out

[   62.457892] tx_dma_transfer: Transfer failed: status is in progress

 with EDMA 

  • The software team have been notified. They will respond here.
  • Hi, sgcc,

    EDMA over PCIe is not supported in RC. ? Is AM572x a RC? what end device is it? Could you elaborate more on your application?

    Rex
  • AM5726 is RC, EP is Xilinx FPGA, and i need to copy data from ddr to EP's BAR 0 using EDMA.
  • That will be a feature request, and needs to be evaluated. I'll submit the request.

    Rex
  • Could you elaborate what kind of data and the size it is dealing with?
  • the data is similar to ethernet packets with special type, the length i tested is 256 Bytes, i also tried to copy data from ddr to ddr using "tx_dma_transfer" function, but also failed.
  • Hi, sgcc,

    We are collecting info for the requirement. 

    1) Does the Endpoint have DMA? If EP has DMA will it help and is the DMA on RC still needed?

    2) Are you looking for user space API to program DMA?

    Rex

  • 1) EP is FPGA, and it only implemented do dma from EP To RC's DDR. i need RC's DMA controller do dma from RC's DDR To EP.
    2) I cannot find DMA API from any lib to program DMA, and i don't think user space's DMA can be successful while kernel space cannot.
  • My second question is to evaluate if this feature be used by user space application? If it is used by user space application, then we'll implement a user space API to program DMA. I assume it is user space application which sends data to FPGA. I'll feedback these info to development team.

    Thanks!
  • yes, my EP's pci device driver is a net device driver, when user space called send, then i write to EP(FPGA) using dma.

    thanks!
  • Thank you for confirming that. I'll close this thread for now if you don't mind, but will be back to update this thread once there is a decision on this feature either way.
  • We evaluated the request and looks like it is looking for an example of memcopy DMA from DDR to a memory mapped region. Can you take drivers/dma/dmatest.c as an example which does memory copy DMA using EDMA?

    If you don't have further questions, I'll close this thread.

    Rex
  • AM5726's EDMA do not support "DMA_MEMCPY", pls look for "/* HACK: Do not allow legacy memcpy for dra7 family */" in edma.c

    and my dmatest as below:

     the testcode cannot request a edma channel, i add debug printk in dmatest_match_channel

    static bool dmatest_match_channel(struct dmatest_params *params,
    		struct dma_chan *chan)
    {
    	bool ret = false;
    	if (params->channel[0] == '\0')
    		return true;
    	
    	ret = strcmp(dma_chan_name(chan), params->channel) == 0;	
    	if(!ret)
    		printk("dmatest_match_channel fail %s with %s\n", 
    				dma_chan_name(chan),
    				params->channel);
    	return ret;
    }

    root@am57xx-evm:~# ls -l /sys/class/dma/  
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma0chan0 -> ../../devices/platform/44000000.ocp/43300000.edma/dma/dma0chan0
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma0chan1 -> ../../devices/platform/44000000.ocp/43300000.edma/dma/dma0chan1
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma0chan10 -> ../../devices/platform/44000000.ocp/43300000.edma/dma/dma0chan10
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma0chan11 -> ../../devices/platform/44000000.ocp/43300000.edma/dma/dma0chan11
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma0chan12 -> ../../devices/platform/44000000.ocp/43300000.edma/dma/dma0chan12
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma0chan13 -> ../../devices/platform/44000000.ocp/43300000.edma/dma/dma0chan13
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma0chan14 -> ../../devices/platform/44000000.ocp/43300000.edma/dma/dma0chan14
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma0chan15 -> ../../devices/platform/44000000.ocp/43300000.edma/dma/dma0chan15
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma0chan16 -> ../../devices/platform/44000000.ocp/43300000.edma/dma/dma0chan16
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma0chan17 -> ../../devices/platform/44000000.ocp/43300000.edma/dma/dma0chan17
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma0chan18 -> ../../devices/platform/44000000.ocp/43300000.edma/dma/dma0chan18
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma0chan19 -> ../../devices/platform/44000000.ocp/43300000.edma/dma/dma0chan19
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma0chan2 -> ../../devices/platform/44000000.ocp/43300000.edma/dma/dma0chan2
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma0chan20 -> ../../devices/platform/44000000.ocp/43300000.edma/dma/dma0chan20
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma0chan21 -> ../../devices/platform/44000000.ocp/43300000.edma/dma/dma0chan21
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma0chan22 -> ../../devices/platform/44000000.ocp/43300000.edma/dma/dma0chan22
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma0chan23 -> ../../devices/platform/44000000.ocp/43300000.edma/dma/dma0chan23
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma0chan24 -> ../../devices/platform/44000000.ocp/43300000.edma/dma/dma0chan24
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma0chan25 -> ../../devices/platform/44000000.ocp/43300000.edma/dma/dma0chan25
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma0chan26 -> ../../devices/platform/44000000.ocp/43300000.edma/dma/dma0chan26
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma0chan27 -> ../../devices/platform/44000000.ocp/43300000.edma/dma/dma0chan27
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma0chan28 -> ../../devices/platform/44000000.ocp/43300000.edma/dma/dma0chan28
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma0chan29 -> ../../devices/platform/44000000.ocp/43300000.edma/dma/dma0chan29
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma0chan3 -> ../../devices/platform/44000000.ocp/43300000.edma/dma/dma0chan3
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma0chan30 -> ../../devices/platform/44000000.ocp/43300000.edma/dma/dma0chan30
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma0chan31 -> ../../devices/platform/44000000.ocp/43300000.edma/dma/dma0chan31
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma0chan32 -> ../../devices/platform/44000000.ocp/43300000.edma/dma/dma0chan32
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma0chan33 -> ../../devices/platform/44000000.ocp/43300000.edma/dma/dma0chan33
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma0chan34 -> ../../devices/platform/44000000.ocp/43300000.edma/dma/dma0chan34
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma0chan35 -> ../../devices/platform/44000000.ocp/43300000.edma/dma/dma0chan35
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma0chan36 -> ../../devices/platform/44000000.ocp/43300000.edma/dma/dma0chan36
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma0chan37 -> ../../devices/platform/44000000.ocp/43300000.edma/dma/dma0chan37
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma0chan38 -> ../../devices/platform/44000000.ocp/43300000.edma/dma/dma0chan38
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma0chan39 -> ../../devices/platform/44000000.ocp/43300000.edma/dma/dma0chan39
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma0chan4 -> ../../devices/platform/44000000.ocp/43300000.edma/dma/dma0chan4
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma0chan40 -> ../../devices/platform/44000000.ocp/43300000.edma/dma/dma0chan40
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma0chan41 -> ../../devices/platform/44000000.ocp/43300000.edma/dma/dma0chan41
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma0chan42 -> ../../devices/platform/44000000.ocp/43300000.edma/dma/dma0chan42
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma0chan43 -> ../../devices/platform/44000000.ocp/43300000.edma/dma/dma0chan43
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma0chan44 -> ../../devices/platform/44000000.ocp/43300000.edma/dma/dma0chan44
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma0chan45 -> ../../devices/platform/44000000.ocp/43300000.edma/dma/dma0chan45
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma0chan46 -> ../../devices/platform/44000000.ocp/43300000.edma/dma/dma0chan46
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma0chan47 -> ../../devices/platform/44000000.ocp/43300000.edma/dma/dma0chan47
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma0chan48 -> ../../devices/platform/44000000.ocp/43300000.edma/dma/dma0chan48
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma0chan49 -> ../../devices/platform/44000000.ocp/43300000.edma/dma/dma0chan49
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma0chan5 -> ../../devices/platform/44000000.ocp/43300000.edma/dma/dma0chan5
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma0chan50 -> ../../devices/platform/44000000.ocp/43300000.edma/dma/dma0chan50
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma0chan51 -> ../../devices/platform/44000000.ocp/43300000.edma/dma/dma0chan51
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma0chan52 -> ../../devices/platform/44000000.ocp/43300000.edma/dma/dma0chan52
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma0chan53 -> ../../devices/platform/44000000.ocp/43300000.edma/dma/dma0chan53
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma0chan54 -> ../../devices/platform/44000000.ocp/43300000.edma/dma/dma0chan54
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma0chan55 -> ../../devices/platform/44000000.ocp/43300000.edma/dma/dma0chan55
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma0chan56 -> ../../devices/platform/44000000.ocp/43300000.edma/dma/dma0chan56
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma0chan57 -> ../../devices/platform/44000000.ocp/43300000.edma/dma/dma0chan57
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma0chan58 -> ../../devices/platform/44000000.ocp/43300000.edma/dma/dma0chan58
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma0chan59 -> ../../devices/platform/44000000.ocp/43300000.edma/dma/dma0chan59
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma0chan6 -> ../../devices/platform/44000000.ocp/43300000.edma/dma/dma0chan6
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma0chan60 -> ../../devices/platform/44000000.ocp/43300000.edma/dma/dma0chan60
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma0chan61 -> ../../devices/platform/44000000.ocp/43300000.edma/dma/dma0chan61
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma0chan62 -> ../../devices/platform/44000000.ocp/43300000.edma/dma/dma0chan62
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma0chan63 -> ../../devices/platform/44000000.ocp/43300000.edma/dma/dma0chan63
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma0chan7 -> ../../devices/platform/44000000.ocp/43300000.edma/dma/dma0chan7
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma0chan8 -> ../../devices/platform/44000000.ocp/43300000.edma/dma/dma0chan8
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma0chan9 -> ../../devices/platform/44000000.ocp/43300000.edma/dma/dma0chan9
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma1chan0 -> ../../devices/platform/44000000.ocp/4a056000.dma-controller/dma/dma1chan0
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma1chan1 -> ../../devices/platform/44000000.ocp/4a056000.dma-controller/dma/dma1chan1
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma1chan10 -> ../../devices/platform/44000000.ocp/4a056000.dma-controller/dma/dma1chan10
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma1chan11 -> ../../devices/platform/44000000.ocp/4a056000.dma-controller/dma/dma1chan11
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma1chan12 -> ../../devices/platform/44000000.ocp/4a056000.dma-controller/dma/dma1chan12
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma1chan13 -> ../../devices/platform/44000000.ocp/4a056000.dma-controller/dma/dma1chan13
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma1chan14 -> ../../devices/platform/44000000.ocp/4a056000.dma-controller/dma/dma1chan14
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma1chan15 -> ../../devices/platform/44000000.ocp/4a056000.dma-controller/dma/dma1chan15
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma1chan16 -> ../../devices/platform/44000000.ocp/4a056000.dma-controller/dma/dma1chan16
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma1chan17 -> ../../devices/platform/44000000.ocp/4a056000.dma-controller/dma/dma1chan17
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma1chan18 -> ../../devices/platform/44000000.ocp/4a056000.dma-controller/dma/dma1chan18
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma1chan19 -> ../../devices/platform/44000000.ocp/4a056000.dma-controller/dma/dma1chan19
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma1chan2 -> ../../devices/platform/44000000.ocp/4a056000.dma-controller/dma/dma1chan2
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma1chan20 -> ../../devices/platform/44000000.ocp/4a056000.dma-controller/dma/dma1chan20
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma1chan21 -> ../../devices/platform/44000000.ocp/4a056000.dma-controller/dma/dma1chan21
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma1chan22 -> ../../devices/platform/44000000.ocp/4a056000.dma-controller/dma/dma1chan22
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma1chan23 -> ../../devices/platform/44000000.ocp/4a056000.dma-controller/dma/dma1chan23
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma1chan24 -> ../../devices/platform/44000000.ocp/4a056000.dma-controller/dma/dma1chan24
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma1chan25 -> ../../devices/platform/44000000.ocp/4a056000.dma-controller/dma/dma1chan25
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma1chan26 -> ../../devices/platform/44000000.ocp/4a056000.dma-controller/dma/dma1chan26
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma1chan27 -> ../../devices/platform/44000000.ocp/4a056000.dma-controller/dma/dma1chan27
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma1chan28 -> ../../devices/platform/44000000.ocp/4a056000.dma-controller/dma/dma1chan28
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma1chan29 -> ../../devices/platform/44000000.ocp/4a056000.dma-controller/dma/dma1chan29
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma1chan3 -> ../../devices/platform/44000000.ocp/4a056000.dma-controller/dma/dma1chan3
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma1chan30 -> ../../devices/platform/44000000.ocp/4a056000.dma-controller/dma/dma1chan30
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma1chan31 -> ../../devices/platform/44000000.ocp/4a056000.dma-controller/dma/dma1chan31
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma1chan4 -> ../../devices/platform/44000000.ocp/4a056000.dma-controller/dma/dma1chan4
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma1chan5 -> ../../devices/platform/44000000.ocp/4a056000.dma-controller/dma/dma1chan5
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma1chan6 -> ../../devices/platform/44000000.ocp/4a056000.dma-controller/dma/dma1chan6
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma1chan7 -> ../../devices/platform/44000000.ocp/4a056000.dma-controller/dma/dma1chan7
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma1chan8 -> ../../devices/platform/44000000.ocp/4a056000.dma-controller/dma/dma1chan8
    lrwxrwxrwx    1 root     root             0 May 14 21:50 dma1chan9 -> ../../devices/platform/44000000.ocp/4a056000.dma-controller/dma/dma1chan9

    root@am57xx-evm:~# insmod dmatest.ko

    root@am57xx-evm:~# echo dma0chan10 > /sys/module/dmatest/parameters/channel
    root@am57xx-evm:~# echo 2000 > /sys/module/dmatest/parameters/timeout
    root@am57xx-evm:~# echo 1 > /sys/module/dmatest/parameters/iterations
    root@am57xx-evm:~# echo 1 > /sys/module/dmatest/parameters/run
    [  134.749109] dmatest_match_channel fail dma1chan6 with dma0chan10
    [  134.755147] dmatest_match_channel fail dma1chan7 with dma0chan10
    [  134.761182] dmatest_match_channel fail dma1chan8 with dma0chan10
    [  134.767215] dmatest_match_channel fail dma1chan9 with dma0chan10
    [  134.773249] dmatest_match_channel fail dma1chan10 with dma0chan10
    [  134.779369] dmatest_match_channel fail dma1chan11 with dma0chan10
    [  134.785489] dmatest_match_channel fail dma1chan12 with dma0chan10
    [  134.791609] dmatest_match_channel fail dma1chan13 with dma0chan10
    [  134.797728] dmatest_match_channel fail dma1chan14 with dma0chan10
    [  134.803848] dmatest_match_channel fail dma1chan15 with dma0chan10
    [  134.809969] dmatest_match_channel fail dma1chan16 with dma0chan10
    [  134.816088] dmatest_match_channel fail dma1chan17 with dma0chan10
    [  134.822207] dmatest_match_channel fail dma1chan18 with dma0chan10
    [  134.828326] dmatest_match_channel fail dma1chan19 with dma0chan10
    [  134.834447] dmatest_match_channel fail dma1chan20 with dma0chan10
    [  134.840568] dmatest_match_channel fail dma1chan21 with dma0chan10
    [  134.846686] dmatest_match_channel fail dma1chan22 with dma0chan10
    [  134.852805] dmatest_match_channel fail dma1chan23 with dma0chan10
    [  134.858953] dmatest_match_channel fail dma1chan24 with dma0chan10
    [  134.865072] dmatest_match_channel fail dma1chan25 with dma0chan10
    [  134.871192] dmatest_match_channel fail dma1chan26 with dma0chan10
    [  134.877311] dmatest_match_channel fail dma1chan27 with dma0chan10
    [  134.883431] dmatest_match_channel fail dma1chan28 with dma0chan10
    [  134.889553] dmatest_match_channel fail dma1chan29 with dma0chan10
    [  134.895672] dmatest_match_channel fail dma1chan30 with dma0chan10
    [  134.901792] dmatest_match_channel fail dma1chan31 with dma0chan10

    root@am57xx-evm:~# echo dma1chan10 > /sys/module/dmatest/parameters/channel
    root@am57xx-evm:~# echo 2000 > /sys/module/dmatest/parameters/timeout
    root@am57xx-evm:~# echo 1 > /sys/module/dmatest/parameters/iterations
    root@am57xx-evm:~# echo 1 > /sys/module/dmatest/parameters/run
    [  162.619104] dmatest_match_channel fail dma1chan6 with dma1chan10
    [  162.625139] dmatest_match_channel fail dma1chan7 with dma1chan10
    [  162.631172] dmatest_match_channel fail dma1chan8 with dma1chan10
    [  162.637203] dmatest_match_channel fail dma1chan9 with dma1chan10
    [  162.643310] Started 1 threads using dma1chan10
    [  162.643508] dma1chan10-copy: verifying source buffer...
    [  162.643587] dma1chan10-copy: verifying dest buffer...
    [  162.643661] dma1chan10-copy: result #1: 'test passed' with src_off=0x13c6 dst_off=0xdeb len=0x184c (0)
    [  162.643674] dma1chan10-copy: summary 1 tests, 0 failures 2994 iops 17964 KB/s (0)

  • The logs show dmatest working on dma1chan10 channel. I'll close this issue.