Subject: Re: EEH error in doing DMA with PEX 8619

From: Gavin Shan <[email-masked]>
Date: Tue, 11 Apr 2017 08:24:42 +1000

On Mon, Apr 10, 2017 at 05:22:33AM -0700, IanJiang wrote:
>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 00000000_60600000
>dst: 0x 00000000_60800000
>Then, a DMA transfer is started and an EEH is reported in dmesg.
>
>This DMA test is OK at an x86_64 platform.
>
>Here are the details. Any suggestion is appreciated! 

.../...

>[72634.742182] brdgCtl:     00000002
>[72634.742183] RootSts:     0002004f 00400000 f0820008 00100147 00002800
>[72634.742184] RootErrSts:  00000000 00008000 00000000
>[72634.742185] PhbSts:      0000001c00000000 0000001c00000000
>[72634.742186] Lem:         0000000004000000 42498e327f502eae
>0000000000000000
>[72634.742189] InAErr:      0000000000004000 0000000000004000
>8000000060600001 8                                          400000000000001
>[72634.742190] PE[  1] A/B: 8200302500000000 8000000060600000

Please check if memory physical address (instead of DMA address) is used
in the driver. The EEH error is caused by DMA address 0x60600000 and it's
not having a corresponding TCE entry.

Thanks,
Gavin