All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jun Sun <jsun@mvista.com>
To: "Maciej W. Rozycki" <macro@ds2.pg.gda.pl>
Cc: Ralf Baechle <ralf@linux-mips.org>,
	linux-mips@linux-mips.org, jsun@mvista.com
Subject: Re: [PATCH] add dispatch_i8259_irq() to i8259.c
Date: Wed, 18 Dec 2002 09:48:28 -0800	[thread overview]
Message-ID: <20021218094828.A6061@mvista.com> (raw)
In-Reply-To: <Pine.GSO.3.96.1021217224740.7289I-100000@delta.ds2.pg.gda.pl>; from macro@ds2.pg.gda.pl on Wed, Dec 18, 2002 at 05:14:19PM +0100

On Wed, Dec 18, 2002 at 05:14:19PM +0100, Maciej W. Rozycki wrote:
> On Tue, 17 Dec 2002, Jun Sun wrote:
> 
> > > > No MIPS boards are using do_slow_gettimeoffset().  We really should get
> > > > rid of it.
> > > 
> > >  I know none does at the moment.  But are you sure there is no system that
> > > would need it and might be supported one day?
> > 
> > I serisouly don't think so.  Moving forward every CPU will have a CPU counter,
> > which can be used for timeoffset purpose.  Even if it does not have one,
> > it will surely have some onboard high resolution timer, which can be used
> > to intra-jiffy offset purpose.
> 
>  Well, I do hope so, too, but you'll never know until you find out. ;-)
> 
> > >  Here is an example (untested) code that I would recommend.  It sends
> > > explicit ACKs to the i8259As, which has the following advantages:
> > > 
> > <snip>
> > 
> > Cool.  This code works for me.
> 
>  Excellent.  I worked on the code a bit more and removed the spurious IRQ
> stuff.  It's not really necessary -- mask_and_ack_8259A() will deal with
> it anyway (a bit less precisely, but we don't care -- they are very rare
> and drivers absolutely have to be able to deal with spurious interrupts)
> and we want the low-level IRQ handling to be fast as it's performance
> critical.  At this point the function became so compact it would be
> unreasonable not to make it inline -- the generated code is 24
> instructions on my system.  The positive side effect is the code won't be
> compiled for systems that don't use it.
> 
>  Following is a patch that I consider a candidate for submission.  I
> changed the interface a bit to permit greater flexibility.  I renamed the
> function to reflect the new semantic.  Unless special handling is needed
> you may simply call: 
> 
> do_IRQ(poll_8259A_irq(), regs);
>

I actually don't like the new semantic.  The main drawback is that we can't
dispatch a 8259A interrupt from assemably code, which is often needed.

What is wrong with original way of dispatching?  The general interrupt 
dispatching flow is that you chase the routing path until you find the final
source and do a do_IRQ().  That seems fine with i8259A case here.

While there is certain urge to create asm/i8259a.h file, if in the end all there
is two function declarations (i8259_init() and dispatch_i8259_irq()), it is not
really worth it.

Jun

  reply	other threads:[~2002-12-18 17:48 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-12-13 23:08 [PATCH] add dispatch_i8259_irq() to i8259.c Jun Sun
2002-12-14  0:55 ` Maciej W. Rozycki
2002-12-14  4:18   ` Ralf Baechle
2002-12-16 13:44     ` Maciej W. Rozycki
2002-12-16 20:40       ` Jun Sun
2002-12-17 13:39         ` Maciej W. Rozycki
2002-12-17 14:35           ` Dominic Sweetman
2002-12-17 18:23             ` Ralf Baechle
2002-12-17 18:33               ` Maciej W. Rozycki
2002-12-17 18:27             ` Maciej W. Rozycki
2002-12-17 19:54             ` Jun Sun
2002-12-17 21:40           ` Jun Sun
2002-12-18 16:14             ` Maciej W. Rozycki
2002-12-18 17:48               ` Jun Sun [this message]
2002-12-18 18:14                 ` Maciej W. Rozycki
2002-12-18 18:51                   ` Jun Sun
2002-12-18 19:26                     ` Maciej W. Rozycki

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=20021218094828.A6061@mvista.com \
    --to=jsun@mvista.com \
    --cc=linux-mips@linux-mips.org \
    --cc=macro@ds2.pg.gda.pl \
    --cc=ralf@linux-mips.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 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.