All of lore.kernel.org
 help / color / mirror / Atom feed
From: Yijing Wang <wangyijing@huawei.com>
To: Bjorn Helgaas <bhelgaas@google.com>
Cc: Yinghai Lu <yinghai@kernel.org>,
	"linux-pci@vger.kernel.org" <linux-pci@vger.kernel.org>,
	Tony Luck <tony.luck@intel.com>,
	linux-ia64@vger.kernel.org, Fenghua Yu <fenghua.yu@intel.com>,
	Hanjun Guo <guohanjun@huawei.com>,
	Jiang Liu <jiang.liu@huawei.com>, John Keller <jpk@sgi.com>,
	Jay Lan <jlan@engr.sgi.com>, Jack Steiner <steiner@sgi.com>,
	Mark Maule <maule@sgi.com>
Subject: Re: [PATCH -v5 1/8] PCI/IA64: SN: remove sn_pci_window_fixup()
Date: Mon, 17 Jun 2013 03:01:21 +0000	[thread overview]
Message-ID: <51BE7C01.802@huawei.com> (raw)
In-Reply-To: <CAErSpo7A9rtww6rg58LVPigTM=jAPrgDLE0m1RqbtbGH=cf27w@mail.gmail.com>

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


WARNING: multiple messages have this Message-ID (diff)
From: Yijing Wang <wangyijing@huawei.com>
To: Bjorn Helgaas <bhelgaas@google.com>
Cc: Yinghai Lu <yinghai@kernel.org>,
	"linux-pci@vger.kernel.org" <linux-pci@vger.kernel.org>,
	Tony Luck <tony.luck@intel.com>, <linux-ia64@vger.kernel.org>,
	Fenghua Yu <fenghua.yu@intel.com>,
	Hanjun Guo <guohanjun@huawei.com>,
	Jiang Liu <jiang.liu@huawei.com>, John Keller <jpk@sgi.com>,
	Jay Lan <jlan@engr.sgi.com>, Jack Steiner <steiner@sgi.com>,
	Mark Maule <maule@sgi.com>
Subject: Re: [PATCH -v5 1/8] PCI/IA64: SN: remove sn_pci_window_fixup()
Date: Mon, 17 Jun 2013 11:01:21 +0800	[thread overview]
Message-ID: <51BE7C01.802@huawei.com> (raw)
In-Reply-To: <CAErSpo7A9rtww6rg58LVPigTM=jAPrgDLE0m1RqbtbGH=cf27w@mail.gmail.com>

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


  reply	other threads:[~2013-06-17  3:01 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-06-06  7:34 [PATCH -v5 0/8] Add hostbridge resource release to support root bus hotplug in IA64 Yijing Wang
2013-06-06  7:34 ` Yijing Wang
2013-06-06  7:34 ` [PATCH -v5 1/8] PCI/IA64: SN: remove sn_pci_window_fixup() Yijing Wang
2013-06-06  7:34   ` Yijing Wang
2013-06-14  8:42   ` Yijing Wang
2013-06-14  8:42     ` Yijing Wang
2013-06-15  0:48     ` Bjorn Helgaas
2013-06-15  0:48       ` Bjorn Helgaas
2013-06-17  3:01       ` Yijing Wang [this message]
2013-06-17  3:01         ` Yijing Wang
2013-06-06  7:34 ` [PATCH -v5 2/8] PCI/IA64: SN: use normal resource instead of pci_window Yijing Wang
2013-06-06  7:34   ` Yijing Wang
2013-06-06  7:34 ` [PATCH -v5 3/8] PCI/IA64: embed pci hostbridge resources into pci_root_info Yijing Wang
2013-06-06  7:34   ` Yijing Wang
2013-06-06  7:34 ` [PATCH -v5 4/8] PCI/IA64: Allocate pci_root_info instead of using stack Yijing Wang
2013-06-06  7:34   ` Yijing Wang
2013-06-06  7:34 ` [PATCH -v5 5/8] PCI/IA64: fix memleak for create pci root bus fail Yijing Wang
2013-06-06  7:34   ` Yijing Wang
2013-06-06  7:34 ` [PATCH -v5 6/8] PCI/IA64: add host bridge resource release for _CRS path Yijing Wang
2013-06-06  7:34   ` Yijing Wang
2013-06-06  7:34 ` [PATCH -v5 7/8] PCI/IA64: introduce probe_pci_root_info() to manage _CRS resource Yijing Wang
2013-06-06  7:34   ` Yijing Wang
2013-06-06  7:34 ` [PATCH -v5 8/8] PCI: Replace printks with appropriate pr_*() Yijing Wang
2013-06-06  7:34   ` Yijing Wang
2013-06-15  0:22 ` [PATCH -v5 0/8] Add hostbridge resource release to support root bus hotplug in IA64 Bjorn Helgaas
2013-06-15  0:22   ` Bjorn Helgaas
2013-06-17  2:56   ` Yijing Wang
2013-06-17  2:56     ` Yijing Wang
2013-06-17 22:57     ` Tony Luck
2013-06-17 22:57       ` Tony Luck
2013-06-17 23:10       ` Bjorn Helgaas
2013-06-17 23:10         ` Bjorn Helgaas
2013-06-18  1:03         ` Yijing Wang
2013-06-18  1:03           ` Yijing Wang
2013-06-18  1:01       ` Yijing Wang
2013-06-18  1:01         ` Yijing Wang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=51BE7C01.802@huawei.com \
    --to=wangyijing@huawei.com \
    --cc=bhelgaas@google.com \
    --cc=fenghua.yu@intel.com \
    --cc=guohanjun@huawei.com \
    --cc=jiang.liu@huawei.com \
    --cc=jlan@engr.sgi.com \
    --cc=jpk@sgi.com \
    --cc=linux-ia64@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=maule@sgi.com \
    --cc=steiner@sgi.com \
    --cc=tony.luck@intel.com \
    --cc=yinghai@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.