Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751718AbcDUKJN (ORCPT ); Thu, 21 Apr 2016 06:09:13 -0400 Received: from mail-lb0-f171.google.com ([209.85.217.171]:36805 "EHLO mail-lb0-f171.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751172AbcDUKJK (ORCPT ); Thu, 21 Apr 2016 06:09:10 -0400 Subject: Re: [PATCH V6 08/13] PCI: generic, thunder: update to use generic ECAM API To: Arnd Bergmann References: <1460740008-19489-1-git-send-email-tn@semihalf.com> <3830999.dF71UWYsBP@wuerfel> <57189D2F.9070802@semihalf.com> <8950494.UV8UrWiFbx@wuerfel> Cc: Jayachandran C , linux-arm-kernel@lists.infradead.org, Bjorn Helgaas , Will Deacon , Catalin Marinas , rafael@kernel.org, Hanjun Guo , Lorenzo Pieralisi , Sinan Kaya , jiang.liu@linux.intel.com, Jon Masters , linaro-acpi@lists.linaro.org, linux-pci@vger.kernel.org, Liviu.Dudau@arm.com, David Daney , linux-kernel@vger.kernel.org, linux-acpi@vger.kernel.org, robert.richter@caviumnetworks.com, Suravee.Suthikulpanit@amd.com, msalter@redhat.com, Wangyijing , Marcin Wojtas From: Tomasz Nowicki Message-ID: <5718A6AE.4080203@semihalf.com> Date: Thu, 21 Apr 2016 12:08:46 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Firefox/38.0 Thunderbird/38.5.1 MIME-Version: 1.0 In-Reply-To: <8950494.UV8UrWiFbx@wuerfel> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1372 Lines: 29 On 21.04.2016 11:36, Arnd Bergmann wrote: > On Thursday 21 April 2016 11:28:15 Tomasz Nowicki wrote: >> On 19.04.2016 15:06, Arnd Bergmann wrote: >>> On Monday 18 April 2016 21:31:54 Tomasz Nowicki wrote: >>>> >>>> Basically the whole content of pci-thunder-ecam.c and pci-thunder-pem.c. >>>> >>>> pci-thunder-ecam.c contains config space accessors. Similar for >>>> pci-thunder-pem.c but it also has extra init call (it is now called >>>> thunder_pem_init) which finds and maps related registers. >>> >>> They seem to do much more than just override the accessors, they actually >>> change the contents of the config space as well. Is that really necessary >>> on ACPI based systems as well? >> >> Yes, the pci-thunder-ecam.c accessors are meant to emulate config space >> capabilities. They are necessary to synthesize EA capabilities (fixed >> PCI BARs), it wont work without this, for ACPI boot as well. > > Why is that? I thought the BARs never get reassigned when using ACPI, > so I'm surprised it's actually needed. Maybe I misunderstood what > you mean by fixed PCI BARs. Yes, I meant something else. ThunderX has non-programmable PCI BAR addresses. So it uses PCI EA (Extended allocation) capabilities to get know PCI BARs addresses. But the early implementation (pass1.x) misses EA capabilities hence we need to emulate it in config space accessors. Tomasz