Re: EEH error in doing DMA with PEX 8619

2017-04-12 Thread IanJiang
On Tue, Apr 11, 2017 at 5:37 PM, Benjamin Herrenschmidt [via linuxppc] wrote: > > Another possibility would be if the requests from the PLX have a > different initiator ID on the bus than the device you are setting up > the DMA for. > Here is the problem,

Re: EEH error in doing DMA with PEX 8619

2017-04-11 Thread IanJiang
On Tue, Apr 11, 2017 at 5:37 PM, Benjamin Herrenschmidt [via linuxppc] wrote: > Another possibility would be if the requests from the PLX have a > different initiator ID on the bus than the device you are setting up > the DMA for. Is there a way to

Re: EEH error in doing DMA with PEX 8619

2017-04-11 Thread IanJiang
I did another test: - Call dma_set_mask_and_coherent(>dev, DMA_BIT_MASK(32)) in probe; - Use DMA address or BUS address in DMA But EHH error remains. All sources are based on PLX SDK 7.25. Note: Sample test is in user space. It allocates memory and starts DMA through PLX API. The original sample

Re: EEH error in doing DMA with PEX 8619

2017-04-10 Thread IanJiang
Thanks for your replay. I fixed my test according your suggestion. The CPU physical addresses (0x 1f9e40 and 0x 1f82c0) converted with virt_to_phys() are used , instead of DMA addresses, or BUS physical addresses (0x 60a0 and 0x 60c0). However, EEH still reports error. Memory

EEH error in doing DMA with PEX 8619

2017-04-10 Thread IanJiang
Hi all! I am porting PLX driver for PEX 8619 to a power8 machine with CentOS-7.3. The PEX 8619 is used as an NTB (Non-Transparent Bridge). First, two DMA buffer are allocated with dma_alloc_coherent() and the physical address are: src: 0x _6060 dst: 0x _6080 Then, a DMA