From: "Hans J. Koch" <hjk@linutronix.de>
To: Uwe Kleine-K?nig <Uwe.Kleine-Koenig@digi.com>
Cc: Magnus Damm <magnus.damm@gmail.com>,
"Hans J. Koch" <hjk@linutronix.de>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"gregkh@suse.de" <gregkh@suse.de>,
"akpm@linux-foundation.org" <akpm@linux-foundation.org>,
"lethal@linux-sh.org" <lethal@linux-sh.org>,
"tglx@linutronix.de" <tglx@linutronix.de>
Subject: Re: [PATCH] uio: User IRQ Mode
Date: Fri, 4 Jul 2008 15:32:21 +0200 [thread overview]
Message-ID: <20080704133221.GC2257@local> (raw)
In-Reply-To: <20080704060108.GA11794@digi.com>
On Fri, Jul 04, 2008 at 08:01:08AM +0200, Uwe Kleine-K?nig wrote:
> Magnus Damm wrote:
> > On Thu, Jul 3, 2008 at 9:45 PM, Hans J. Koch <hjk@linutronix.de> wrote:
> > > On Thu, Jul 03, 2008 at 09:10:19AM +0200, Uwe Kleine-K?nig wrote:
> > >> Hans J. Koch wrote:
> > >> > On Wed, Jul 02, 2008 at 07:59:51PM +0900, Magnus Damm wrote:
> > >> > > From: Uwe Kleine-K?nig <Uwe.Kleine-Koenig@digi.com>
> > >> > >
> > >> > > This patch adds a "User IRQ Mode" to UIO. In this mode the user space driver
> > >> > > is responsible for acknowledging and re-enabling the interrupt.
> > >> >
> > >> > This can easily be done without your patch.
> > >
> > > BTW, the above wording "the user space driver is responsible for
> > > acknowledging and re-enabling the interrupt" is misleading. The kernel
> > > always has to acknowledge/disable/mask the interrupt. Userspace can only
> > > reenable it, ideally by writing to a chip register. In some cornercases
> > > for broken hardware we need the newly introduced write function.
> >
> > You seem to be mixing up masking/acknowledging the interrupt
> > controller and masking/acknowledging the actual hardware device. In
> > User IRQ Mode, the only thing the user space driver is accessing is
> > the hardware device, with the exception of write() to re-enable
> > interrupts which results in a enable_irq() that touches the interrupt
> > controller.
> But to be honest Hans is right here, the commit log wording is not
> optimal. I suggest:
>
> This patch adds a "User IRQ Mode" to UIO. In this mode the
> kernel space simply disables the serviced interrupt in the
> interrupt controller and the user space driver is responsible
> for acknowledging it in the device and reenabling it.
>
> Note that this implies that the interrupt might be disabled for
> long periods, so this isn't usable for shared interrupt lines.
>
> Maybe it's sensible to add the User IRQ Mode functions at least for now
> into platform code. Then at a later time if and when there are several
> copies the discussion to move it to the generic part might be easier.
Thanks for this suggestion. I agree. Maybe we find a different solution
until then.
>
> BTW, I currently have a situation where it IMHO really makes sense to
> use the User IRQ Mode: We sell a cpu module to a customer with
> Linux. I provide a uio device for some memory mapped periphal on the
> customers board that I don't know in detail. With the User IRQ Mode I
> only need to know the chip select and the irq line, no further
> information is needed for the device.
The only additional information you need now is which bit in which
register you have to set/clear to mask the irq. I also have customer
chips here where this one information is all I know about the chip.
Thanks,
Hans
next prev parent reply other threads:[~2008-07-04 13:32 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-07-02 10:59 [PATCH] uio: User IRQ Mode Magnus Damm
2008-07-02 11:11 ` Alan Cox
2008-07-02 11:42 ` Uwe Kleine-König
2008-07-02 11:31 ` Alan Cox
2008-07-03 5:11 ` Magnus Damm
2008-07-03 10:23 ` Magnus Damm
2008-07-02 12:54 ` Hans J. Koch
2008-07-03 7:10 ` Uwe Kleine-König
2008-07-03 12:45 ` Hans J. Koch
2008-07-03 13:23 ` Paul Mundt
2008-07-03 19:55 ` Hans J. Koch
2008-07-04 2:55 ` Magnus Damm
2008-07-04 12:44 ` Hans J. Koch
2008-07-04 4:03 ` Magnus Damm
2008-07-04 6:01 ` Uwe Kleine-König
2008-07-04 7:48 ` Magnus Damm
2008-07-04 8:11 ` Uwe Kleine-König
2008-07-04 8:29 ` Paul Mundt
2008-07-04 13:39 ` Hans J. Koch
2008-07-04 8:16 ` Alan Cox
2008-07-04 13:32 ` Hans J. Koch [this message]
2008-07-04 13:26 ` Hans J. Koch
2008-07-04 22:51 ` Magnus Damm
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=20080704133221.GC2257@local \
--to=hjk@linutronix.de \
--cc=Uwe.Kleine-Koenig@digi.com \
--cc=akpm@linux-foundation.org \
--cc=gregkh@suse.de \
--cc=lethal@linux-sh.org \
--cc=linux-kernel@vger.kernel.org \
--cc=magnus.damm@gmail.com \
--cc=tglx@linutronix.de \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.