From: Bruno Randolf <br1@einfach.org>
To: Bruno Randolf <br1@einfach.org>
Cc: linux-mips@linux-mips.org, manuel.lauss@googlemail.com,
ralf@linux-mips.org, florian@openwrt.org
Subject: Re: [PATCH] mtx-1: add udelay to mtx1_pci_idsel
Date: Tue, 24 Jul 2012 16:13:29 +0100 [thread overview]
Message-ID: <500EBB99.5050209@einfach.org> (raw)
In-Reply-To: <1342126445-13408-1-git-send-email-br1@einfach.org>
Hello? Any feedback?
I know the description is not very good, but this patch is necessary for
PCI to work on the Surfbox.
Thanks,
bruno
On 07/12/2012 09:54 PM, Bruno Randolf wrote:
> Without this udelay(1) PCI idsel does not work correctly on the "singleboard"
> (T-Mobile Surfbox) for the MiniPCI device. The result is that PCI configuration
> fails and the MiniPCI card is not detected correctly. Instead of
>
> PCI host bridge to bus 0000:00
> pci_bus 0000:00: root bus resource [mem 0x40000000-0x4fffffff]
> pci_bus 0000:00: root bus resource [io 0x1000-0xffff]
> pci 0000:00:03.0: BAR 0: assigned [mem 0x40000000-0x4000ffff]
> pci 0000:00:00.0: BAR 0: assigned [mem 0x40010000-0x40010fff]
> pci 0000:00:00.1: BAR 0: assigned [mem 0x40011000-0x40011fff]
>
> We see only the CardBus device:
>
> PCI host bridge to bus 0000:00
> pci_bus 0000:00: root bus resource [mem 0x40000000-0x4fffffff]
> pci_bus 0000:00: root bus resource [io 0x1000-0xffff]
> pci 0000:00:00.0: BAR 0: assigned [mem 0x40000000-0x40000fff]
> pci 0000:00:00.1: BAR 0: assigned [mem 0x40001000-0x40001fff]
>
> Later the device driver shows this error:
>
> ath5k 0000:00:03.0: cannot remap PCI memory region
> ath5k: probe of 0000:00:03.0 failed with error -5
>
> I assume that the logic chip which usually supresses the signal to the CardBus
> card has some settling time and without the delay it would still let the
> Cardbus interfere with the response from the MiniPCI card.
>
> What I cannot explain is why this behaviour shows up now and not in earlier
> kernel versions before. Maybe older PCI code was slower?
>
> Signed-off-by: Bruno Randolf <br1@einfach.org>
> ---
> arch/mips/alchemy/board-mtx1.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/arch/mips/alchemy/board-mtx1.c b/arch/mips/alchemy/board-mtx1.c
> index 295f1a9..e107a2f 100644
> --- a/arch/mips/alchemy/board-mtx1.c
> +++ b/arch/mips/alchemy/board-mtx1.c
> @@ -228,6 +228,8 @@ static int mtx1_pci_idsel(unsigned int devsel, int assert)
> * adapter on the mtx-1 "singleboard" variant. It triggers a custom
> * logic chip connected to EXT_IO3 (GPIO1) to suppress IDSEL signals.
> */
> + udelay(1);
> +
> if (assert && devsel != 0)
> /* Suppress signal to Cardbus */
> alchemy_gpio_set_value(1, 0); /* set EXT_IO3 OFF */
>
next prev parent reply other threads:[~2012-07-24 15:13 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-07-12 20:54 [PATCH] mtx-1: add udelay to mtx1_pci_idsel Bruno Randolf
2012-07-24 15:13 ` Bruno Randolf [this message]
2012-07-24 15:20 ` Manuel Lauss
2012-07-24 15:25 ` Bruno Randolf
2012-07-24 15:36 ` Manuel Lauss
2012-07-24 19:08 ` Manuel Lauss
2012-07-24 21:22 ` Bruno Randolf
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=500EBB99.5050209@einfach.org \
--to=br1@einfach.org \
--cc=florian@openwrt.org \
--cc=linux-mips@linux-mips.org \
--cc=manuel.lauss@googlemail.com \
--cc=ralf@linux-mips.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.