public inbox for linux-ia64@vger.kernel.org
 help / color / mirror / Atom feed
From: Bjorn Helgaas <bjorn.helgaas@hp.com>
To: linux-ia64@vger.kernel.org
Subject: Re: "new" dependencies on ACPI/BIOS
Date: Thu, 28 Jan 2010 20:04:27 +0000	[thread overview]
Message-ID: <201001281304.28613.bjorn.helgaas@hp.com> (raw)
In-Reply-To: <4b61e3dc10565c4ca6@agluck-desktop.sc.intel.com>

On Thursday 28 January 2010 12:22:04 pm Luck, Tony wrote:
> [Bjorn: I stuck your name in the "To" list as Jesse told me that you
>  know all about this code]
> 
> My shiniest, newest, ia64 development system used to work fine. But
> in 2.6.31 the USB keyboard and mouse on the console stopped working.
> ...
> The code now appears to walk ACPI looking for _CRS methods to find out
> which resources are attached to which busses.  When drivers are paired
> up with devices later, we check to make sure that the device has a
> correct parent.  For my system this seems to fail because the _CRS walk
> only turns up some IO resources and no MEM resources. So the echi
> (which wants mem 0x58328000 and mem 0x58324000) is out of luck and
> denied.
> ...
> ACPI: PCI Root Bridge [PCI0] (0000:00)
> pci_root PNP0A08:00: host bridge window [io  0x0000-0x0cf7]
> pci_root PNP0A08:00: host bridge window [io  0x1000-0x8fff]

> ACPI: PCI Root Bridge [PCI1] (0000:80)
> pci_root PNP0A08:01: host bridge window [io  0x9000-0xfffe]

> Is this a correct understanding of what the Linux pci code now expects
> to find?  Which bit of the ACPI spec should I use to beat the BIOS
> engineers over the head to point out the error of their ways?

On ia64, we've always used _CRS to find the resources for host bridges
(though we only recently started printing out the windows), and PCI
has always relied on what we find.  But if we only find I/O port
ranges, something is seriously wrong.

It's possible we're seeing something new in _CRS that we don't handle
correctly, e.g., maybe resource_to_window() is incorrectly rejecting
something.

I'd start with a patch like this (just the rsutils.c piece):
  http://bugzilla.kernel.org/attachment.cgi?id\x16776

If you can post the output with that patch, we can manually decode the
_CRS buffer straight from ACPI, so we can at least figure out whether
to look at Linux or the BIOS.

If this is really a BIOS issue, I would expect Windows to fail
miserably as well.

Bjorn

  reply	other threads:[~2010-01-28 20:04 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-01-28 19:22 "new" dependencies on ACPI/BIOS Luck, Tony
2010-01-28 20:04 ` Bjorn Helgaas [this message]
2010-01-28 21:52 ` Luck, Tony
2010-01-28 23:41 ` Bjorn Helgaas
2010-01-29  2:14 ` Tony Luck
2010-01-29 16:14 ` Bjorn Helgaas

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=201001281304.28613.bjorn.helgaas@hp.com \
    --to=bjorn.helgaas@hp.com \
    --cc=linux-ia64@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