From: Randy Dunlap <randy.dunlap@oracle.com>
To: "Hans J. Koch" <hjk@linutronix.de>
Cc: "Uwe Kleine-König" <Uwe.Kleine-Koenig@digi.com>,
linux-kernel@vger.kernel.org,
"Greg Kroah-Hartman" <gregkh@suse.de>,
"Jan Altenberg" <jan.altenberg@linutronix.de>,
"Thomas Gleixner" <tglx@linutronix.de>,
"Magnus Damm" <magnus.damm@gmail.com>
Subject: Re: [PATCH 1/1] UIO: Add a write() function to enable/disable interrupts
Date: Fri, 23 May 2008 11:36:50 -0700 [thread overview]
Message-ID: <20080523113650.2467f2ee.randy.dunlap@oracle.com> (raw)
In-Reply-To: <20080523135557.27fe4855@bluebox.local>
On Fri, 23 May 2008 13:55:57 +0200 Hans J. Koch wrote:
> Documentation/DocBook/uio-howto.tmpl | 40 ++++++++++++++++++++++++++++++++++-
> drivers/uio/uio.c | 26 ++++++++++++++++++++++
> include/linux/uio_driver.h | 2 +
> 3 files changed, 67 insertions(+), 1 deletion(-)
>
> Index: linux-2.6.26-rc/Documentation/DocBook/uio-howto.tmpl
> ===================================================================
> --- linux-2.6.26-rc.orig/Documentation/DocBook/uio-howto.tmpl 2008-05-22 20:22:57.000000000 +0200
> +++ linux-2.6.26-rc/Documentation/DocBook/uio-howto.tmpl 2008-05-23 11:57:23.000000000 +0200
> @@ -30,6 +30,12 @@
>
> <revhistory>
> <revision>
> + <revnumber>0.5</revnumber>
> + <date>2008-05-22</date>
> + <authorinitials>hjk</authorinitials>
> + <revremark>Added description of write() function.</revremark>
> + </revision>
> + <revision>
> <revnumber>0.4</revnumber>
> <date>2007-11-26</date>
> <authorinitials>hjk</authorinitials>
> @@ -64,7 +70,7 @@
> <?dbhtml filename="copyright.html"?>
> <title>Copyright and License</title>
> <para>
> - Copyright (c) 2006 by Hans-Jürgen Koch.</para>
> + Copyright (c) 2006-2008 by Hans-Jürgen Koch.</para>
> <para>
> This documentation is Free Software licensed under the terms of the
> GPL version 2.
> @@ -189,6 +195,30 @@
> represents the total interrupt count. You can use this number
> to figure out if you missed some interrupts.
> </para>
> + <para>
> + For some hardware that has more than one interrupt source internally,
> + but not seperate IRQ mask and status registers, there might be
separate
> + situations where userspace cannot determine what the interrupt source
> + was if the kernel handler disables them by writing to the chip's IRQ
> + register. In such a case, the kernel has to disable the IRQ completely
> + to leave the chip's register untouched. Now the userspace part can
> + determine the cause of the interrupt, but it cannot re-enable
> + interrupts. Another cornercase are chips where re-enabling interrupts
is
> + is a read-modify-write operation to a combined IRQ status/acknowledge
> + register. This would be racy if a new interrupt occured
occurred
> + simultaneously.
> + </para>
> + <para>
> + To address these problems, UIO also implements a write() function. It
> + is normally not used and can be ignored for hardware that has only a
> + single interrupt source or has seperate IRQ mask and status registers.
separate
["There's <a rat> in separate."]
> + If you need it, however, a write to <filename>/dev/uioX</filename>
> + will call the <function>irqcontrol()</function> function implemented
> + by the driver. You have to write a 32-bit value that is usually either
> + 0 or 1 do disable or enable interrupts. If a driver does not implement
to
> + <function>irqcontrol()</function>, <function>write()</function> will
> + return with <varname>-ENOSYS</varname>.
> + </para>
---
~Randy
next prev parent reply other threads:[~2008-05-23 18:37 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-05-22 19:22 [PATCH 0/1] UIO: Add a write() function to enable/disable interrupts Hans J. Koch
2008-05-22 19:26 ` [PATCH 1/1] " Hans J. Koch
2008-05-22 19:47 ` Tom Spink
2008-05-22 20:08 ` Hans J. Koch
2008-05-22 20:26 ` Tom Spink
2008-05-23 5:41 ` Uwe Kleine-König
2008-05-23 8:51 ` Hans J. Koch
2008-05-23 11:48 ` Tom Spink
2008-05-23 11:58 ` Uwe Kleine-König
2008-05-23 12:00 ` Tom Spink
2008-05-23 12:14 ` Hans J. Koch
2008-05-23 12:20 ` Tom Spink
2008-05-23 13:01 ` Hans J. Koch
2008-05-23 5:55 ` Uwe Kleine-König
2008-05-23 8:44 ` Hans J. Koch
2008-05-23 9:10 ` Uwe Kleine-König
2008-05-23 10:03 ` Hans J. Koch
2008-05-23 10:56 ` Uwe Kleine-König
2008-05-23 11:55 ` Hans J. Koch
2008-05-23 12:03 ` Uwe Kleine-König
2008-05-23 18:36 ` Randy Dunlap [this message]
2008-05-23 22:49 ` Hans-Jürgen Koch
2008-06-04 6:30 ` Uwe Kleine-König
2008-06-04 7:05 ` Thomas Gleixner
2008-05-23 20:44 ` Leon Woestenberg
2008-05-23 22:43 ` Hans J. Koch
2008-05-24 0:02 ` Leon Woestenberg
2008-05-24 4:43 ` Greg KH
2008-05-24 22:20 ` Hans J. Koch
2008-05-24 22:22 ` Thomas Gleixner
2008-05-24 22:34 ` Tom Spink
2008-05-24 22:46 ` Thomas Gleixner
2008-05-24 23:00 ` Tom Spink
2008-05-27 17:55 ` Greg KH
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=20080523113650.2467f2ee.randy.dunlap@oracle.com \
--to=randy.dunlap@oracle.com \
--cc=Uwe.Kleine-Koenig@digi.com \
--cc=gregkh@suse.de \
--cc=hjk@linutronix.de \
--cc=jan.altenberg@linutronix.de \
--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.