mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Bjorn Helgaas <bjorn.helgaas@hp.com>
To: Pierre Ossman <drzeus-list@drzeus.cx>
Cc: Len Brown <len.brown@intel.com>,
	LKML <linux-kernel@vger.kernel.org>,
	Adam Belay <ambx1@neo.rr.com>
Subject: Re: ACPIPNP and too large IO resources
Date: Wed, 5 Jul 2006 10:47:40 -0600	[thread overview]
Message-ID: <200607051047.40734.bjorn.helgaas@hp.com> (raw)
In-Reply-To: <44AB608F.1060903@drzeus.cx>

On Wednesday 05 July 2006 00:47, Pierre Ossman wrote:
> Commit 1acfb7f2b0d460ee86bdb25ad0679070ec8a5f0d by Bjorn is causing me
> some grief. Although the patch seems correct, it is triggering another
> misfeature of the system and I am hoping you have a solution.
> 
> Before your patch, the PCI bridge didn't allocate many io ports as they
> were mislabeled as iomem. But now it puts its dirty paws all over the
> entire ISA io port address space, effectively disabling PNP.
> 
> On my machine it steals the ranges 0x0-0xcf7, 0xcf8-0xcff and
> 0xd00-0xffff. IOW, the entire range of 0x0-0xffff gets blocked and none
> of the ISA PNP devices can use ports outside this range.

Thanks for the report!

It sounds like this might be the same problem as
    http://bugzilla.kernel.org/show_bug.cgi?id=6292

In short, you probably have a bridge device that consumes the
entire 0x0-0xffff I/O port range and produces some or all of that
range for downstream PNP devices.  PNP doesn't know what to do
with these windows that are both consumed by the bridge and made
available to downstream devices, so it just marks them as being
already reserved.

Matthieu Castet wrote a nice patch (attached) that makes PNP just
ignore those windows.  Can you try it and see whether it fixes
the problem you're seeing?  This patch is already in -mm, but not
yet in mainline.  We might need to consider this patch as
2.6.18 material if it resolves your problem.  I suspect many
people will see the same problem.

If it doesn't fix the problem, could I trouble you to open a
report at http://bugzilla.kernel.org and assign it to me?  If
you could attach the dmesg log and the output of "for i in
/sys/bus/pnp/devices/*; do echo $i; cat $i/id; cat $i/resources;
cat $i/options; done", that would be useful.

Thanks,
  Bjorn


Index: linux-2.6.16/drivers/pnp/pnpacpi/rsparser.c
===================================================================
--- linux-2.6.16.orig/drivers/pnp/pnpacpi/rsparser.c	2006-06-10 23:00:34.000000000 +0200
+++ linux-2.6.16/drivers/pnp/pnpacpi/rsparser.c	2006-06-10 23:08:52.114104816 +0200
@@ -170,6 +170,9 @@
 		return;
 	}
 
+    if (p->producer_consumer == ACPI_PRODUCER)
+        return;
+
 	if (p->resource_type == ACPI_MEMORY_RANGE)
 		pnpacpi_parse_allocated_memresource(res_table,
 				p->minimum, p->address_length);
@@ -248,9 +251,14 @@
 		break;
 
 	case ACPI_RESOURCE_TYPE_EXTENDED_ADDRESS64:
+        if (res->data.ext_address64.producer_consumer == ACPI_PRODUCER)
+            return AE_OK;
 		break;
 
 	case ACPI_RESOURCE_TYPE_EXTENDED_IRQ:
+        if (res->data.extended_irq.producer_consumer == ACPI_PRODUCER)
+            return AE_OK;
+
 		for (i = 0; i < res->data.extended_irq.interrupt_count; i++) {
 			pnpacpi_parse_allocated_irqresource(res_table,
 				res->data.extended_irq.interrupts[i],

  reply	other threads:[~2006-07-05 16:47 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-07-05  6:47 Pierre Ossman
2006-07-05 16:47 ` Bjorn Helgaas [this message]
2006-07-05 20:53   ` Pierre Ossman
2006-07-05 21:36     ` Bjorn Helgaas
2006-07-05 22:18       ` Andrew Morton
2006-07-06 15:29         ` Bjorn Helgaas
2006-07-07  1:03           ` Shaohua Li
2006-08-05  0:19             ` Pierre Ossman
2006-08-05  1:07               ` Andrew Morton

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=200607051047.40734.bjorn.helgaas@hp.com \
    --to=bjorn.helgaas@hp.com \
    --cc=ambx1@neo.rr.com \
    --cc=drzeus-list@drzeus.cx \
    --cc=len.brown@intel.com \
    --cc=linux-kernel@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

all inboxes | Powered by JetHome®