|
@@ -70,7 +70,7 @@ struct pci_epf_test_data {
|
|
|
bool linkup_notifier;
|
|
|
};
|
|
|
|
|
|
-static int bar_size[] = { 512, 512, 1024, 16384, 131072, 1048576 };
|
|
|
+static size_t bar_size[] = { 512, 512, 1024, 16384, 131072, 1048576 };
|
|
|
|
|
|
static int pci_epf_test_copy(struct pci_epf_test *epf_test)
|
|
|
{
|
|
@@ -367,12 +367,14 @@ static int pci_epf_test_set_bar(struct pci_epf *epf)
|
|
|
struct pci_epf_test *epf_test = epf_get_drvdata(epf);
|
|
|
enum pci_barno test_reg_bar = epf_test->test_reg_bar;
|
|
|
|
|
|
- flags = PCI_BASE_ADDRESS_SPACE_MEMORY | PCI_BASE_ADDRESS_MEM_TYPE_32;
|
|
|
- if (sizeof(dma_addr_t) == 0x8)
|
|
|
- flags |= PCI_BASE_ADDRESS_MEM_TYPE_64;
|
|
|
-
|
|
|
for (bar = BAR_0; bar <= BAR_5; bar++) {
|
|
|
epf_bar = &epf->bar[bar];
|
|
|
+
|
|
|
+ flags = PCI_BASE_ADDRESS_SPACE_MEMORY;
|
|
|
+ flags |= upper_32_bits(epf_bar->size) ?
|
|
|
+ PCI_BASE_ADDRESS_MEM_TYPE_64 :
|
|
|
+ PCI_BASE_ADDRESS_MEM_TYPE_32;
|
|
|
+
|
|
|
ret = pci_epc_set_bar(epc, epf->func_no, bar,
|
|
|
epf_bar->phys_addr,
|
|
|
epf_bar->size, flags);
|