Re: [PATCH V3 19/21] pci, acpi: Support for ACPI based generic PCI host controller init

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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
--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux