linux-next.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Dave Martin <dave.martin@linaro.org>
To: Russell King - ARM Linux <linux@arm.linux.org.uk>
Cc: Nicolas Pitre <nicolas.pitre@linaro.org>,
	Stephen Rothwell <sfr@canb.auug.org.au>,
	Pawel Moll <pawel.moll@arm.com>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	devicetree-discuss@lists.ozlabs.org,
	LKML <linux-kernel@vger.kernel.org>,
	Jeff Garzik <jgarzik@redhat.com>,
	linux-ide@vger.kernel.org, Randy Dunlap <rdunlap@xenotime.net>,
	linux-next@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	Anton Vorontsov <cbouatmailru@gmail.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Ingo Molnar <mingo@elte.hu>, Alan Cox <alan@lxorguk.ukuu.org.uk>
Subject: Re: [PATCH] ata: Don't use NO_IRQ in pata_of_platform driver
Date: Tue, 6 Dec 2011 11:37:35 +0000	[thread overview]
Message-ID: <20111206113735.GC2274@linaro.org> (raw)
In-Reply-To: <20111206104654.GN14542@n2100.arm.linux.org.uk>

On Tue, Dec 06, 2011 at 10:46:54AM +0000, Russell King - ARM Linux wrote:
> On Tue, Dec 06, 2011 at 09:37:09AM +0000, Dave Martin wrote:
> > To clarify, you're suggesting that the meanings of all other IRQ values
> > would not change initially?  (i.e., we remap HW irq 0, if there is one,
> > to some other random number but have a 1:1 mapping for everything else).
> 
> Even better.  Avoid the first 16 IRQ numbers altogether - so that ISA
> drivers which have these numbers hard-encoded in them will see failures
> if they're expecting standard ISA IRQ numbering.
> 
> We already do that with the GIC, partly because of the hardware design.
> We do that on Footbridge based systems, because they may or may not have
> a real ISA IRQ controller.
> 
> But.. let's make one thing clear: Alan Cox and Linus have been going on
> about how IRQ0 should not be used.  Let's be crystal clear: even x86
> uses IRQ0.  It happens to be the PIC timer, and that gets claimed early
> on during the x86 boot.  So please don't tell me that x86 avoids IRQ0.
> It doesn't.  It just happens that x86 never shows IRQ0 to anything but
> the i8253 PIC driver.
> 
> So lets see how x86 squeels if we make the i8253 PIC driver reject IRQ0.
> I bet that there'd be absolute fury at such a suggestion.
> 
> When x86 sorts this out, there _might_ be some more motivation to take
> such comments seriously.  Until then it's more like a joke.

OK -- but the situation is breaking OF-based drivers on ARM platforms
today.

Based on what you've suggested, does the following policy sound
reasonable for resolving that deadlock?


1) All OF code and drivers should be migrating to use 0 instead of NO_IRQ
   for the no-interrupt case.  Code which receives irq numbers directly
   from the OF framework and refers to NO_IRQ, or expects 0 to be a valid
   needs to be fixed.

2) Where we hit a problem, board code needs to be adapted to remap HW IRQs
   0-15 to different software values.  (This could be done using irq
   domains, or not)


I'm still not sure what the correct approach is for drivers which get
irq numbers from OF indirectly -- this particularly applies to platform
and AMBA devices.

If we expect board code to start populating platform data based on 
information from the OF code, we need to fix the board not to use linux
irq 0 to describe a real HW interrupt, if it matters (as in (2)).

AMBA devices registered via of_platform_populate() already get their
irq numbers from OF.  So long as OF used to explicitly return NO_IRQ
there was no problem -- but if OF is moving to return 0 instead, we have
a potential problem for each AMBA driver which may be used by a board
which can boot without DT... if we have any scenarios where that driver
is given real irq 0.

Maybe we can fix these breakages as they occur -- I don't really know
the scale of the impact.


What are your thoughts on this?

Cheers
---Dave

  parent reply	other threads:[~2011-12-06 11:37 UTC|newest]

