linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Tony Camuso <tcamuso@redhat.com>
To: Greg KH <gregkh@suse.de>
Cc: linux-kernel@vger.kernel.org, linux-pci@atrey.karlin.mff.cuni.cz
Subject: Re: [Fwd: Re: [PATCH 0/5]PCI: x86 MMCONFIG]
Date: Thu, 20 Dec 2007 13:25:57 -0500	[thread overview]
Message-ID: <476AB3B5.9080808@redhat.com> (raw)
In-Reply-To: <20071220172205.GB5636@suse.de>

Greg KH wrote:

> Why haven't we gotten reports about this before if this is a common
> problem?
> 
> And why hasn't the vendor fixed the bios on these to work properly?
>
I can't really answer either of these questions. All I know is the
problem exists, and we need to deal with it.

That's why the unreachable_devices() routine exists in the first place.

But that routine is limited to only the first 16 buses on segment-0.
You would like to think that hardware designers would confine legacy
hardware, or problematic hardware, to that area, but they don't.

As I said before, expanding that routine to cover more buses would
adversely impact mmconfig pci access, since the mmconfig access
code does a lookup of that bitmap for every request. I don't think
we want that bitmap and the accompanying in-line lookup to increase
enough to encompass the pci configuration of some of these larger
systems.

> Do you have a pointer to this blacklist anywhere so that everyone can
> benifit from this knowledge?
>

Appended below is a code snippet embedded in the RHEL version of mmconfig.c,
for both i386 and x86_64. It does not encompass all the systems that have
(or will have) problems with mmconf. Only HP platforms are listed, but I
believe there are others.

The reason the HP platforms got caught is they put these devices beyond
bus 16, where they would have been trapped, and the problem would have
been avoided.

static int __devinit disable_mmconf(struct dmi_system_id *d)
{
         pci_probe &= ~PCI_PROBE_MMCONF;
         printk(KERN_INFO "%s detected: disabling PCI MMCONFIG\n", d->ident);
         return 0;
}


/*
  * Systems which cannot use PCI MMCONFIG at this time...
  */
static struct dmi_system_id __devinitdata nommconf_dmi_table[] = {
         {
                 .callback = disable_mmconf,
                 .ident = "HP xw9300 Workstation",
                 .matches = {
                         DMI_MATCH(DMI_PRODUCT_NAME, "HP xw9300 Workstation"),
                 },
         },
         {
                 .callback = disable_mmconf,
                 .ident = "HP xw9400 Workstation",
                 .matches = {
                         DMI_MATCH(DMI_PRODUCT_NAME, "HP xw9400 Workstation"),
                 },
         },
         {
                 .callback = disable_mmconf,
                 .ident = "ProLiant DL585 G2",
                 .matches = {
                         DMI_MATCH(DMI_PRODUCT_NAME, "ProLiant DL585 G2"),
                 },
         },
         {
                 .callback = disable_mmconf,
                 .ident = "HP Compaq dc5700 Microtower",
                 .matches = {
                         DMI_MATCH(DMI_PRODUCT_NAME,
                                 "HP Compaq dc5700 Microtower"),
                 },
         },

         {}
};

>> The one device we know about that throws exceptions is the 830M/MG
>> graphics chip. This chip passes the read-compare test, so the code
>> merrily advances to bus sizing. When the bus sizing code writes the
>> BAR at offset 0x18 in this device, the system hangs.
> 
> So it doesn't work at all, with or without this patch?  Does the vendor
> know about this?
> 
> thanks,
> 
> greg k-h

I have talked to intel about this, but they haven't gotten back to me.

