public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Russell King <rmk@arm.linux.org.uk>
To: Pavel Roskin <proski@gnu.org>
Cc: Tim Small <tim@buttersideup.com>,
	linux-pcmcia@lists.infradead.org, linux-kernel@vger.kernel.org
Subject: Re: TI yenta-alikes (was: ToPIC specific init for yenta_socket)
Date: Thu, 7 Aug 2003 10:02:11 +0100	[thread overview]
Message-ID: <20030807100211.A17690@flint.arm.linux.org.uk> (raw)
In-Reply-To: <Pine.LNX.4.56.0308062301550.1995@marabou.research.att.com>; from proski@gnu.org on Thu, Aug 07, 2003 at 12:01:06AM -0400

On Thu, Aug 07, 2003 at 12:01:06AM -0400, Pavel Roskin wrote:
> I have no idea, but I think it's an important consideration.  I wonder how
> it's possible to put IRQ3 and INTA on the same pin?

It's not, and this is the whole point about why what we're currently
doing is *wrong*.  The only people who know whether the pin has been
wired for INTA or IRQ3 are the _designers_ of the hardware, not the
Linux kernel.

Currently, the Linux kernel assumes a "greater than designers" approach
to fiddling with the registers which control the function of these pins,
and so far I've seen:

- changing the mode from serial PCI interrupts to parallel PCI interrupts
  causes the machine to lock hard (since some cardbus controllers use the
  same physical pins for both functions.)

- fiddling with the IRQMUX register changes the mapping between the card
  IRQ selector register and the physical ISA IRQ on which the interrupt
  appears, or even changes the function of the pin connected to a shared
  ISA IRQ (IRQ3 and 4) to become the ZV status output.

In essense, when we find that a particular machine has not setup the
function of these multi-purpose signals, we need to find a way to
perform the fixup which is dependent on the machine not on the
cardbus controller type.

If we can't do that, then we can't fix up the problem automatically -
chances are applying the same "fix" across different machines will
break the cases which presently work.

So, to find a solution, as of last night, Linus has integrated changes
which completely disables the frobbing of the IRQMUX register on TI
chips, and disables the "select PCI only IRQ mode" code which was
recently merged from the -ac tree.  The latter was rather bogus -
it disabled the ISA interrupts before we determined if we had any
to start with.

In addition, we display the slot and subsystem vendor and device IDs
at boot.  Hopefully, this will allow us to gather sufficient information
to put together a reasonable picture of which machines are broken and
give us a way to perform the necessary fixups on a per-machine basis.

I'm hoping that those who need these machine specific registers frobbed
are going to be testing 2.6.0-test kernels.

-- 
Russell King (rmk@arm.linux.org.uk)                The developer of ARM Linux
             http://www.arm.linux.org.uk/personal/aboutme.html


  reply	other threads:[~2003-08-07  9:02 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-08-06 18:25 [PATCH 2.6] ToPIC specific init for yenta_socket Daniel Ritz
2003-08-06 18:44 ` Russell King
2003-08-06 19:07   ` Pavel Roskin
2003-08-06 19:32     ` Russell King
2003-08-06 20:39       ` Pavel Roskin
2003-08-06 22:23         ` TI yenta-alikes (was: ToPIC specific init for yenta_socket) Tim Small
2003-08-07  4:01           ` Pavel Roskin
2003-08-07  9:02             ` Russell King [this message]
2003-08-07 12:18               ` Alan Cox
2003-08-07 13:02                 ` TI yenta-alikes Tim Small
2003-08-07 13:16                   ` Russell King
2003-08-07 14:00                     ` Alan Cox
2003-08-07 14:38                       ` Russell King
2003-08-07 14:49                     ` Tim Small
2003-08-07 13:12                 ` TI yenta-alikes (was: ToPIC specific init for yenta_socket) Russell King
2003-08-07  9:18             ` TI yenta-alikes Tim Small
2003-08-06 20:50   ` [PATCH 2.6] ToPIC specific init for yenta_socket Daniel Ritz

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=20030807100211.A17690@flint.arm.linux.org.uk \
    --to=rmk@arm.linux.org.uk \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pcmcia@lists.infradead.org \
    --cc=proski@gnu.org \
    --cc=tim@buttersideup.com \
    /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