Thread overview: 80+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-10-11  9:11 linux-next: Tree for Oct 11 Stephen Rothwell
2011-10-11 18:26 ` [PATCH -next] x86: perf_event_intel.c needs export.h Randy Dunlap
2011-10-11 18:49 ` linux-next: Tree for Oct 11 (mmc) Randy Dunlap
2011-10-11 19:31   ` mmc core broken dependency on CONFIG_BLOCK (Was: linux-next: Tree for Oct 11 (mmc)) Andrei Warkentin
2011-10-11 21:59     ` Randy Dunlap
2011-10-11 23:20       ` NamJae Jeon
2011-10-11 23:48         ` Andrei Warkentin
2011-10-12  0:16           ` NamJae Jeon
2011-10-12  0:50             ` Andrei Warkentin
2011-10-12  1:55               ` NamJae Jeon
2011-10-11 19:15 ` [PATCH -next] jbd2: fix build when CONFIG_BUG is not enabled Randy Dunlap
2011-10-27  8:06   ` Ted Ts'o
2011-10-11 19:26 ` linux-next: Tree for Oct 11 (mfd/intel_msic.c) Randy Dunlap
2011-10-11 19:32 ` linux-next: Tree for Oct 11 (gpio regulator) Randy Dunlap
2011-10-11 20:22   ` Heiko Stübner
2011-10-11 20:37 ` linux-next: Tree for Oct 11 (ata/pata_of_platform.c) Randy Dunlap
2011-10-14 17:58   ` Randy Dunlap
2011-11-10 13:57     ` Ingo Molnar
2011-11-10 14:25       ` Alan Cox
2011-11-10 15:18       ` [PATCH] ata: Fix build error in pata_of_platform (NO_IRQ usage) Anton Vorontsov
2011-11-10 15:25         ` [PATCH 1/2] of/irq: Get rid of NO_IRQ usage Anton Vorontsov
2011-12-06 21:22           ` Rob Herring
2011-12-06 21:25             ` Linus Torvalds
2011-12-06 23:16               ` [PATCH v3] " Anton Vorontsov
2011-12-07  3:51                 ` Rob Herring
     [not found]                 ` <20111206231626.GA31683-wnGakbxT3iijyJ0x5qLZdcN33GVbZNy3@public.gmane.org>
2011-12-07  9:52                   ` Wolfram Sang
2011-11-10 15:26         ` [PATCH 2/2] ata: Don't use NO_IRQ in pata_of_platform driver Anton Vorontsov
2011-11-10 15:38           ` Alan Cox
2011-11-10 16:28             ` [PATCH] " Anton Vorontsov
2011-11-10 20:34               ` Jeff Garzik
2011-12-02 19:19               ` Dave Martin
2011-12-02 22:34                 ` Anton Vorontsov
2011-12-02 22:40                   ` Anton Vorontsov
2011-12-02 22:46                     ` Anton Vorontsov
2011-12-02 22:40                   ` Linus Torvalds
2011-12-02 23:18                     ` [PATCH v2] of/irq: Get rid of NO_IRQ usage Anton Vorontsov
2011-12-02 23:22                 ` [PATCH] ata: Don't use NO_IRQ in pata_of_platform driver Alan Cox
2011-12-03 18:56                   ` Geert Uytterhoeven
2011-12-02 19:26               ` Dave Martin
2011-12-02 19:28                 ` Linus Torvalds
2011-12-02 23:12                   ` Benjamin Herrenschmidt
2011-12-05 16:11                     ` Dave Martin
2011-12-05 17:40                       ` Nicolas Pitre
2011-12-05 18:02                         ` Dave Martin
2011-12-05 18:15                           ` Geert Uytterhoeven
2011-12-05 18:18                           ` Nicolas Pitre
     [not found]                             ` <alpine.LFD.2.02.1112051310150.2357-QuJgVwGFrdf/9pzu0YdTqQ@public.gmane.org>
2011-12-05 18:45                               ` Alan Cox
2011-12-05 19:19                                 ` James Bottomley
2011-12-06  6:13                                 ` Jean-Christophe PLAGNIOL-VILLARD
     [not found]                                   ` <20111206061321.GH9192-RQcB7r2h9QmfDR2tN2SG5Ni2O/JbrIOy@public.gmane.org>
2011-12-06 11:34                                     ` Alan Cox
2011-12-05 19:16                               ` Rob Herring
2011-12-05 20:21                                 ` Anton Vorontsov
2011-12-05 20:47                                   ` Rob Herring
     [not found]                                     ` <4EDD2DE1.1050606-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2011-12-05 20:53                                       ` Alan Cox
2011-12-06  9:30                                     ` Dave Martin
     [not found]                                       ` <20111206093000.GA2274-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2011-12-06 10:34                                         ` Alan Cox
