From: Ram Pai <linuxram@us.ibm.com>
To: Yinghai Lu <yinghai@kernel.org>
Cc: Jesse Barnes <jbarnes@virtuousgeek.org>,
Dominik Brodowski <linux@dominikbrodowski.net>,
Linus Torvalds <torvalds@linux-foundation.org>,
linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 4/9] PCI: Fix cardbus bridge resources as optional size handling
Date: Wed, 8 Feb 2012 13:01:19 +0800 [thread overview]
Message-ID: <20120208050119.GE8930@ram-ThinkPad-T61> (raw)
In-Reply-To: <CAE9FiQUdRLmc-_hHWtaz=8QZiu4Ma6ZY7zavByJnwMDTBQLtzg@mail.gmail.com>
On Tue, Feb 07, 2012 at 08:48:36PM -0800, Yinghai Lu wrote:
> On Tue, Feb 7, 2012 at 8:35 PM, Ram Pai <linuxram@us.ibm.com> wrote:
> > On Sat, Feb 04, 2012 at 10:55:03PM -0800, Yinghai Lu wrote:
> >> We should not set the requested size to -2.
> >>
> >> that will confuse the resource list sorting with align when SIZEALIGN is used.
> >>
> >> Change to STARTALIGN and pass align from start.
> >>
> >> We are safe to do that just as we do that regular pci bridge.
> >>
> >> In the long run, we should just treat cardbus like regular pci bridge.
> >>
> >> Also fix when realloc is not passed, should keep the requested size.
> >>
> >> Signed-off-by: Yinghai Lu <yinghai@kernel.org>
> >> ---
> >> drivers/pci/setup-bus.c | 63 ++++++++++++++++++++++++++--------------------
> >> 1 files changed, 36 insertions(+), 27 deletions(-)
> >>
> >> diff --git a/drivers/pci/setup-bus.c b/drivers/pci/setup-bus.c
> >> index d5897c3..3b3932a 100644
> >> --- a/drivers/pci/setup-bus.c
> >> +++ b/drivers/pci/setup-bus.c
> >> @@ -898,21 +898,30 @@ static void pci_bus_size_cardbus(struct pci_bus *bus,
..snip
> >> - b_res[3].flags |= IORESOURCE_MEM | IORESOURCE_SIZEALIGN;
> >> - if (realloc_head)
> >> - add_to_list(realloc_head, bridge, b_res+3, pci_cardbus_mem_size, 0 /* dont care */);
> >
> > The b_res_3_size has to be reduced to half here.
> > Otherwise it will try allocate 2*pci_cardbus_mem_size to the BAR3..
> >
> > b_res_3_size = pci_cardbus_mem_size;
> >
> >
> >> - } else {
> >> - b_res[3].start = 0;
> >> - b_res[3].flags |= IORESOURCE_MEM | IORESOURCE_SIZEALIGN;
> >> - if (realloc_head)
> >> - add_to_list(realloc_head, bridge, b_res+3, pci_cardbus_mem_size * 2, 0 /* dont care */);
> >> + /* reduce that to half */
> >> + b_res_3_size = pci_cardbus_mem_size;
> >
> > b_res3_3_size should not be updated here, since BAR3 has to be allocated 2*pci_cardbus_mem_size
> > resource.
> >
>
> looks like you did not read the patch correctly
>
> that else {} get removed already in this patch
>
> please check segment after patch...
> /*
..snip..
> * If we have prefetchable memory support, allocate
> * two regions. Otherwise, allocate one region of
> * twice the size.
> */
> if (ctrl & PCI_CB_BRIDGE_CTL_PREFETCH_MEM0) {
> b_res[2].start = pci_cardbus_mem_size;
> b_res[2].end = b_res[2].start + pci_cardbus_mem_size - 1;
> b_res[2].flags |= IORESOURCE_MEM | IORESOURCE_PREFETCH |
> IORESOURCE_STARTALIGN;
> if (realloc_head) {
> b_res[2].end -= pci_cardbus_mem_size;
> add_to_list(realloc_head, bridge, b_res+2,
> pci_cardbus_mem_size, pci_cardbus_mem_size);
> }
>
> /* reduce that to half */
> b_res_3_size = pci_cardbus_mem_size;
> }
ACK. Ok. got it. This looks correct.
RP
next prev parent reply other threads:[~2012-02-08 5:02 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 [this message]
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 ` [PATCH 6/9] PCI: Retry on type IORESOURCE_IO allocation Yinghai Lu
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=20120208050119.GE8930@ram-ThinkPad-T61 \
--to=linuxram@us.ibm.com \
--cc=jbarnes@virtuousgeek.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=linux@dominikbrodowski.net \
--cc=torvalds@linux-foundation.org \
--cc=yinghai@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.