From: "André Schwarz" <andre.schwarz@matrix-vision.de>
To: u-boot@lists.denx.de
Subject: [U-Boot-Users] PCI stopped working on MPC8343
Date: Fri, 18 Apr 2008 16:27:25 +0200 [thread overview]
Message-ID: <4808AFCD.5070909@matrix-vision.de> (raw)
In-Reply-To: <4808AD5C.8080202@acm.org>
Larry,
you're right - but it doesn't fix my problem.
Thanks,
Andr?
Larry Johnson schrieb:
> Andre Schwarz wrote:
>> Last week my PCI bus has been running fine showing all devices.
>> Right now no devices are shown on the bus.
>>
>> I'm using CONFIG_83XX_GENERIC_PCI with common setup code for PCI.
>>
>> Nothing changed from my side during the last 2 weeks.
>>
>>
>> Did I miss any changes in u-boot ?
>>
>>
>> regards,
>> Andre Schwarz
>> Matrix Vision
>
> Hi Andre and everyone,
>
> I was just about to post on I problem I belatedly found with PCI on our
> Korat PPC400EPx board. (I believe the same problem exists on the
> Sequoia board, but have not proved it.) What appears to have broken it
> was the following patch (I got to use "git bisect" for the first time):
>
> <patch>
> commit 55774b512fdf63c0516d441cc5da7c54bbffb7f2
> Author: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
> Date: Fri Mar 7 16:04:25 2008 +0900
>
> pci: Add CONFIG_PCI_SKIP_HOST_BRIDGE config option
> In current source code, when the device number of PCI is 0,
> process PCI
> bridge without fail. However, when the device number is 0, it is not PCI
> always bridge. There are times when device of PCI allocates.
> When CONFIG_PCI_SKIP_HOST_BRIDGE is enable, this problem is solved
> when
> use this patch.
> Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
> Acked-by: Stefan Roese <sr@denx.de>
>
> diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
> index 50ca6b0..7944b66 100644
> --- a/drivers/pci/pci.c
> +++ b/drivers/pci/pci.c
> @@ -425,6 +425,9 @@ int pci_hose_scan_bus(struct pci_controller *hose,
> int bus)
> dev < PCI_BDF(bus,PCI_MAX_PCI_DEVICES-1,PCI_MAX_PCI_FUNCTIONS-1);
> dev += PCI_BDF(0,0,1))
> {
> +
> + /* Bus 0 is not necessarily PCI bridge. */
> +#if defined(CONFIG_PCI_SKIP_HOST_BRIDGE)
> /* Skip our host bridge */
> if ( dev == PCI_BDF(hose->first_busno,0,0) ) {
> #if defined(CONFIG_PCI_CONFIG_HOST_BRIDGE) /* don't skip
> host bridge */
> @@ -434,10 +437,11 @@ int pci_hose_scan_bus(struct pci_controller *hose,
> int bus)
> if (getenv("pciconfighost") == NULL) {
> continue; /* Skip our host bridge */
> }
> -#else
> +#else /* CONFIG_PCI_CONFIG_HOST_BRIDGE */
> continue; /* Skip our host bridge */
> -#endif
> +#endif /* CONFIG_PCI_CONFIG_HOST_BRIDGE */
> }
> +#endif /* CONFIG_PCI_SKIP_HOST_BRIDGE */
>
> if (PCI_FUNC(dev) && !found_multi)
> continue;
> @@ -473,8 +477,11 @@ int pci_hose_scan_bus(struct pci_controller *hose,
> int bus)
> hose->fixup_irq(hose, dev);
>
> #ifdef CONFIG_PCI_SCAN_SHOW
> +#if defined(CONFIG_PCI_SKIP_HOST_BRIDGE)
> /* Skip our host bridge */
> - if ( dev != PCI_BDF(hose->first_busno,0,0) ) {
> + if ( dev != PCI_BDF(hose->first_busno,0,0) )
> +#endif
> + {
> unsigned char int_line;
>
> pci_hose_read_config_byte(hose, dev, PCI_INTERRUPT_LINE,
>
> </patch>
>
> The patch changes the behavior of the code _unless_
> CONFIG_PCI_SKIP_HOST_BRIDGE is defined. Defining that switch in the
> Korat configuration fixes the problem. The MPC8323ERDB configuration
> has also been patched to add the switch, so maybe this is is the cause
> of your problem as well.
>
> I was going to submit the patch for Korat, but then decided I'd first
> like to ask Nobuhiro and the group whether it might not be better to
> change the occurrences of
>
> #if defined(CONFIG_PCI_SKIP_HOST_BRIDGE)
>
> in "drivers/pci/pci.c" to
>
> #if !defined(CONFIG_PCI_NO_SKIP_HOST_BRIDGE)
>
> That would allow those boards that need to patch to specify it
> explicity, while leaving the default functionality unchanged.
>
> Comments?
>
> Best regards,
> Larry
>
MATRIX VISION GmbH, Talstra?e 16, DE-71570 Oppenweiler - Registergericht: Amtsgericht Stuttgart, HRB 271090
Gesch?ftsf?hrer: Gerhard Thullner, Werner Armingeon, Uwe Furtner
next prev parent reply other threads:[~2008-04-18 14:27 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-04-18 11:20 [U-Boot-Users] PCI stopped working on MPC8343 Andre Schwarz
2008-04-18 14:17 ` Larry Johnson
2008-04-18 14:27 ` André Schwarz [this message]
2008-04-18 16:51 ` Larry Johnson
2008-04-18 14:57 ` Stefan Roese
2008-04-28 8:00 ` [U-Boot-Users] [PATCH][RFC] pci: Remove CONFIG_PCI_SKIP_HOST_BRIDGE and Add check PCI class of host bridge (Re: PCI stopped working on MPC8343) Nobuhiro Iwamatsu
2008-05-05 15:34 ` [U-Boot-Users] [PATCH][RFC] pci: Remove CONFIG_PCI_SKIP_HOST_BRIDGE and Add check PCI class of host bridge Larry Johnson
2008-05-05 18:41 ` Stefan Roese
2008-05-07 16:31 ` Anton Vorontsov
2008-05-09 2:01 ` Larry Johnson
2008-05-11 23:13 ` Wolfgang Denk
2008-05-12 13:43 ` Nobuhiro Iwamatsu
2008-05-12 18:32 ` Wolfgang Denk
2008-06-17 4:59 ` Nobuhiro Iwamatsu
2008-06-17 6:39 ` [U-Boot-Users] [PATCH][RFC] pci: Add check PCI bridge class (Re: [PATCH][RFC] pci: Remove CONFIG_PCI_SKIP_HOST_BRIDGE and Add check PCI class of host bridge) Nobuhiro Iwamatsu
2008-07-07 13:58 ` Stefan Roese
2008-07-08 6:51 ` Nobuhiro Iwamatsu
2008-07-08 9:27 ` Stefan Roese
2008-07-05 22:32 ` [U-Boot-Users] [PATCH][RFC] pci: Remove CONFIG_PCI_SKIP_HOST_BRIDGE and Add check PCI class of host bridge Wolfgang Denk
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=4808AFCD.5070909@matrix-vision.de \
--to=andre.schwarz@matrix-vision.de \
--cc=u-boot@lists.denx.de \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox