y take lock" is *wrong*.
Signed-off-by: Yinghai Lu
Acked-by: Linus Torvalds
---
kernel/resource.c | 70 +++
1 file changed, 50 insertions(+), 20 deletions(-)
diff --git a/kernel/resource.c b/kernel/resource.c
index 6927298..62321b0 100644
---
range like 0xb000 to
0b:04.0 and 0f:00.0
Signed-off-by: Yinghai Lu
---
arch/x86/pci/i386.c | 20
drivers/pci/setup-bus.c | 11 ++-
include/linux/pci.h | 3 +++
3 files changed, 33 insertions(+), 1 deletion(-)
diff --git a/arch/x86/pci/i386.c b/arch/x86
expand path.
Signed-off-by: Yinghai Lu
---
drivers/pci/setup-bus.c | 37 -
1 file changed, 20 insertions(+), 17 deletions(-)
diff --git a/drivers/pci/setup-bus.c b/drivers/pci/setup-bus.c
index 74ad4ce..d2d38bc 100644
--- a/drivers/pci/setup-bus.c
+++ b
: Yinghai Lu
Cc: sta...@vger.kernel.org
---
drivers/pci/pci.h | 1 +
drivers/pci/quirks.c| 20
drivers/pci/setup-bus.c | 4
3 files changed, 25 insertions(+)
diff --git a/drivers/pci/pci.h b/drivers/pci/pci.h
index 6ad0f05..39d2c50 100644
--- a/drivers/pci
://bugzilla.kernel.org/show_bug.cgi?id=96241
Signed-off-by: Yinghai Lu
Cc: Grant Likely
Cc: Rob Herring
Cc: devicet...@vger.kernel.org
---
drivers/of/address.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/of/address.c b/drivers/of/address.c
index 384574c..3399602 100644
--- a
We should not release bridge resource if there is fixed resources
under it, otherwise the children firmware would stop working.
Reported-by: Paul Johnson
Suggested-by: Bjorn Helgaas
Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=92351
Signed-off-by: Yinghai Lu
Cc: sta...@vger.kernel.org
citly.
Signed-off-by: Yinghai Lu
---
drivers/pci/quirks.c | 17 +
1 file changed, 17 insertions(+)
diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
index 55bb661..e7e86d3 100644
--- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
@@ -323,6 +323,23 @@ static void quirk_s
If host bridge does not have mmio64 above 4G, We don't need to
treat device non-pref mmio64 as as pref mmio64.
Signed-off-by: Yinghai Lu
---
drivers/pci/setup-bus.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/pci/setup-bus.c b/drivers/pci/setup-bus.c
If the bridge does not support hotplug and has no child with sriov support,
We will not have optional resources. We could get out early and
don't try required+optional allocation.
Also in the loop that update res with optional add info, skip resource
that add_size is 0.
Signed-off-by: Yingh
We can use new generic version skip_isa_ioresource_align() instead
of macro, and then kill the marco.
Signed-off-by: Yinghai Lu
---
drivers/pci/setup-bus.c | 17 +++--
1 file changed, 7 insertions(+), 10 deletions(-)
diff --git a/drivers/pci/setup-bus.c b/drivers/pci/setup-bus.c
Reported-by: Yijing Wang
Tested-by: Yijing Wang
Signed-off-by: Yinghai Lu
---
drivers/pci/setup-bus.c | 203 +---
1 file changed, 191 insertions(+), 12 deletions(-)
diff --git a/drivers/pci/setup-bus.c b/drivers/pci/setup-bus.c
index ede619c..dea0344
We check the realloc list, as list must be empty after allocation.
Separate the realloc list checking to another function.
Add checking that is missed in acpiphp driver.
-v2: change to WARN_ON according to Rafael.
Signed-off-by: Yinghai Lu
Cc: "Rafael J. Wysocki"
Cc: Len Brown
C
supports I/O, and later during sizing and
assigning, check that flags and skip those resources.
Signed-off-by: Yinghai Lu
---
drivers/pci/probe.c | 6 ++
drivers/pci/setup-bus.c | 9 +
include/linux/pci.h | 1 +
3 files changed, 16 insertions(+)
diff --git a/drivers/pci
There are couples of dev_res->res reference, to make code more readable
use res instead of dev_res->res directly.
Signed-off-by: Yinghai Lu
---
drivers/pci/setup-bus.c | 32
1 file changed, 16 insertions(+), 16 deletions(-)
diff --git a/drivers/pci/setup
: updated after __allocate_resource change, and add field in constraint
instead of passing it directly.
-v3: Use best fit instead of just fit according to Bjorn.
Signed-off-by: Yinghai Lu
---
kernel/resource.c | 81 ++-
1 file changed, 68
://bugzilla.kernel.org/show_bug.cgi?id=96241
Signed-off-by: Yinghai Lu
Cc: Benjamin Herrenschmidt
Cc: Paul Mackerras
Cc: Michael Ellerman
Cc: Gavin Shan
Cc: Yijing Wang
Cc: Anton Blanchard
Cc: linuxppc-...@lists.ozlabs.org
---
arch/powerpc/kernel/pci_of_scan.c | 4 +++-
1 file changed, 3 insertions(+), 1
se smaller add_align as must align.
After the patch, rescan works properly.
Signed-off-by: Yinghai Lu
---
drivers/pci/setup-bus.c | 13 -
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/drivers/pci/setup-bus.c b/drivers/pci/setup-bus.c
index 7e7663a..00a39be 100644
--- a/d
: change to %#llx according to Bjorn.
Signed-off-by: Yinghai Lu
---
drivers/pci/setup-bus.c | 34 --
1 file changed, 20 insertions(+), 14 deletions(-)
diff --git a/drivers/pci/setup-bus.c b/drivers/pci/setup-bus.c
index 10270e4..f905c81 100644
--- a/drivers/pci/setup
happens, we only print out "assigned" info, that is confusing
as it looks like same range is assigned to two peer resources at the same
time.
Add printout for releasing so we have whole picture in debug messages.
Signed-off-by: Yinghai Lu
---
drivers/pci/setup-bus.c | 14 +++---
1 fi
We want to keep resource flags instead of clearing it after resource
allocation fails.
Make flags take IORESOURCE_UNSET | IORESOURCE_DISABLED instead.
Suggested-by: Bjorn Helgaas
Signed-off-by: Yinghai Lu
---
drivers/pci/bus.c | 2 +-
drivers/pci/setup-bus.c | 45
keep pref mmio64 and pref mmio32 under bridge pref bar.
Signed-off-by: Yinghai Lu
---
drivers/pci/probe.c | 7 +++
include/linux/pci.h | 1 +
2 files changed, 8 insertions(+)
diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c
index 2c69441..edc8d08 100644
--- a/drivers/pci/probe.c
+++ b/d
0c000-0x20010]: no
compatible bridge window
The bridge 00:02.0 resource does not get reserved as Video RAM take the
position early,
and following children all failed.
Move down Video RAM area reservation after pci mmio get reserved,
so we leave pci driver to use those regions.
Sign
On Wed, Oct 7, 2015 at 2:25 AM, Meelis Roos wrote:
> amd64 machine:
>
> http://kodu.ut.ee/~mroos/dm/dm.x2100
[0.156360] bus: [bus 00-05] on node 0 link 0
[0.156362] bus: 00 [io 0x-0x]
[0.156364] bus: 00 [mem 0x000a-0x000b]
[0.156365] bus: 00 [mem 0xfe03-0x
; of them - on many sparc64 machines and some on x86.
>
> In another thread for "Resource allocation cleanup for v4.4", Yinghai Lu
> asked for full dmesg to solve another similar case. So to help
> understanding this one, here are the dmesgs of my machines:
>
> sparc64 mac
On Fri, Oct 2, 2015 at 3:37 PM, David Daney wrote:
> From: David Daney
>
> PCI Enhanced Allocation is a new method of allocating MMIO & IO
> resources for PCI devices & bridges. It can be used instead
> of the traditional PCI method of using BARs.
>
> EA entries are hardware-initialized to a fixe
On Fri, Oct 2, 2015 at 4:38 PM, David Daney wrote:
> On 10/02/2015 04:14 PM, Yinghai Lu wrote:
>>
>> https://patchwork.kernel.org/patch/7304371/
>> [v6,06/53] PCI: Claim fixed resource during remove/rescan path
>
>
> This one is interesting, but I don't think i
On Fri, Oct 2, 2015 at 4:05 PM, Khalid Aziz wrote:
> On 10/02/2015 04:05 PM, Yinghai Lu wrote:
> I still see lots of "no compatible
> bridge window" messages but overlapping address ranges are no longer
> reserved
Please send boot log to me, I'd like to fix t
On Fri, Oct 2, 2015 at 3:37 PM, David Daney wrote:
> From: David Daney
>
> The new Enhanced Allocation (EA) capability support creates resources
> with the IORESOURCE_PCI_FIXED set. This creates a couple of problems:
>
> 1) Since these resources cannot be relocated or resized, their
>alignme
On Fri, Oct 2, 2015 at 1:00 PM, Khalid Aziz wrote:
> On Wed, 2015-09-30 at 22:52 -0700, Yinghai Lu wrote:
>> Found "no compatible bridge window" warning in boot log from T5-8.
>>
>> pci :00:01.0: can't claim BAR 15 [mem 0x1-0x4afff pref]: no
&g
pdev_sort_resources() etc was checking devices resources and putting
resources that need to assign to one list in sorted order.
Now we don't do sorting in those functions anymore, so change to
pdev_assign_resources_prepare() instead.
Signed-off-by: Yinghai Lu
---
drivers/pci/setup-bus.c
If host bridge does not have mmio64 above 4G, We don't need to
treat device non-pref mmio64 as as pref mmio64.
Signed-off-by: Yinghai Lu
---
drivers/pci/setup-bus.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/pci/setup-bus.c b/drivers/pci/setup-bus.c
se smaller add_align as must align.
After the patch, rescan works properly.
Signed-off-by: Yinghai Lu
---
drivers/pci/setup-bus.c | 13 -
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/drivers/pci/setup-bus.c b/drivers/pci/setup-bus.c
index ba5635a..b6bfa1f 100644
--- a/d
Now some BIOS tend to allocate pref MMIO under non-pref MMIO, or allocate
64bit pref MMIO under 4G.
Add pci=assign_pref_bars to clear and allocate resource to pref BARS.
So could reallocate pref mmio64 above 4G and pref under bridges pref BARs.
Signed-off-by: Yinghai Lu
---
arch/x86/include
In following alt_size support, we will call pci_assign_resource() several
times on one resource list, and some resources could have been assigned
already.
Skip allocated resource in the list, as pci_assign_resource()
only can handle not assigned resource.
Signed-off-by: Yinghai Lu
---
drivers
range like 0xb000 to
0b:04.0 and 0f:00.0
Signed-off-by: Yinghai Lu
---
arch/x86/pci/i386.c | 20
drivers/pci/setup-bus.c | 11 ++-
include/linux/pci.h | 3 +++
3 files changed, 33 insertions(+), 1 deletion(-)
diff --git a/arch/x86/pci/i386.c b/arch/x86
nux-i...@vger.kernel.org
Cc: linux-am33-l...@redhat.com
Cc: linuxppc-...@lists.ozlabs.org
Cc: linux-s...@vger.kernel.org
Cc: sparcli...@vger.kernel.org
Cc: linux-...@vger.kernel.org
Cc: linux-xte...@linux-xtensa.org
Cc: io...@lists.linux-foundation.org
Cc: linux...@vger.kernel.org
Signed-off-by: Yinghai Lu
---
For alt_size support, we will add more entries to realloc list.
Add new __add_to_list() to take alt_size, alt_align.
And simplify add_to_list() not to take add/alt input.
Signed-off-by: Yinghai Lu
---
drivers/pci/setup-bus.c | 51 ++---
1 file
: change to %#llx according to Bjorn.
Signed-off-by: Yinghai Lu
---
drivers/pci/setup-bus.c | 34 --
1 file changed, 20 insertions(+), 14 deletions(-)
diff --git a/drivers/pci/setup-bus.c b/drivers/pci/setup-bus.c
index 6b6a4ed..2256ce6 100644
--- a/drivers/pci/setup
location near end of avialable window
v6:
- reorder patches according to Bjorn.
Yinghai Lu (53):
sparc/PCI: Add mem64 resource parsing for root bus
sparc/PCI: Add IORESOURCE_MEM_64 for 64-bit resource in OF parsing
powerpc/PCI: Add IORESOURCE_MEM_64 for 64-bit resource in OF p
start as offset.
-v3: add IORESOURCE_MEM_64 flag
Fixes: commit d63e2e1f3df9 ("sparc/PCI: Clip bridge windows to fit in upstream
windows")
Link:
http://lkml.kernel.org/r/cae9fiqu1gjy1lyrxs+ma5lcteee4xmtjrg0axj9k_tsu+m9...@mail.gmail.com
Reported-by: David Ahern
Tested-by: David Ahern
, and total size should be 2M.
This patch change to comparing required+optional with min_sum_size to
get smaller optional size.
Signed-off-by: Yinghai Lu
---
drivers/pci/setup-bus.c | 28 +++-
1 file changed, 15 insertions(+), 13 deletions(-)
diff --git a/drivers/pci/setup
We need to save/restore resources several times for alt_size support,
separate the save_resources()/resources() to save some lines later.
Signed-off-by: Yinghai Lu
---
drivers/pci/setup-bus.c | 49 ++---
1 file changed, 30 insertions(+), 19 deletions
Now calculate_memsize() and calculate_iosize() is the same.
Change them to calculate_size().
Signed-off-by: Yinghai Lu
---
drivers/pci/setup-bus.c | 25 +
1 file changed, 5 insertions(+), 20 deletions(-)
diff --git a/drivers/pci/setup-bus.c b/drivers/pci/setup-bus.c
We can use new generic version skip_isa_ioresource_align() instead
of macro, and then kill the marco.
Signed-off-by: Yinghai Lu
---
drivers/pci/setup-bus.c | 17 +++--
1 file changed, 7 insertions(+), 10 deletions(-)
diff --git a/drivers/pci/setup-bus.c b/drivers/pci/setup-bus.c
: 0x10/0x2b0, and it is much better
than original required+optional align/size: 0x80/0x300
and even have smaller min_align than required.
-v2: remove not used size1 in calculate_memsize
Link: https://bugzilla.kernel.org/show_bug.cgi?id=81431
Reported-by: TJ
Signed-off-by: Yinghai Lu
If the bridge does not support hotplug and has no child with sriov support,
We will not have optional resources. We could get out early and
don't try required+optional allocation.
Also in the loop that update res with optional add info, skip resource
that add_size is 0.
Signed-off-by: Yingh
re we check them for
child device resources.
Signed-off-by: Yinghai Lu
---
drivers/pci/setup-bus.c | 20 ++--
1 file changed, 18 insertions(+), 2 deletions(-)
diff --git a/drivers/pci/setup-bus.c b/drivers/pci/setup-bus.c
index 86900ac..3b27c8c 100644
--- a/drivers/pci/setup-bus.c
expand path.
Signed-off-by: Yinghai Lu
---
drivers/pci/setup-bus.c | 37 -
1 file changed, 20 insertions(+), 17 deletions(-)
diff --git a/drivers/pci/setup-bus.c b/drivers/pci/setup-bus.c
index 0a89d06..554d019 100644
--- a/drivers/pci/setup-bus.c
+++ b
There are several calling to window_alignment(), and we will have more
for alt_size support, cache the value instead of keeping on getting it.
Signed-off-by: Yinghai Lu
---
drivers/pci/setup-bus.c | 9 ++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/drivers/pci/setup
,
and call it two times accordingly.
Signed-off-by: Yinghai Lu
---
drivers/pci/setup-bus.c | 62 +
1 file changed, 37 insertions(+), 25 deletions(-)
diff --git a/drivers/pci/setup-bus.c b/drivers/pci/setup-bus.c
index 6fda7ad..92677c5 100644
--- a
-by: Yinghai Lu
---
drivers/pci/setup-bus.c | 56 +++--
1 file changed, 54 insertions(+), 2 deletions(-)
diff --git a/drivers/pci/setup-bus.c b/drivers/pci/setup-bus.c
index f19b098..ba5635a 100644
--- a/drivers/pci/setup-bus.c
+++ b/drivers/pci/setup
device, size will not be 0.
when the bridge supports hotplug, min_size will not be 0.
So they will still honor the old size as required size.
Signed-off-by: Yinghai Lu
---
drivers/pci/setup-bus.c | 7 ---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/drivers/pci/setup-bus.c b
are using size to compare with min_size at first.
That is not right, we should have 0x2000.
We can check size+size1 with min_size for io port, and just add size1
to size without passing extra size1 into calculate_iosize().
Signed-off-by: Yinghai Lu
---
drivers/pci/setup-bus.c | 8
1
y take lock" is *wrong*.
Signed-off-by: Yinghai Lu
Acked-by: Linus Torvalds
---
kernel/resource.c | 70 +++
1 file changed, 50 insertions(+), 20 deletions(-)
diff --git a/kernel/resource.c b/kernel/resource.c
index 6927298..62321b0 100644
---
Same as patch for MMIO (PCI: Don't add too much optional size for hotplug
bridge MMIO), and this one is for io port.
It will compare required+optional with min_sum_size to get smaller
optional size.
Signed-off-by: Yinghai Lu
---
drivers/pci/setup-bus.c | 26 --
1
keep pref mmio64 and pref mmio32 under bridge pref bar.
Signed-off-by: Yinghai Lu
---
drivers/pci/probe.c | 9 +
include/linux/pci.h | 1 +
2 files changed, 10 insertions(+)
diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c
index 9eb9e30..31998ea 100644
--- a/drivers/pci/probe.c
+++ b/d
ll.
The patch restore to old logic:
when host bridge does not have has_mem64, put children pref mmio64 and
pref mmio32 all under bridges pref bars.
Signed-off-by: Yinghai Lu
---
drivers/pci/bus.c | 4 +++-
drivers/pci/setup-bus.c | 13 +
drivers/pci/setup-res.c | 9 ++---
Put all print out for all children align/size and result align/size
together.
We can print out device name at same time with min_align/alt_size
calculation.
So we can shut off debug print out from get_res_add_size() and
get_res_add_align().
Signed-off-by: Yinghai Lu
---
drivers/pci/setup
+ma5lcteee4xmtjrg0axj9k_tsu+m9...@mail.gmail.com
Reported-by: David Ahern
Tested-by: David Ahern
Link: https://bugzilla.kernel.org/show_bug.cgi?id=81431
Tested-by: TJ
Signed-off-by: Yinghai Lu
---
drivers/pci/pci.c | 3 ++-
drivers/pci/pci.h | 2 ++
drivers/pci/probe.c | 33
We want to keep resource flags instead of clearing it after resource
allocation fails.
Make flags take IORESOURCE_UNSET | IORESOURCE_DISABLED instead.
Suggested-by: Bjorn Helgaas
Signed-off-by: Yinghai Lu
---
drivers/pci/bus.c | 2 +-
drivers/pci/setup-bus.c | 45
: updated after __allocate_resource change, and add field in constraint
instead of passing it directly.
-v3: Use best fit instead of just fit according to Bjorn.
Signed-off-by: Yinghai Lu
---
kernel/resource.c | 81 ++-
1 file changed, 68
-...@lists.ozlabs.org
Cc: linux-a...@vger.kernel.org
Signed-off-by: Yinghai Lu
---
arch/microblaze/pci/pci-common.c | 8
arch/powerpc/kernel/pci-common.c | 11 +--
arch/x86/include/asm/pci_x86.h | 1 -
arch/x86/pci/common.c| 4 ++--
arch/x86/pci/i386.c | 12
urce.
Clear the old resource size for last try or third and later try.
Link: https://bugzilla.kernel.org/show_bug.cgi?id=81431
Tested-by: TJ
Signed-off-by: Yinghai Lu
---
drivers/pci/setup-bus.c | 23 +--
1 file changed, 21 insertions(+), 2 deletions(-)
diff --git a/drive
There are couples of dev_res->res reference, to make code more readable
use res instead of dev_res->res directly.
Signed-off-by: Yinghai Lu
---
drivers/pci/setup-bus.c | 32
1 file changed, 16 insertions(+), 16 deletions(-)
diff --git a/drivers/pci/setup
Reported-by: Yijing Wang
Tested-by: Yijing Wang
Signed-off-by: Yinghai Lu
---
drivers/pci/setup-bus.c | 203 +---
1 file changed, 191 insertions(+), 12 deletions(-)
diff --git a/drivers/pci/setup-bus.c b/drivers/pci/setup-bus.c
index 29b2495..f19b098
.
Reported-by: Andreas Noever
Signed-off-by: Yinghai Lu
---
drivers/pci/setup-bus.c | 10 --
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/drivers/pci/setup-bus.c b/drivers/pci/setup-bus.c
index 8477cf5..6b6a4ed 100644
--- a/drivers/pci/setup-bus.c
+++ b/drivers/pci/setup
info (include must and optonal separatedly) will be kept
for next try.
2. last try:
a: try to allocate required+optional to see if all get allocated.
b: try to allocate required then expand to optional.
Signed-off-by: Yinghai Lu
---
drivers/pci/setup-bus.c | 19 ++-
1
ces.
Link: https://bugzilla.kernel.org/show_bug.cgi?id=81431
Reported-by: TJ
Signed-off-by: Yinghai Lu
---
drivers/pci/setup-bus.c | 195 ++--
1 file changed, 157 insertions(+), 38 deletions(-)
diff --git a/drivers/pci/setup-bus.c b/drivers/pci/setup-bu
We should not release bridge resource if there is fixed resources
under it, otherwise the children firmware would stop working.
Reported-by: Paul Johnson
Suggested-by: Bjorn Helgaas
Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=92351
Signed-off-by: Yinghai Lu
Cc: sta...@vger.kernel.org
://bugzilla.kernel.org/show_bug.cgi?id=96241
Signed-off-by: Yinghai Lu
Cc: Grant Likely
Cc: Rob Herring
Cc: devicet...@vger.kernel.org
---
drivers/of/address.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/of/address.c b/drivers/of/address.c
index 384574c..3399602 100644
--- a
://bugzilla.kernel.org/show_bug.cgi?id=96241
Signed-off-by: Yinghai Lu
Cc: "David S. Miller"
Cc: sparcli...@vger.kernel.org
---
arch/sparc/kernel/of_device_32.c | 5 +++--
arch/sparc/kernel/of_device_64.c | 5 +++--
2 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/arch/sparc/kernel/of_dev
< 0x400.
We need to check size, and add extra size to make sure bit8/9
to be zero.
Also need to apply same checking for optional size path.
Signed-off-by: Yinghai Lu
---
drivers/pci/setup-bus.c | 39 +++
1 file changed, 27 insertions(+), 12 deletions(-)
d
We will need to share saved required list for alt_size support, so move
it out from required+optional assigning.
Signed-off-by: Yinghai Lu
---
drivers/pci/setup-bus.c | 30 --
1 file changed, 16 insertions(+), 14 deletions(-)
diff --git a/drivers/pci/setup-bus.c b
Now sort_resources() and pdev_sort_resources() all have sorting
code.
As we are going to call sort_resources() several places later for
alt_size support, so choose to remove related code in
pdev_sort_resources().
Signed-off-by: Yinghai Lu
---
drivers/pci/setup-bus.c | 22
Now res_to_dev_res() does not print out debug message anymore, so
we can reuse it in reassign_resource_sorted() without confusing printout.
Signed-off-by: Yinghai Lu
---
drivers/pci/setup-bus.c | 11 +--
1 file changed, 1 insertion(+), 10 deletions(-)
diff --git a/drivers/pci/setup
: TJ
Signed-off-by: Yinghai Lu
---
drivers/pci/setup-bus.c | 49 ++---
1 file changed, 42 insertions(+), 7 deletions(-)
diff --git a/drivers/pci/setup-bus.c b/drivers/pci/setup-bus.c
index a62cbd2..79bc2cb 100644
--- a/drivers/pci/setup-bus.c
+++ b
happens, we only print out "assigned" info, that is confusing
as it looks like same range is assigned to two peer resources at the same
time.
Add printout for releasing so we have whole picture in debug messages.
Signed-off-by: Yinghai Lu
---
drivers/pci/setup-bus.c | 14 +++---
1 fi
: Yinghai Lu
Cc: sta...@vger.kernel.org
---
drivers/pci/pci.h | 1 +
drivers/pci/quirks.c| 20
drivers/pci/setup-bus.c | 4
3 files changed, 25 insertions(+)
diff --git a/drivers/pci/pci.h b/drivers/pci/pci.h
index 24ba9dc..c04c9f1 100644
--- a/drivers/pci
Move comment from caller to pci_need_to_release(), as we will have one new
caller for alt_size support.
Signed-off-by: Yinghai Lu
---
drivers/pci/setup-bus.c | 27 +++
1 file changed, 15 insertions(+), 12 deletions(-)
diff --git a/drivers/pci/setup-bus.c b/drivers/pci
We check the realloc list, as list must be empty after allocation.
Separate the realloc list checking to another function.
Add checking that is missed in acpiphp driver.
-v2: change to WARN_ON addording to Rafael.
Signed-off-by: Yinghai Lu
Cc: "Rafael J. Wysocki"
Cc: Len Brown
C
__assign_resources_sorted() is getting too big if we put alt_size support
into it. Split out required+optional assigning code to another function.
Signed-off-by: Yinghai Lu
---
drivers/pci/setup-bus.c | 47 +++
1 file changed, 27 insertions(+), 20
citly.
Signed-off-by: Yinghai Lu
---
drivers/pci/quirks.c | 17 +
1 file changed, 17 insertions(+)
diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
index 6a30252..c1d9a78 100644
--- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
@@ -323,6 +323,23 @@ static void quirk_s
://bugzilla.kernel.org/show_bug.cgi?id=96241
Signed-off-by: Yinghai Lu
Cc: Benjamin Herrenschmidt
Cc: Paul Mackerras
Cc: Michael Ellerman
Cc: Gavin Shan
Cc: Yijing Wang
Cc: Anton Blanchard
Cc: linuxppc-...@lists.ozlabs.org
---
arch/powerpc/kernel/pci_of_scan.c | 4 +++-
1 file changed, 3 insertions(+), 1
On Tue, Sep 29, 2015 at 7:04 AM, Ruud wrote:
>
> (for illustration, lspci -tv from a 3.2 kernel, hand edited as the
> original picture has already discovered the subordinate busses)
> +-02.0-[04-17]00.0-[05-17]--+-04.0-[06-16]00.0-[07-16]---
> |
On Fri, Sep 25, 2015 at 9:18 AM, Alex Williamson
wrote:
>> > > Or do we want to keep a white list to say which device should have
>> > > ROM bar as mush have, and other is optional to have ?
>> >
>> > Subject: [RFC PATCH] PCI: Add pci_dev_need_rom_bar()
>> >
>> > Only set that for
>> > 1. if BIOS/
On Thu, Sep 24, 2015 at 12:01 PM, Yinghai Lu wrote:
> Or do we want to keep a white list to say which device should have
> ROM bar as mush have, and other is optional to have ?
Subject: [RFC PATCH] PCI: Add pci_dev_need_rom_bar()
Only set that for
1. if BIOS/firmware already set ROM
On Thu, Sep 24, 2015 at 10:06 AM, Myron Stowe wrote:
> On Wed, Sep 23, 2015 at 9:21 PM, Yinghai Lu wrote:
>> On Wed, Sep 23, 2015 at 7:47 PM, Myron Stowe wrote:
>>>
>>> The kernel expects device Expansion ROM BARs to be programmed with valid
>>> values - ev
On Wed, Sep 23, 2015 at 7:47 PM, Myron Stowe wrote:
>
> The kernel expects device Expansion ROM BARs to be programmed with valid
> values - even if the respective Expansion ROM's Enable bit is 0 (i.e. the
> device’s expansion ROM address space is disabled). This seems to be the
> main contention
On Wed, Sep 23, 2015 at 4:51 PM, Sean O. Stalley wrote:
> IORESOURCE_PCI_FIXED is set in pci_ea_set_flags():
>
> +static unsigned long pci_ea_set_flags(struct pci_dev *dev, u8 prop)
> +{
> + unsigned long flags = IORESOURCE_PCI_FIXED;
> +
> +
>
> Which
On Wed, Sep 23, 2015 at 3:27 PM, Sean O. Stalley wrote:
> PCI Enhanced Allocation is a new method of allocating MMIO & IO
> resources for PCI devices & bridges. It can be used instead
> of the traditional PCI method of using BARs.
>
> EA entries are hardware-initialized to a fixed address.
> Unlik
On Mon, Sep 21, 2015 at 7:06 AM, Ruud wrote:
> 2015-09-21 9:49 GMT+02:00 Ruud :
> Test result based upon
>
> http://git.kernel.org/pub/scm/linux/kernel/git/yinghai/linux-yinghai.git
> 7e3fad2 (for-pci-v4.3-rc1)
>
> Unfortunately your script hangs the system, I modified it for my
> situation (only
On Mon, Sep 21, 2015 at 12:49 AM, Ruud wrote:
> Sorry for the rookie question: which version do you mean by "current
> upstream", the current main trunk rc?.
current linus tree like v4.2 or v4.3-rc1 etc
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a me
On Sun, Sep 20, 2015 at 2:17 AM, Ruud wrote:
>
> The current procedure I follow is to boot with two PCIe switches in the host.
> (one at the root complex level, intel based, one level above PLX
> based, and the whole tree in the chassis).
>
> - I turn off the chassis (as it conflicts with the BIOS
On Sat, Sep 19, 2015 at 1:20 AM, Ruud wrote:
> Hello all,
>
> Not a patch, not a complaint: a start of a discussion on PCIe bus
> renumbering and bus numbering in general..
>
>
> The current algorithm seems to allocate 8 extra busnumbers at the
> hotplug switch, but clearly 8 is not sufficient for
On Thu, Sep 17, 2015 at 7:55 AM, Bjorn Helgaas wrote:
>
> I assume the following patches are related to the sparc64/mem64 thing.
> Could they be split out and posted separately? We should be able to
> fix that issue even without all the other patches.
>
>> sparc/PCI: Add mem64 resource parsing
We need to save/restore resources several times for alt_size support,
separate the save_resources()/resources() to save some lines later.
Signed-off-by: Yinghai Lu
---
drivers/pci/setup-bus.c | 49 ++---
1 file changed, 30 insertions(+), 19 deletions
For alt_size support, we will add more entries to realloc list.
Add new __add_to_list() to take alt_size, alt_align.
And simplify add_to_list() not to take add/alt input.
Signed-off-by: Yinghai Lu
---
drivers/pci/setup-bus.c | 51 ++---
1 file
There are couples of dev_res->res reference, to make code more readable
use res instead of dev_res->res directly.
Signed-off-by: Yinghai Lu
---
drivers/pci/setup-bus.c | 32
1 file changed, 16 insertions(+), 16 deletions(-)
diff --git a/drivers/pci/setup
Now some BIOS tend to allocate pref MMIO under non-pref MMIO, or allocate
64bit pref MMIO under 4G.
Add pci=assign_pref_bars to clear and allocate resource to pref BARS.
So could reallocate pref mmio64 above 4G and pref under bridges pref BARs.
Signed-off-by: Yinghai Lu
---
arch/x86/include
expand path.
Signed-off-by: Yinghai Lu
---
drivers/pci/setup-bus.c | 37 -
1 file changed, 20 insertions(+), 17 deletions(-)
diff --git a/drivers/pci/setup-bus.c b/drivers/pci/setup-bus.c
index 1fd0b8d..eca319e 100644
--- a/drivers/pci/setup-bus.c
+++ b
501 - 600 of 4418 matches
Mail list logo