All I know at this point is that a mmconf write to the BAR at offset 0x18
of this device hangs the system.

  parent reply	other threads:[~2007-12-20 18:26 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-12-20 12:28 [Fwd: Re: [PATCH 0/5]PCI: x86 MMCONFIG] Tony Camuso
2007-12-20 17:22 ` Greg KH
2007-12-20 17:35   ` Matthew Wilcox
2007-12-20 18:04     ` Tony Camuso
2007-12-20 18:16       ` Matthew Wilcox
2007-12-20 18:30         ` Tony Camuso
2007-12-20 18:36           ` Matthew Wilcox
2007-12-20 18:49         ` Loic Prylli
2007-12-20 19:04           ` Tony Camuso
2007-12-20 19:08             ` Matthew Wilcox
2007-12-20 19:50               ` Ivan Kokshaysky
2007-12-20 20:17                 ` Tony Camuso
2007-12-20 20:27                 ` Tony Camuso
2008-01-08  3:41                 ` Tony Camuso
2007-12-20 20:05               ` Loic Prylli
2007-12-20 20:15                 ` Matthew Wilcox
2007-12-20 20:56                   ` Loic Prylli
2007-12-20 21:00                     ` Matthew Wilcox
2007-12-20 21:55                       ` Loic Prylli
2007-12-20 19:37         ` Tony Camuso
2007-12-20 20:04           ` Matthew Wilcox
2007-12-20 20:15             ` Tony Camuso
2007-12-23 20:16         ` Loic Prylli
2007-12-23 20:55           ` Matthew Wilcox
2007-12-23 22:40             ` Loic Prylli
2007-12-24  8:09           ` Grant Grundler
2007-12-20 18:25   ` Tony Camuso [this message]
2007-12-20 21:57     ` Greg KH
2007-12-20 22:36       ` Tony Camuso
2007-12-20 22:40         ` Greg KH
2007-12-20 23:21           ` Tony Camuso
2007-12-21  2:07             ` Loic Prylli
2007-12-24  8:28           ` Grant Grundler
2008-01-08  3:20           ` [PATCH 0/5]PCI: x86 MMCONFIG Tony Camuso
2008-01-08  4:56             ` Greg KH
2008-01-08 13:14               ` Tony Camuso
2008-01-08 13:36                 ` Greg KH
2008-01-08 13:44                   ` Tony Camuso
  -- strict thread matches above, loose matches on Subject: below --
2007-12-20 12:28 [Fwd: Re: [PATCH 0/5]PCI: x86 MMCONFIG] Tony Camuso
     [not found] <fa.HvUNJ45qy60H427u0v9fNt3Gc7E@ifi.uio.no>
     [not found] ` <fa.uuzqvr64HFsgxfiWwhEmE16Di6c@ifi.uio.no>
     [not found]   ` <fa.zhxdNN/1rfQhfJLVmdGBjvKYrCM@ifi.uio.no>
     [not found]     ` <fa.z1qlON6DA9ubBPFdrEcaFTMgYOY@ifi.uio.no>
     [not found]       ` <fa.U/SCC1Gvd3nSOpkMu5vcsSPYyPE@ifi.uio.no>
     [not found]         ` <fa.d8kGTkzOZH22bXRIRiakqgOPBM4@ifi.uio.no>
2007-12-21  0:44           ` Robert Hancock
2007-12-21  1:35             ` Tony Camuso
2007-12-21  1:42               ` Tony Camuso
2007-12-21 14:59                 ` Bhavana Nagendra
2007-12-21  2:15               ` Robert Hancock
2007-12-21  2:44                 ` Tony Camuso
2007-12-21  3:40                 ` Loic Prylli
2007-12-21  4:07                   ` Tony Camuso
2007-12-21  2:09             ` Tony Camuso
2007-12-21 14:11             ` Andi Kleen
     [not found]           ` <fa.pdOcVPk2gFn5iK76ExRH6Ow+NPw@ifi.uio.no>
2007-12-22 16:41             ` Robert Hancock
     [not found] ` <fa.AlLzUeumrcT2SswgOn6MxKfDE0U@ifi.uio.no>
     [not found]   ` <fa.wIE0QfzMAxr82X049FecszlEnQY@ifi.uio.no>
     [not found]     ` <fa.2jJbe4cdXLfOVhNWVxdIjsW8GQc@ifi.uio.no>
     [not found]       ` <fa.JiW7yU0G/EdLOCYcPOacl/XVocc@ifi.uio.no>
     [not found]         ` <fa.PI93hBriZRT9ggytQ5eY/446Tno@ifi.uio.no>
2007-12-24 17:13           ` Robert Hancock

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=476AB3B5.9080808@redhat.com \
    --to=tcamuso@redhat.com \
    --cc=gregkh@suse.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@atrey.karlin.mff.cuni.cz \
    /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).