Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754886AbdD0Bsb (ORCPT ); Wed, 26 Apr 2017 21:48:31 -0400 Received: from szxga01-in.huawei.com ([45.249.212.187]:5803 "EHLO dggrg01-dlp.huawei.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1754083AbdD0BsX (ORCPT ); Wed, 26 Apr 2017 21:48:23 -0400 Subject: Re: [PATCH v4 00/21] PCI: fix config space memory mappings To: Jingoo Han , "'Khuong Dinh'" , "'Jon Masters'" , "'Lorenzo Pieralisi'" , References: <20170419164913.19674-1-lorenzo.pieralisi@arm.com> <2e24e205-d761-9172-9463-4a53e1a0de4d@jonmasters.org> <361fde15-5ba3-d33b-f946-003e89ba071f@huawei.com> <000501d2beb2$023b9100$06b2b300$@gmail.com> CC: , , "'Pratyush Anand'" , "'Arnd Bergmann'" , "'Jonathan Corbet'" , "'Will Deacon'" , "'Bjorn Helgaas'" , "'Mingkai Hu'" , "'Tanmay Inamdar'" , "'Murali Karicheri'" , "'Russell King'" , "'Bharat Kumar Gogada'" , "'Ray Jui'" , "'Wenrui Li'" , "'Shawn Lin'" , "'Minghuan Lian'" , "'Catalin Marinas'" , "'Jon Mason'" , "'Gabriele Paoloni'" , "'Thomas Petazzoni'" , "'Joao Pinto'" , "'Thierry Reding'" , "'Luis R . Rodriguez'" , "'Michal Simek'" , "'Stanimir Varbanov'" , "'Zhou Wang'" , "'Roy Zang'" , "'Benjamin Herrenschmidt'" , "'John Garry'" , "'Linuxarm'" From: Dongdong Liu Message-ID: <745824fc-016a-38b2-01a3-398399d4c80a@huawei.com> Date: Thu, 27 Apr 2017 09:46:15 +0800 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.4.0 MIME-Version: 1.0 In-Reply-To: <000501d2beb2$023b9100$06b2b300$@gmail.com> Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 8bit X-Originating-IP: [10.63.141.93] X-CFilter-Loop: Reflected X-Mirapoint-Virus-RAPID-Raw: score=unknown(0), refid=str=0001.0A090202.59014D78.002E,ss=1,re=0.000,recu=0.000,reip=0.000,cl=1,cld=1,fgs=0, ip=0.0.0.0, so=2014-11-16 11:51:01, dmn=2013-03-21 17:37:32 X-Mirapoint-Loop-Id: 38af2593eedde78f25bc8bb92f4538fe Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 4766 Lines: 112 在 2017/4/27 1:24, Jingoo Han 写道: > On Wednesday, April 26, 2017 6:54 AM, Dongdong Liu wrote; >> >> Tested-by: Dongdong Liu >> >> I tested the patchset on HiSilicon ARM64 D05 board.It works ok with 82599 >> netcard. > > Thank you for testing these patches. HiSilicon PCIe may use Designware-based > PCIe controller. In my opinion, other Designware-based PCIe controller will > work properly. > > To Dongdong Liu, Khuong Dinh, and other people, > If possible, can you check the output of 'lspci -v'? > If you find something different, please share it with us. > Good luck. root@(none)$ ./lspci -v 0002:80:00.0 Class 0604: Device 19e5:1610 (rev 01) Flags: bus master, fast devsel, latency 0 Memory at a9e00000 (32-bit, non-prefetchable) [size=64K] Bus: primary=80, secondary=81, subordinate=82, sec-latency=0 I/O behind bridge: 00000000-00001fff Memory behind bridge: a8800000-a8ffffff Prefetchable memory behind bridge: 00000000a9000000-00000000a9dfffff Capabilities: [40] Power Management version 3 Capabilities: [50] MSI: Enable- Count=1/32 Maskable+ 64bit+ Capabilities: [70] Express Root Port (Slot-), MSI 00 Capabilities: [100] Advanced Error Reporting Capabilities: [158] #19 Capabilities: [178] #17 Kernel driver in use: pcieport 0002:81:00.0 Class 0200: Device 8086:10fb (rev 01) Flags: bus master, fast devsel, latency 0, IRQ 255 Memory at a9000000 (64-bit, prefetchable) [size=4M] I/O ports at 1000 [disabled] [size=32] Memory at a9800000 (64-bit, prefetchable) [size=16K] Expansion ROM at a8800000 [disabled] [size=4M] Capabilities: [40] Power Management version 3 Capabilities: [50] MSI: Enable- Count=1/1 Maskable+ 64bit+ Capabilities: [70] MSI-X: Enable+ Count=64 Masked- Capabilities: [a0] Express Endpoint, MSI 00 Capabilities: [e0] Vital Product Data Capabilities: [100] Advanced Error Reporting Capabilities: [140] Device Serial Number 9c-37-f4-ff-ff-7b-5b-a0 Capabilities: [150] Alternative Routing-ID Interpretation (ARI) Capabilities: [160] Single Root I/O Virtualization (SR-IOV) Kernel driver in use: ixgbe 0002:81:00.1 Class 0200: Device 8086:10fb (rev 01) Flags: bus master, fast devsel, latency 0, IRQ 255 Memory at a9400000 (64-bit, prefetchable) [size=4M] I/O ports at 1020 [disabled] [size=32] Memory at a9a04000 (64-bit, prefetchable) [size=16K] Expansion ROM at a8c00000 [disabled] [size=4M] Capabilities: [40] Power Management version 3 Capabilities: [50] MSI: Enable- Count=1/1 Maskable+ 64bit+ Capabilities: [70] MSI-X: Enable+ Count=64 Masked- Capabilities: [a0] Express Endpoint, MSI 00 Capabilities: [e0] Vital Product Data Capabilities: [100] Advanced Error Reporting Capabilities: [140] Device Serial Number 9c-37-f4-ff-ff-7b-5b-a0 Capabilities: [150] Alternative Routing-ID Interpretation (ARI) Capabilities: [160] Single Root I/O Virtualization (SR-IOV) Kernel driver in use: ixgbe 0004:88:00.0 Class 0604: Device 19e5:1610 (rev 01) Flags: bus master, fast devsel, latency 0 Memory at 8a9000000 (32-bit, non-prefetchable) [size=64K] Bus: primary=88, secondary=89, subordinate=89, sec-latency=0 Capabilities: [40] Power Management version 3 Capabilities: [50] MSI: Enable- Count=1/32 Maskable+ 64bit+ Capabilities: [70] Express Root Port (Slot-), MSI 00 Capabilities: [100] Advanced Error Reporting Capabilities: [158] #19 Capabilities: [178] #17 Kernel driver in use: pcieport Thanks, Dongdong > > Best regards, > Jingoo Han > >> >> Thanks, >> Dongdong >> 在 2017/4/25 14:40, Jon Masters 写道: >>> On 04/19/2017 12:48 PM, Lorenzo Pieralisi wrote: >>> >>>> On some platforms (ie ARM/ARM64) ioremap fails to comply with the PCI >>>> configuration non-posted write transactions requirement, because it >>>> provides a memory mapping that issues "bufferable" or, in PCI terms >>>> "posted" write transactions. Likewise, the current pci_remap_iospace() >>>> implementation maps the physical address range that the PCI translates >>>> to I/O space cycles to virtual address space through pgprot_device() >>>> attributes that on eg ARM64 provides a memory mapping issuing >>>> posted writes transactions, which is not PCI specifications compliant. >>> >>> Side note that I've pinged all of the ARM server vendors and asked them >>> to verify this patch series on their platforms. >>> >>> Jon. >>> >>> . >>> > > . >