• Niklas Cassel's avatar
    PCI: endpoint: BAR width should not depend on sizeof dma_addr_t · bf597574
    Niklas Cassel authored
    If a BAR supports 64-bit width or not depends on the hardware,
    and should thus not depend on sizeof(dma_addr_t).
    
    If a certain hardware doesn't support 64-bit BARs, its
    epc->ops->set_bar() implementation should return -EINVAL
    when PCI_BASE_ADDRESS_MEM_TYPE_64 is set.
    
    We can't change pci_epc_set_bar() to only set
    PCI_BASE_ADDRESS_MEM_TYPE_64 based on size, since if the user,
    for some reason, wants to configure a BAR with a 64-bit width,
    even though the BAR size is less than 4 GB, he should be able
    to do that.
    
    However, since pci-epf-test is simply a test and not an API,
    we can set PCI_BASE_ADDRESS_MEM_TYPE_64 in pci-epf-test itself
    only based on size.
    Signed-off-by: default avatarNiklas Cassel <niklas.cassel@axis.com>
    Signed-off-by: default avatarLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
    Acked-by: default avatarKishon Vijay Abraham I <kishon@ti.com>
    bf597574
pci-epf-test.c 12.5 KB