All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Charles Krinke" <ckrinke@istor.com>
To: "Charles Krinke" <ckrinke@istor.com>, <linuxppc-embedded@ozlabs.org>
Cc: Randy Brown <rbrown@istor.com>,
	Vahid Fereydounkolahi <vahidf@istor.com>,
	Chris Carlson <ccarlson@istor.com>,
	Kevin Smith <ksmith@istor.com>
Subject: RE: IRQ questions & puzzles
Date: Fri, 27 Apr 2007 08:17:22 -0700	[thread overview]
Message-ID: <9F3F0A752CAEBE4FA7E906CC2FBFF57C06A1ED@MERCURY.inside.istor.com> (raw)
In-Reply-To: <9F3F0A752CAEBE4FA7E906CC2FBFF57C06A1EB@MERCURY.inside.istor.com>

Maybe I need to answer part of my question and ask another.

I can see, by putting a printk into ../kernel/irq/handle.c:__do_IRQ that
I normally get 3 interrupts with this 8541 board based on a
linux-2.6.17.11 kernel. A cat /proc/interrupts shows enet_rx on
interrupt 93, enet_tx on interrupt 94 and the serial port in interrupt
106.=20

I have a peripheral that sets irq to 16 and does a request_irq and this
works in the 8541 board. But on the 8541 board, the printk from inside
__do_IRQ shows the irq variable is zero, not 16.

Can someone please help me understand the care and feeding of external
interrupts in the 8541 a bit more completely?

Charles

-----Original Message-----
From: linuxppc-embedded-bounces+ckrinke=3Distor.com@ozlabs.org
[mailto:linuxppc-embedded-bounces+ckrinke=3Distor.com@ozlabs.org] On
Behalf Of Charles Krinke
Sent: Thursday, April 26, 2007 11:36 AM
To: linuxppc-embedded@ozlabs.org
Cc: Randy Brown; Chris Carlson; Kevin Smith
Subject: IRQ questions & puzzles

I have a linux-2.6.17.11 source tree that has configs for two boards.
One has an 8241 and the other has an 8541. The kernel code works fine on
the 8241, but appears to lock up in my custom driver in the 8541 when
interrupts are enabled.

What I see happening, based on using a BDI to go/halt after the apparent
lockup is that the kernel is spinning around in routines like
kernel/irq/handle.c:__do_IRQ and an associated
arch/powerpc/kernel/irq.c.

It looks like the interrupt, which should be level triggered and at this
point, is probably continuously asserted is causing the kernel to spin
in a tight loop and be incapable of doing printk's out the serial port
at 115200.

This leads to a few questions:

1. I can see most everything comes from arch/ppc, but do_IRQ comes from
arch/powerpc. Is that OK?

2. What is the most straightforward way to slow down a tight loop like
this slow enough so I can printk what is happening.

3. What might be the likely scenarios leading to such a despicable
state.

Charles Krinke
_______________________________________________
Linuxppc-embedded mailing list
Linuxppc-embedded@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-embedded

  reply	other threads:[~2007-04-27 15:17 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-04-26 16:10 gcj & PPC405 Patrick Olinet
2007-04-26 18:36 ` IRQ questions & puzzles Charles Krinke
2007-04-27 15:17   ` Charles Krinke [this message]
2007-04-27 15:41   ` Jon Loeliger
2007-04-27 16:55     ` How do external irq's get mapped? Charles Krinke
2007-04-27 17:03       ` Sergei Shtylyov
2007-04-27 17:35         ` Jon Loeliger
2007-04-27 17:38         ` Charles Krinke
2007-04-27 17:46           ` Sergei Shtylyov
2007-04-27 18:05             ` Charles Krinke
2007-04-27 18:42               ` Sergei Shtylyov
2007-04-27 19:34                 ` Charles Krinke
2007-04-27 20:58                 ` Charles Krinke
2007-04-27 21:23                   ` Andy Fleming
2007-04-27 22:51                     ` Charles Krinke
2007-04-28  2:30                       ` Zhang Wei-r63237
2007-04-30 16:25                       ` I2C support for 8541 Charles Krinke
2007-05-02 10:43                         ` Clemens Koller
2007-10-13 13:52                         ` Vitaly Bordug
2007-04-30 14:32                 ` How do external irq's get mapped? Charles Krinke
2007-05-01  0:22                   ` Andy Fleming
2007-05-01 23:11                     ` Charles Krinke
2007-05-02 18:42                       ` Andy Fleming
2007-05-02 22:11                         ` Charles Krinke
2007-05-02 22:43                           ` Andy Fleming
2007-05-03 20:19                             ` Charles Krinke

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=9F3F0A752CAEBE4FA7E906CC2FBFF57C06A1ED@MERCURY.inside.istor.com \
    --to=ckrinke@istor.com \
    --cc=ccarlson@istor.com \
    --cc=ksmith@istor.com \
    --cc=linuxppc-embedded@ozlabs.org \
    --cc=rbrown@istor.com \
    --cc=vahidf@istor.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 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.