From: Yinghai Lu <yinghai@kernel.org>
To: Jesse Barnes <jbarnes@virtuousgeek.org>
Cc: Ram Pai <linuxram@us.ibm.com>,
Dominik Brodowski <linux@dominikbrodowski.net>,
Linus Torvalds <torvalds@linux-foundation.org>,
linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org,
Yinghai Lu <yinghai@kernel.org>
Subject: [PATCH 6/9] PCI: Retry on type IORESOURCE_IO allocation.
Date: Sat, 4 Feb 2012 22:55:05 -0800 [thread overview]
Message-ID: <1328424908-6385-7-git-send-email-yinghai@kernel.org> (raw)
In-Reply-To: <1328424908-6385-1-git-send-email-yinghai@kernel.org>
During reenabling pci reallocating for pci bridge by clean the small size in
bridge and assign with requested + optional size for first several try,
Ram mention could have problem with one case
https://bugzilla.kernel.org/show_bug.cgi?id=15960
After checking the booting log in
https://lkml.org/lkml/2010/4/19/44
[regression, bisected] Xonar DX invalid PCI I/O range since 977d17bb174
We should not stop too early for io ports.
Apr 19 10:19:38 [kernel] pci 0000:04:00.0: BAR 7: can't assign io (size 0x4000)
Apr 19 10:19:38 [kernel] pci 0000:05:01.0: BAR 8: assigned [mem 0x80400000-0x805fffff]
Apr 19 10:19:38 [kernel] pci 0000:05:01.0: BAR 7: can't assign io (size 0x2000)
Apr 19 10:19:38 [kernel] pci 0000:05:02.0: BAR 7: can't assign io (size 0x1000)
Apr 19 10:19:38 [kernel] pci 0000:05:03.0: BAR 7: can't assign io (size 0x1000)
Apr 19 10:19:38 [kernel] pci 0000:08:00.0: BAR 7: can't assign io (size 0x1000)
Apr 19 10:19:38 [kernel] pci 0000:09:04.0: BAR 0: can't assign io (size 0x100)
and clear 00:1c.0 to retry again.
The patch remove the IORESOUCE_IO checking, and try one more time.
and we will have chance to get allocation for 00:1c.0 io port range because
from 0x4000 to 0x8000 could be used.
Signed-off-by: Yinghai Lu <yinghai@kernel.org>
---
drivers/pci/setup-bus.c | 12 +-----------
1 files changed, 1 insertions(+), 11 deletions(-)
diff --git a/drivers/pci/setup-bus.c b/drivers/pci/setup-bus.c
index 2991a89..162edfb 100644
--- a/drivers/pci/setup-bus.c
+++ b/drivers/pci/setup-bus.c
@@ -1292,7 +1292,6 @@ pci_assign_unassigned_resources(void)
struct pci_dev_resource *fail_res;
unsigned long type_mask = IORESOURCE_IO | IORESOURCE_MEM |
IORESOURCE_PREFETCH;
- unsigned long failed_type;
int pci_try_num = 1;
/* don't realloc if asked to do so */
@@ -1327,16 +1326,7 @@ again:
if (list_empty(&fail_head))
goto enable_and_dump;
- failed_type = 0;
- list_for_each_entry(fail_res, &fail_head, list)
- failed_type |= fail_res->flags;
-
- /*
- * io port are tight, don't try extra
- * or if reach the limit, don't want to try more
- */
- failed_type &= type_mask;
- if ((failed_type == IORESOURCE_IO) || (tried_times >= pci_try_num)) {
+ if (tried_times >= pci_try_num) {
free_list(&fail_head);
goto enable_and_dump;
}
--
1.7.7
next prev parent reply other threads:[~2012-02-05 6:55 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-02-05 6:54 [PATCH -v2 0/9] PCI : bridge resource reallocation patchset -- followup Yinghai Lu
2012-02-05 6:55 ` [PATCH 1/9] pci: Fix pci cardbus removal Yinghai Lu
2012-02-10 20:20 ` Jesse Barnes
2012-02-05 6:55 ` [PATCH 2/9] PCI: Fix /sys warning when sriov enabled card is hot removed Yinghai Lu
2012-02-10 20:39 ` Jesse Barnes
2012-02-05 6:55 ` [PATCH 3/9] PCI: Disable cardbus bridge MEM1 pref CTL Yinghai Lu
2012-02-10 20:46 ` Jesse Barnes
2012-02-10 20:54 ` Yinghai Lu
2012-02-10 22:11 ` Bjorn Helgaas
2012-02-05 6:55 ` [PATCH 4/9] PCI: Fix cardbus bridge resources as optional size handling Yinghai Lu
2012-02-08 4:35 ` Ram Pai
2012-02-08 4:48 ` Yinghai Lu
2012-02-08 5:01 ` Ram Pai
2012-02-08 6:11 ` Yinghai Lu
2012-02-10 20:52 ` Jesse Barnes
2012-02-10 20:56 ` Yinghai Lu
2012-02-05 6:55 ` [PATCH 5/9] PCI: Skip reset cardbus assigned resource during pci bus rescan Yinghai Lu
2012-02-05 6:55 ` Yinghai Lu [this message]
2012-02-05 6:55 ` [PATCH 7/9] PCI: Make pci bridge reallocating enabled/disabled Yinghai Lu
2012-02-10 20:56 ` Jesse Barnes
2012-02-05 6:55 ` [PATCH 8/9] PCI: print out suggestion about using pci=realloc Yinghai Lu
2012-02-10 20:59 ` Jesse Barnes
2012-02-05 6:55 ` [PATCH 9/9] PCI: only enable pci realloc when SRIOV bar is not assigned Yinghai Lu
2012-02-10 21:00 ` Jesse Barnes
2012-02-10 21:23 ` Yinghai Lu
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=1328424908-6385-7-git-send-email-yinghai@kernel.org \
--to=yinghai@kernel.org \
--cc=jbarnes@virtuousgeek.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=linux@dominikbrodowski.net \
--cc=linuxram@us.ibm.com \
--cc=torvalds@linux-foundation.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.