On 2013/6/15 8:48, Bjorn Helgaas wrote: > On Fri, Jun 14, 2013 at 2:42 AM, Yijing Wang <wangyijing@xxxxxxxxxx> wrote: >> Hi Bjorn, >> Do you know some body who still maintains SGI related code? I found some email delivery failures >> to John Keller <jpk@xxxxxxx>, Jack Steiner <steiner@xxxxxxx>, Mark Maule <maule@xxxxxxx>. >> >> Some messages like this: >> ----- The following addresses had permanent delivery errors ----- >> jpk@xxxxxxx >> steiner@xxxxxxx >> maule@xxxxxxx >> >> So these email address does not exist anymore ? > > There are still some @sgi.com email addresses in MAINTAINERS, though I > don't think there's an explicit Altix maintainer anymore. > >> BTW, any chance to merge this series into 3.11? If there are still some problems, I >> will try my best to fix them. > > I'm not opposed to merging it for v3.11, but I poked Tony since it > only touches ia64, and I don't think it actually depends on any > changes in the PCI core. Hi Bjorn, Thanks for your help! I will try to explain this series to Tony, Hope he will like this series. Thanks! Yijing. > > Bjorn > >> On 2013/6/6 15:34, Yijing Wang wrote: >>> Currently, pcibios_bus_to_resource() and pcibios_resource_to_bus() >>> functions use pci_host_bridge_window in pci_host_bridge to translate >>> bus side to/from cpu side addresses. Pci_window in pci_controller >>> under IA64 is no used again, so it's no need to use sn_pci_window_fixup() >>> to setup pci_window again, remove it. >>> >>> Signed-off-by: Yijing Wang <wangyijing@xxxxxxxxxx> >>> Cc: John Keller <jpk@xxxxxxx> >>> Cc: Jay Lan <jlan@xxxxxxxxxxxx> >>> Cc: Jack Steiner <steiner@xxxxxxx> >>> Cc: Mark Maule <maule@xxxxxxx> >>> Cc: Tony Luck <tony.luck@xxxxxxxxx> >>> Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> >>> Cc: linux-ia64@xxxxxxxxxxxxxxx >>> --- >>> arch/ia64/sn/kernel/io_init.c | 53 ----------------------------------------- >>> 1 files changed, 0 insertions(+), 53 deletions(-) >>> >>> diff --git a/arch/ia64/sn/kernel/io_init.c b/arch/ia64/sn/kernel/io_init.c >>> index 238e2c5..06a172c 100644 >>> --- a/arch/ia64/sn/kernel/io_init.c >>> +++ b/arch/ia64/sn/kernel/io_init.c >>> @@ -149,48 +149,6 @@ sn_legacy_pci_window_fixup(struct pci_controller *controller, >>> } >>> >>> /* >>> - * sn_pci_window_fixup() - Create a pci_window for each device resource. >>> - * It will setup pci_windows for use by >>> - * pcibios_bus_to_resource(), pcibios_resource_to_bus(), >>> - * etc. >>> - */ >>> -static void >>> -sn_pci_window_fixup(struct pci_dev *dev, unsigned int count, >>> - s64 * pci_addrs) >>> -{ >>> - struct pci_controller *controller = PCI_CONTROLLER(dev->bus); >>> - unsigned int i; >>> - unsigned int idx; >>> - unsigned int new_count; >>> - struct pci_window *new_window; >>> - >>> - if (count == 0) >>> - return; >>> - idx = controller->windows; >>> - new_count = controller->windows + count; >>> - new_window = kcalloc(new_count, sizeof(struct pci_window), GFP_KERNEL); >>> - BUG_ON(new_window == NULL); >>> - if (controller->window) { >>> - memcpy(new_window, controller->window, >>> - sizeof(struct pci_window) * controller->windows); >>> - kfree(controller->window); >>> - } >>> - >>> - /* Setup a pci_window for each device resource. */ >>> - for (i = 0; i <= PCI_ROM_RESOURCE; i++) { >>> - if (pci_addrs[i] == -1) >>> - continue; >>> - >>> - new_window[idx].offset = dev->resource[i].start - pci_addrs[i]; >>> - new_window[idx].resource = dev->resource[i]; >>> - idx++; >>> - } >>> - >>> - controller->windows = new_count; >>> - controller->window = new_window; >>> -} >>> - >>> -/* >>> * sn_io_slot_fixup() - We are not running with an ACPI capable PROM, >>> * and need to convert the pci_dev->resource >>> * 'start' and 'end' addresses to mapped addresses, >>> @@ -199,9 +157,7 @@ sn_pci_window_fixup(struct pci_dev *dev, unsigned int count, >>> void >>> sn_io_slot_fixup(struct pci_dev *dev) >>> { >>> - unsigned int count = 0; >>> int idx; >>> - s64 pci_addrs[PCI_ROM_RESOURCE + 1]; >>> unsigned long addr, end, size, start; >>> struct pcidev_info *pcidev_info; >>> struct sn_irq_info *sn_irq_info; >>> @@ -229,7 +185,6 @@ sn_io_slot_fixup(struct pci_dev *dev) >>> for (idx = 0; idx <= PCI_ROM_RESOURCE; idx++) { >>> >>> if (!pcidev_info->pdi_pio_mapped_addr[idx]) { >>> - pci_addrs[idx] = -1; >>> continue; >>> } >>> >>> @@ -237,11 +192,8 @@ sn_io_slot_fixup(struct pci_dev *dev) >>> end = dev->resource[idx].end; >>> size = end - start; >>> if (size == 0) { >>> - pci_addrs[idx] = -1; >>> continue; >>> } >>> - pci_addrs[idx] = start; >>> - count++; >>> addr = pcidev_info->pdi_pio_mapped_addr[idx]; >>> addr = ((addr << 4) >> 4) | __IA64_UNCACHED_OFFSET; >>> dev->resource[idx].start = addr; >>> @@ -276,11 +228,6 @@ sn_io_slot_fixup(struct pci_dev *dev) >>> IORESOURCE_ROM_BIOS_COPY; >>> } >>> } >>> - /* Create a pci_window in the pci_controller struct for >>> - * each device resource. >>> - */ >>> - if (count > 0) >>> - sn_pci_window_fixup(dev, count, pci_addrs); >>> >>> sn_pci_fixup_slot(dev, pcidev_info, sn_irq_info); >>> } >>> >> >> >> -- >> Thanks! >> Yijing >> > > . > -- Thanks! Yijing -- 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