[U-Boot-Users] Patch to drivers/pci.c

Following is a patch to drivers/pci.c. It fixes the calculation of the base address in pci_hose_config_device().
diff -urN u-boot-0.3.0/drivers/pci.c u-boot-0.3.0-zpc1900/drivers/pci.c --- u-boot-0.3.0/drivers/pci.c Thu Feb 27 17:19:49 2003 +++ u-boot-0.3.0-zpc1900/drivers/pci.c Tue May 20 20:51:35 2003 @@ -329,9 +329,12 @@ if (bar_response & PCI_BASE_ADDRESS_SPACE) { bar_size = ~(bar_response & PCI_BASE_ADDRESS_IO_MASK) + 1; - bar_value = io;
+ /* round up region base address to a multiple of size */ io = ((io - 1) | (bar_size - 1)) + 1; + bar_value = io; + /* compute new region base address */ + io = io + bar_size; } else { @@ -340,9 +343,12 @@ found_mem64 = 1;
bar_size = ~(bar_response & PCI_BASE_ADDRESS_MEM_MASK) + 1; - bar_value = mem;
+ /* round up region base address to multiple of size */ mem = ((mem - 1) | (bar_size - 1)) + 1; + bar_value = mem; + /* compute new region base address */ + mem = mem + bar_size; }
/* Write it out and update our limit */

In message 3ECC6E91.7070901@asu.edu you wrote:
Following is a patch to drivers/pci.c. It fixes the calculation of the base address in pci_hose_config_device().
Added, thanks. [Will show up in CVS soon.]
Best regards,
Wolfgang Denk
participants (2)
-
Donald White
-
Wolfgang Denk