linux-pci.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: ZhenHua <zhen-hual@hp.com>
To: Bjorn Helgaas <bhelgaas@google.com>,
	linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org
Cc: "Li, Zhen-Hua" <zhen-hual@hp.com>
Subject: Re: [PATCH 1/1] ia64/pci: set mmio decoding on for some host bridge
Date: Tue, 09 Jul 2013 13:46:18 +0800	[thread overview]
Message-ID: <51DBA3AA.2080803@hp.com> (raw)
In-Reply-To: <1373348531-31893-1-git-send-email-zhen-hual@hp.com>

Hi Bjorn,

I tested on an X86 system with the same chipset, and this bug does not 
happen.
I am not sure why , but if it is needed, I will try to find out why.

Thanks
ZhenHua

On 07/09/2013 01:42 PM, Li, Zhen-Hua wrote:
> On some IA64 platforms with intel PCI bridge, for example, HP BL890c i2
> with  Intel Corporation 5520/5500/X58 I/O Hub PCI Express Root Port,
> when kernel tries to disable the mmio decoding on the PCI bridge devices,
> kernel may crash.
>
> And in the comment of function quirk_mmio_always_on, it also says:
> "But doing so (disable the mmio decoding) may cause problems on host bridge
>   and perhaps other key system devices"
>
> So, for this PCI bridge,  dev->mmio_always_on bit should be set to 1.
>
> To avoid affecting the use of quirk_mmio_always_on, a new function is created.
>
> Signed-off-by: Li, Zhen-Hua <zhen-hual@hp.com>
> ---
>   drivers/pci/quirks.c    |   17 +++++++++++++++++
>   include/linux/pci_ids.h |    1 +
>   2 files changed, 18 insertions(+)
>
> diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
> index e85d230..665af3e 100644
> --- a/drivers/pci/quirks.c
> +++ b/drivers/pci/quirks.c
> @@ -44,6 +44,23 @@ static void quirk_mmio_always_on(struct pci_dev *dev)
>   DECLARE_PCI_FIXUP_CLASS_EARLY(PCI_ANY_ID, PCI_ANY_ID,
>   				PCI_CLASS_BRIDGE_HOST, 8, quirk_mmio_always_on);
>   
> +#ifdef CONFIG_IA64
> +/*
> + * On some IA64 platforms, for some intel PCI bridge devices, for example,
> + * the Intel Corporation 5520/5500/X58 I/O Hub PCI Express Root Port,
> + * disable the mmio decoding on this device may cause system crash.
> + * So dev->mmio_always_on bit should be set to 1.
> + */
> +static void quirk_mmio_on_intel_pcibridge(struct pci_dev *dev)
> +{
> +	dev->mmio_always_on = 1;
> +}
> +DECLARE_PCI_FIXUP_CLASS_EARLY(PCI_VENDOR_ID_INTEL,
> +			PCI_DEVICE_ID_INTEL_5520_5550_X58,
> +			PCI_CLASS_BRIDGE_PCI,
> +			8, quirk_mmio_on_intel_pcibridge);
> +#endif
> +
>   /* The Mellanox Tavor device gives false positive parity errors
>    * Mark this device with a broken_parity_status, to allow
>    * PCI scanning code to "skip" this now blacklisted device.
> diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h
> index 3bed2e8..d8c60b7 100644
> --- a/include/linux/pci_ids.h
> +++ b/include/linux/pci_ids.h
> @@ -2742,6 +2742,7 @@
>   #define PCI_DEVICE_ID_INTEL_LYNNFIELD_MC_CH2_RANK_REV2  0x2db2
>   #define PCI_DEVICE_ID_INTEL_LYNNFIELD_MC_CH2_TC_REV2    0x2db3
>   #define PCI_DEVICE_ID_INTEL_82855PM_HB	0x3340
> +#define PCI_DEVICE_ID_INTEL_5520_5550_X58       0x3408
>   #define PCI_DEVICE_ID_INTEL_IOAT_TBG4	0x3429
>   #define PCI_DEVICE_ID_INTEL_IOAT_TBG5	0x342a
>   #define PCI_DEVICE_ID_INTEL_IOAT_TBG6	0x342b


  reply	other threads:[~2013-07-09  5:59 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-07-09  5:42 [PATCH 1/1] ia64/pci: set mmio decoding on for some host bridge Li, Zhen-Hua
2013-07-09  5:46 ` ZhenHua [this message]
2013-07-09 16:49 ` Bjorn Helgaas
2013-07-10  7:10   ` ZhenHua
     [not found]   ` <51DCFDC7.3060406@hp.com>
2013-07-10 16:12     ` Bjorn Helgaas
2013-07-12  2:25       ` ZhenHua
  -- strict thread matches above, loose matches on Subject: below --
2013-07-08  0:16 Li, Zhen-Hua
2013-07-08 20:35 ` Bjorn Helgaas
2013-07-09  5:43   ` ZhenHua

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=51DBA3AA.2080803@hp.com \
    --to=zhen-hual@hp.com \
    --cc=bhelgaas@google.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).