Re: [PATCH -v5 1/8] PCI/IA64: SN: remove sn_pci_window_fixup()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux