[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <569CBFB7.1020409@semihalf.com>
Date: Mon, 18 Jan 2016 11:34:31 +0100
From: Tomasz Nowicki <tn@...ihalf.com>
To: "liudongdong (C)" <liudongdong3@...wei.com>, bhelgaas@...gle.com,
arnd@...db.de, will.deacon@....com, catalin.marinas@....com,
rjw@...ysocki.net, hanjun.guo@...aro.org,
Lorenzo.Pieralisi@....com, okaya@...eaurora.org,
jiang.liu@...ux.intel.com, Stefano.Stabellini@...citrix.com
Cc: robert.richter@...iumnetworks.com, mw@...ihalf.com,
Liviu.Dudau@....com, ddaney@...iumnetworks.com, tglx@...utronix.de,
wangyijing@...wei.com, Suravee.Suthikulpanit@....com,
msalter@...hat.com, linux-pci@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org, linux-acpi@...r.kernel.org,
linux-kernel@...r.kernel.org, linaro-acpi@...ts.linaro.org,
jchandra@...adcom.com, jcm@...hat.com
Subject: Re: [PATCH V3 19/21] pci, acpi: Support for ACPI based generic PCI
host controller init
On 18.01.2016 10:25, liudongdong (C) wrote:
> I see here is different from V2 patch,
> in V2 patch, 0x0000022004000000 is cpu addr.
> but in V3 patch, 0x0000022004000000 is pci addr.
> which one is right ?
You are right, I look back at v2 and see bug there. But v3 fixes it, for
MEM & IO we always need to calculate this way:
CPU address defined as: cpu_addr = res->start + entry->offset;
PCI address: pci_addr = res->start;
>
> 0x0000022004000000 is the value of AddressMinimum.
> AddressMinimum evaluates to a 64-bit integer that specifies the lowest
> possible base address of the Memory range
> QWordMemory ( // 64-bit BAR Windows
> ResourceProducer, PosDecode,
> MinFixed, MaxFixed,
> Cacheable, ReadWrite,
> 0x000000000000000, // Granularity
> 0x0000022004000000, // Min Base Address
> 0x000002200fffffff, // Max Base Address
> 0x0000021ff9000000, // Translate
> 0x000000000c000000 // Length
> )
For your case:
cpu_addr = 0x0000022004000000 + 0x0000021ff9000000:
pci_addr = 0x0000022004000000;
Regards,
Tomasz
Powered by blists - more mailing lists