public inbox for linux-acpi@vger.kernel.org
 help / color / mirror / Atom feed
From: Malte Doersam <malte.d-hi6Y0CQ0nG0@public.gmane.org>
To: acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
Subject: acpi_pci_link_check's attempt to find the _best_ irq prevents system from using ACPI irq routing
Date: Mon, 21 Apr 2003 03:30:03 +0200	[thread overview]
Message-ID: <200304210330.03812.malte.d@gmx.net> (raw)

Hi everybody,

After my Thinkpad R31 didn't want to boot without pci=noacpi, I tried today to 
find out, what the reason for this is. With pci=acpi it booted right away 
till 

ACPI: Interpreter enabled
ACPI: Using PIC for interrupt routing
ACPI: PCI Root Bridge [PCI0] (00:00)
PCI: Probing PCI hardware (bus 00)
Transparent bridge - Intel Corp. 82801BAM/CAM PCI Bri
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PCI1._PRT]
ACPI: PCI Interrupt Link [PILA] (IRQs 3 4 5 6 7 9 *11 12 14 15)
ACPI: PCI Interrupt Link [PILB] (IRQs 3 4 5 6 7 9 *11 12 14 15)
ACPI: PCI Interrupt Link [PILC] (IRQs 3 4 5 6 7 9 *11 12 14 15)
ACPI: PCI Interrupt Link [PILD] (IRQs 3 4 5 6 7 9 *11 12 14 15)
ACPI: PCI Interrupt Link [PILE] (IRQs 3 4 5 6 7 9 *11 12 14 15)
ACPI: PCI Interrupt Link [PILF] (IRQs 3 4 5 6 7 9 *11 12 14 15)
ACPI: PCI Interrupt Link [PILG] (IRQs 3 4 5 6 7 9 11 12 14 15, disabled)
ACPI: PCI Interrupt Link [PILH] (IRQs 3 4 5 6 7 9 11 12 14 15, disabled)
ACPI: Embedded Controller [EC0] (gpe 29)
block request queues:
 128 requests per read queue
 128 requests per write queue
 8 requests per batch
 enter congestion at 15

then it stoped without any warning or failure message. I had no clue, why the 
kernel behaved like this. 

The 'show stopper' is one nifty loop in the drivers/acpi/pci_link.c:
Actually its the part which has this comment: "Pass #2: Enable boot-disabled 
Links at 'best' IRQ."

/* 
* Select the best IRQ.  This is done in reverse to promote 
* the use of IRQs 9, 10, 11, and >15.
*/
for (i=(link->irq.possible_count-1); i>0; i--) {
	if (acpi_irq_penalty[irq] > acpi_irq_penalty[link->irq.possible[i]])
 		irq = link->irq.possible[i];
	}

After commenting out this loop, the 'boot-disabled Links' got both irq 3 
(which isn't the best, but seemingly quite okay.) And the system started as 
expected with 'pci=acpi'. *hooray* It seems quite stable, though only S1 is 
working properly. S3 has still problems at wake-up-stadium. 

Maybe some brighter soul can review this... ;-)

thanks for this great work

cheers Malte



-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf

             reply	other threads:[~2003-04-21  1:30 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-04-21  1:30 Malte Doersam [this message]
     [not found] <F760B14C9561B941B89469F59BA3A847E96E08@orsmsx401.jf.intel.com>
     [not found] ` <F760B14C9561B941B89469F59BA3A847E96E08-sBd4vmA9Se4Lll3ZsUKC9FDQ4js95KgL@public.gmane.org>
2003-04-26 17:47   ` acpi_pci_link_check's attempt to find the _best_ irq prevents system from using ACPI irq routing Malte Doersam

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=200304210330.03812.malte.d@gmx.net \
    --to=malte.d-hi6y0cq0ng0@public.gmane.org \
    --cc=acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.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