[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20160316103151.0269f0c5@t450s.home>
Date: Wed, 16 Mar 2016 10:31:51 -0600
From: Alex Williamson <alex.williamson@...hat.com>
To: Yongji Xie <xyjxie@...ux.vnet.ibm.com>
Cc: kvm@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-pci@...r.kernel.org, linuxppc-dev@...ts.ozlabs.org,
linux-doc@...r.kernel.org, bhelgaas@...gle.com, corbet@....net,
aik@...abs.ru, benh@...nel.crashing.org, paulus@...ba.org,
mpe@...erman.id.au, warrier@...ux.vnet.ibm.com,
zhong@...ux.vnet.ibm.com, nikunj@...ux.vnet.ibm.com
Subject: Re: [RFC PATCH v4 3/7] PCI: Ignore resource_alignment if
PCI_PROBE_ONLY was set
On Mon, 7 Mar 2016 15:48:34 +0800
Yongji Xie <xyjxie@...ux.vnet.ibm.com> wrote:
> The resource_alignment will releases memory resources
> allocated by firmware so that kernel can reassign new
> resources later on. But this will cause the problem
> that no resources can be allocated by kernel if
> PCI_PROBE_ONLY was set, e.g. on pSeries platform
> because PCI_PROBE_ONLY force kernel to use firmware
> setup and not to reassign any resources.
>
> To solve this problem, this patch ignores
> resource_alignment if PCI_PROBE_ONLY was set.
>
> Signed-off-by: Yongji Xie <xyjxie@...ux.vnet.ibm.com>
> ---
> Documentation/kernel-parameters.txt | 2 ++
> drivers/pci/probe.c | 3 ++-
> 2 files changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
> index d8b29ab..8028631 100644
> --- a/Documentation/kernel-parameters.txt
> +++ b/Documentation/kernel-parameters.txt
> @@ -2922,6 +2922,8 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
> windows need to be expanded.
> noresize: Don't change the resources' sizes when
> reassigning alignment.
> + Note that this option will not work if
> + PCI_PROBE_ONLY is set.
How would a user have any idea if this is set?
> ecrc= Enable/disable PCIe ECRC (transaction layer
> end-to-end CRC checking).
> bios: Use BIOS/firmware settings. This is the
> diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c
> index 6d7ab9b..bc31cad 100644
> --- a/drivers/pci/probe.c
> +++ b/drivers/pci/probe.c
> @@ -1719,7 +1719,8 @@ void pci_device_add(struct pci_dev *dev, struct pci_bus *bus)
> pci_fixup_device(pci_fixup_header, dev);
>
> /* moved out from quirk header fixup code */
> - pci_reassigndev_resource_alignment(dev);
> + if (!pci_has_flag(PCI_PROBE_ONLY))
> + pci_reassigndev_resource_alignment(dev);
>
> /* Clear the state_saved flag. */
> dev->state_saved = false;
Powered by blists - more mailing lists