[prev in list] [next in list] [prev in thread] [next in thread]
List: linux-ia64
Subject: Re: [PATCH -v5 1/8] PCI/IA64: SN: remove sn_pci_window_fixup()
From: Yijing Wang <wangyijing () huawei ! com>
Date: 2013-06-17 3:01:21
Message-ID: 51BE7C01.802 () huawei ! com
[Download RAW message or body]
On 2013/6/15 8:48, Bjorn Helgaas wrote:
> On Fri, Jun 14, 2013 at 2:42 AM, Yijing Wang <wangyijing@huawei.com> wrote:
>> Hi Bjorn,
>> Do you know some body who still maintains SGI related code? I found some email delivery failures
>> to John Keller <jpk@sgi.com>, Jack Steiner <steiner@sgi.com>, Mark Maule <maule@sgi.com>.
>>
>> Some messages like this:
>> ----- The following addresses had permanent delivery errors -----
>> jpk@sgi.com
>> steiner@sgi.com
>> maule@sgi.com
>>
>> 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@huawei.com>
>>> Cc: John Keller <jpk@sgi.com>
>>> Cc: Jay Lan <jlan@engr.sgi.com>
>>> Cc: Jack Steiner <steiner@sgi.com>
>>> Cc: Mark Maule <maule@sgi.com>
>>> Cc: Tony Luck <tony.luck@intel.com>
>>> Cc: Fenghua Yu <fenghua.yu@intel.com>
>>> Cc: linux-ia64@vger.kernel.org
>>> ---
>>> 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-ia64" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic