From mboxrd@z Thu Jan 1 00:00:00 1970 From: Donald White Date: Wed, 21 May 2003 23:30:41 -0700 Subject: [U-Boot-Users] Patch to drivers/pci.c Message-ID: <3ECC6E91.7070901@asu.edu> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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 */