All of lore.kernel.org
 help / color / mirror / Atom feed
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
To: Chunhe Lan <Chunhe.Lan@freescale.com>
Cc: linux-pci@vger.kernel.org
Subject: Re: [PATCH] powerpc/pci: Fix the initial value of hose->first_busno
Date: Fri, 30 Jan 2015 20:49:32 +1100	[thread overview]
Message-ID: <1422611372.6200.4.camel@kernel.crashing.org> (raw)
In-Reply-To: <1422611302-309-1-git-send-email-Chunhe.Lan@freescale.com>

On Fri, 2015-01-30 at 17:48 +0800, Chunhe Lan wrote:
> When use "Intel PRO/1000 PT Quad Port Low Profile Server Adapter"
> card on P5040DS and T1040RDB, 32-bit kernel does not identify this
> card. This card has the four RJ-45 ports.
> 
> The bus range of every pci is "bus-range = <0 0xff>" in dts file.
> So the first bus number of every pci should start from 0, and it
> does not start from next_busno. The next_busno is used to count
> the bus sum of all pci devices. So the value of next_busno is
> accumulated.
> 
> This patch fixes this issue, and "Intel PRO/1000 PT Quad Port Low
> Profile Server Adapter" card can work rightly.

So the logic here was meant the way it is, which is to avoid bus number
overlap between domains due to some old cruft in userspace that didn't
deal with them properly.

It *might* be OK to deprecate that (this is *very* old cruft I'm talking
about such as 2001-era X server) however this isn't clear in your patch
description and it isn't clear either why that breaks your stuff.


> Signed-off-by: Chunhe Lan <Chunhe.Lan@freescale.com>
> ---
>  arch/powerpc/kernel/pci_32.c |    6 +++---
>  1 files changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/arch/powerpc/kernel/pci_32.c b/arch/powerpc/kernel/pci_32.c
> index 432459c..a194685 100644
> --- a/arch/powerpc/kernel/pci_32.c
> +++ b/arch/powerpc/kernel/pci_32.c
> @@ -236,13 +236,13 @@ static int __init pcibios_init(void)
>  
>  	/* Scan all of the recorded PCI controllers.  */
>  	list_for_each_entry_safe(hose, tmp, &hose_list, list_node) {
> -		if (pci_assign_all_buses)
> -			hose->first_busno = next_busno;
> +		hose->first_busno = 0;
>  		hose->last_busno = 0xff;
>  		pcibios_scan_phb(hose);
>  		pci_bus_add_devices(hose->bus);
>  		if (pci_assign_all_buses || next_busno <= hose->last_busno)
> -			next_busno = hose->last_busno + pcibios_assign_bus_offset;
> +			next_busno += hose->last_busno +
> +					pcibios_assign_bus_offset;
>  	}
>  	pci_bus_count = next_busno;
>  



  reply	other threads:[~2015-01-30  9:49 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-01-30  9:48 [PATCH] powerpc/pci: Fix the initial value of hose->first_busno Chunhe Lan
2015-01-30  9:49 ` Benjamin Herrenschmidt [this message]
2015-02-02 15:54   ` Bjorn Helgaas
2015-02-03  3:42     ` Chunhe Lan
2015-03-23  9:17       ` Chunhe.Lan

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=1422611372.6200.4.camel@kernel.crashing.org \
    --to=benh@kernel.crashing.org \
    --cc=Chunhe.Lan@freescale.com \
    --cc=linux-pci@vger.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.