public inbox for linux-acpi@vger.kernel.org
 help / color / mirror / Atom feed
From: Andrew de Quincey <adq_dvb-fmPXVN3awWJAJAzL26g0SA@public.gmane.org>
To: acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
Cc: linux-acpi-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org
Subject: Discussion: ACPI selective IRQ blacklist
Date: Wed, 3 Sep 2003 23:16:11 +0100	[thread overview]
Message-ID: <200309032316.11076.adq_dvb@lidskialf.net> (raw)

Hi, I've been looking into this VIA ACPI issue some more. From various 
reports, if you disable ACPI, the standard linux PCI IRQ routing system is 
able to correctly set up the board.

Some VIA motherboards DO work correctly in ACPI APIC mode however. These 
boards have the APIC IRQ settings hardwired (i.e. they do not use link 
devices).

The problem comes when the BIOS does use link devices. These will work fine in 
PIC mode. However, in APIC mode, the AML code is wrong in several respects in 
lots of BIOSes:

1) The _SRS method can only cope with IRQs <= 15, yet the BIOS returns IRQs > 
15 in the _PRS method. 

2) The _CRS method is hardcoded to return 0 ALWAYS for link devices in APIC 
mode.

The above means we cannot use the AML code for setting APIC IRQ devices on 
many VIA motherboards.

My new patch (acpi-picmode) should mean the boards are functional... just that 
they do not take advantage of any APIC/IO-APIC present.

I looked into trying to fall back to the non-ACPI PCI IRQ routing code. Its 
not really feasible: ACPI does an awful lot of setup before setting up the 
link devices, which it is not really possible to undo without lots of pain.

My suggestion is I expand the current ACPI blacklist to have a field 
specifying whether ACPI PCI routing can be relied upon. 

Using the current blacklisting (which disables ACPI completely) on masses of 
VIA motherboards is not really an option IMO.

So:
If a motherboard is dodgy and IS in the bad-routing-blacklist, ACPI will not 
be used for PCI routing.

If a motherboard is dodgy and is NOT in the bad-routing-blacklist, the 
fallback to picmode code should catch it. If the user then wants APIC with 
ACPI, they report the issue and the board is added to the 
bad-routing-blacklist.

What do people think? This is the best solution I can come up for this problem 
that would not involve a large messy error-prone change.


I'm gonna start implementing this.. but I'd appreciate feedback on this idea.



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

             reply	other threads:[~2003-09-03 22:16 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-09-03 22:16 Andrew de Quincey [this message]
     [not found] ` <200309032316.11076.adq_dvb-fmPXVN3awWJAJAzL26g0SA@public.gmane.org>
2003-09-04  1:15   ` Discussion: ACPI selective IRQ blacklist Andrew de Quincey
     [not found]     ` <200309040215.23281.adq_dvb-fmPXVN3awWJAJAzL26g0SA@public.gmane.org>
2003-09-04  1:47       ` James Courtier-Dutton
     [not found]         ` <3F5699A4.3090608-l7zRWeYnyd2TY6FTCsQk+9Bc4/FLrbF6@public.gmane.org>
2003-09-04  1:50           ` Andrew de Quincey
  -- strict thread matches above, loose matches on Subject: below --
2003-09-04  1:19 Nakajima, Jun

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=200309032316.11076.adq_dvb@lidskialf.net \
    --to=adq_dvb-fmpxvn3awwjajazl26g0sa@public.gmane.org \
    --cc=acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org \
    --cc=linux-acpi-ral2JQCrhuEAvxtiuMwx3w@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