I have been hitting EEH address errors testing this with some network cards which map/unmap DMA addresses more frequently. For example:
PHB4 PHB#5 Diag-data (Version: 1) brdgCtl: 00000002 RootSts: 00060020 00402000 a0220008 00100107 00000800 PhbSts: 0000001c00000000 0000001c00000000 Lem: 0000000100000080 0000000000000000 0000000000000080 PhbErr: 0000028000000000 0000020000000000 2148000098000240 a008400000000000 RxeTceErr: 2000000000000000 2000000000000000 c000000000000000 0000000000000000 PblErr: 0000000000020000 0000000000020000 0000000000000000 0000000000000000 RegbErr: 0000004000000000 0000004000000000 61000c4800000000 0000000000000000 PE[000] A/B: 8300b03800000000 8000000000000000 Interestingly the PE[000] A/B data is the same across different cards and drivers. - Alistair On Wednesday, 5 June 2019 11:11:06 PM AEST Shawn Anastasio wrote: > On 5/30/19 2:03 AM, Alexey Kardashevskiy wrote: > > This is an attempt to allow DMA masks between 32..59 which are not large > > enough to use either a PHB3 bypass mode or a sketchy bypass. Depending > > on the max order, up to 40 is usually available. > > > > > > This is based on v5.2-rc2. > > > > Please comment. Thanks. > > I have tested this patch set with an AMD GPU that's limited to <64bit > DMA (I believe it's 40 or 42 bit). It successfully allows the card to > operate without falling back to 32-bit DMA mode as it does without > the patches. > > Relevant kernel log message: > ``` > [ 0.311211] pci 0033:01 : [PE# 00] Enabling 64-bit DMA bypass > ``` > > Tested-by: Shawn Anastasio <sh...@anastas.io>