2011-12-06 10:55                                         ` Russell King - ARM Linux
2011-12-05 19:26                             ` Dave Martin
2011-12-05 19:49                               ` Nicolas Pitre
2011-12-06  9:37                                 ` Dave Martin
     [not found]                                   ` <20111206093709.GB2274-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2011-12-06 10:46                                     ` Russell King - ARM Linux
2011-12-06 11:00                                       ` Geert Uytterhoeven
2011-12-06 11:03                                         ` Russell King - ARM Linux
2011-12-06 11:10                                         ` Alan Cox
2011-12-06 11:05                                       ` Alan Cox
     [not found]                                         ` <20111206110554.53bddd14-qBU/x9rampVanCEyBjwyrvXRex20P6io@public.gmane.org>
2011-12-06 11:25                                           ` Russell King - ARM Linux
2011-12-06 12:11                                             ` Alan Cox
2011-12-06 11:37                                       ` Dave Martin [this message]
2011-12-06 11:49                                         ` Russell King - ARM Linux
2011-12-06 13:25                                           ` Dave Martin
2011-12-06 19:56                                           ` Rob Herring
2011-12-06 19:20                                       ` Linus Torvalds
2011-12-06 20:00                                         ` Russell King - ARM Linux
     [not found]                                         ` <CA+55aFwZBr+3_S9kU-+m8zN8iwOvn2miuuAy-zt7sUjW_+abBg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2011-12-06 20:59                                           ` Uwe Kleine-König
2011-12-06 19:11                                   ` Nicolas Pitre
     [not found]                       ` <20111205161157.GA27550-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2011-12-05 17:41                         ` Alan Cox
2011-11-10 15:35         ` [PATCH] ata: Fix build error in pata_of_platform (NO_IRQ usage) Alan Cox
2011-11-10 18:18       ` linux-next: Tree for Oct 11 (ata/pata_of_platform.c) Jeff Garzik
     [not found] ` <20111011201127.455df266dcbffb1d621f8576-3FnU+UHB4dNDw9hX6IcOSA@public.gmane.org>
2011-10-11 20:45   ` linux-next: Tree for Oct 11 (iio/resolver) Randy Dunlap
     [not found]     ` <4E94AADA.4080204-/UHa2rfvQTnk1uMJSBkQmQ@public.gmane.org>
2011-10-12  8:58       ` Jonathan Cameron

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=20111206113735.GC2274@linaro.org \
    --to=dave.martin@linaro.org \
    --cc=akpm@linux-foundation.org \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=benh@kernel.crashing.org \
    --cc=cbouatmailru@gmail.com \
    --cc=devicetree-discuss@lists.ozlabs.org \
    --cc=jgarzik@redhat.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-ide@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-next@vger.kernel.org \
    --cc=linux@arm.linux.org.uk \
    --cc=mingo@elte.hu \
    --cc=nicolas.pitre@linaro.org \
    --cc=pawel.moll@arm.com \
    --cc=rdunlap@xenotime.net \
    --cc=sfr@canb.auug.org.au \
    --cc=torvalds@linux-foundation.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;
as well as URLs for NNTP newsgroup(s).