On Tue, Apr 11, 2017 at 5:37 PM, Benjamin Herrenschmidt [via linuxppc]
<br/><<a href="/user/SendEmail.jtp?type=node&node=121259&i=0" target="_top" rel="nofollow" link="external">[hidden email]</a>> wrote:
<br/>>
<br/>> Another possibility would be if the requests from the PLX have a
<br/>> different initiator ID on the bus than the device you are setting up
<br/>> the DMA for.
<br/>>
<br/><br/>Here is the problem, I think.
<br/>There are three PEX 8619 devices given in lspci, and there are
<br/>supported by two different modules:
<br/><br/>[root@localhost PlxSdk]# lspci -nnn | grep 8619
<br/>0001:01:00.0 PCI bridge [0604]: PLX Technology, Inc. PEX 8619 16-lane,
<br/>16-Port PCI Express Gen 2 (5.0 GT/s) Switch with DMA [10b5:8619] (rev
<br/>ba)
<br/>0001:01:00.1 System peripheral [0880]: PLX Technology, Inc. PEX 8619
<br/>16-lane, 16-Port PCI Express Gen 2 (5.0 GT/s) Switch with DMA
<br/>[10b5:8619] (rev ba)
<br/>0001:02:01.0 Bridge [0680]: PLX Technology, Inc. PEX 8619 16-lane,
<br/>16-Port PCI Express Gen 2 (5.0 GT/s) Switch with DMA [10b5:8619] (rev
<br/>ba)
<br/><br/>[root@localhost PlxSdk]# lsmod | grep 8000
<br/>Plx8000_DMA            69021  0
<br/>Plx8000_NT             73848  0
<br/><br/><br/>[root@localhost ~]# dmesg | grep Probe
<br/>[ 1875.493576] Plx8000_NT: Probe: 8619 10B5 [D1 01:00.1]
<br/>[ 1875.493584] Plx8000_NT: Probe: -- Unsupported Device --
<br/>...
<br/>[ 1875.493867] Plx8000_NT: Probe: 8619 10B5 [D1 02:01.0]
<br/>[ 1876.973489] Plx8000_DMA: Probe: 8619 10B5 [D1 01:00.1]
<br/><br/>In my test, DMA buffers are allocated with  (bus 2, device 1, function
<br/>0) in module Plx8000_NT, but DMA is issued by (bus 1 device 0 function
<br/>1) in module Plx8000_DMA. And error of (bus 1 device 0 function 1) is
<br/>reported by EEH.
<br/><br/><br/>[ 1908.426579] Plx8000_DMA: Ch 0 - DMA 00000000_60600000 -->
<br/>00000000_60800000 (65536 bytes)
<br/><br/>[root@localhost ~]# dmesg | grep Bus\ Phy
<br/>[ 1875.495524] Plx8000_NT:     Bus Phys Addr: 605f0000
<br/>[ 1878.096744] Plx8000_DMA:     Bus Phys Addr: 60010000
<br/>[ 1892.745698] Plx8000_NT:     Bus Phys Addr: 60600000
<br/>[ 1892.746348] Plx8000_NT:     Bus Phys Addr: 60800000
<br/><br/><br/>[root@localhost ~]# dmesg | grep bus
<br/>[ 1875.495463] Debug Plx_dma_buffer_alloc: bus 2, device 1, function 0
<br/>[ 1876.973699] Debug AddDevice: Device bus 1 device 0 function 1
<br/>[ 1876.975155] Debug AddDevice: Device bus 1 device 0 function 1
<br/>[ 1876.976641] Debug AddDevice: Device bus 1 device 0 function 2
<br/>[ 1877.360606] Debug AddDevice: Device bus 1 device 0 function 3
<br/>[ 1877.763869] Debug AddDevice: Device bus 1 device 0 function 4
<br/>[ 1878.069865] Debug Plx_dma_buffer_alloc: bus 1, device 0, function 1
<br/>[ 1892.745446] Debug Plx_dma_buffer_alloc: bus 2, device 1, function 0
<br/>[ 1892.746109] Debug Plx_dma_buffer_alloc: bus 2, device 1, function 0
<br/>[ 1908.426649] Debug PlxDmaTransferBlock: DMA device bus 1 device 0 function 1
<br/>[ 1908.428483] Debug plx_err_detected: Device bus 1 device 0 function 1
<br/>[ 1917.490481] Debug plx_slot_reset: Device bus 1 device 0 function 1
<br/>[ 1917.490625] Debug plx_resume: Device bus 1 device 0 function 1
<br/>

        
        
        
<br/><hr align="left" width="300" />
View this message in context: <a href="http://linuxppc.10917.n7.nabble.com/EEH-error-in-doing-DMA-with-PEX-8619-tp121121p121259.html">Re: EEH error in doing DMA with PEX 8619</a><br/>
Sent from the <a href="http://linuxppc.10917.n7.nabble.com/linuxppc-dev-f3.html">linuxppc-dev mailing list archive</a> at Nabble.com.<br/>