All of lore.kernel.org
 help / color / mirror / Atom feed
From: slapdau@yahoo.com.au (Craig McGeachie)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] irq: bcm2835: Re-implement the hardware IRQ handler.
Date: Sat, 05 Oct 2013 15:19:00 +1300	[thread overview]
Message-ID: <524F7714.3070502@yahoo.com.au> (raw)
In-Reply-To: <524B8117.9070309@wwwdotorg.org>

On 10/02/2013 03:12 PM, Stephen Warren wrote:
> I do agree that it's likely best if the driver processes interrupts in
> the priority order that the HW designers came up with. So, I'm open to
> that change. This might make a difference to some time-critical
> shortcuts like the PCM (audio) interrupt.

FIQ would definitely make a difference.  I've tried playing audio out of 
the 3.5mm audio jack.  It sounds rubbish.  I think the issue might be 
the same as the one for getting decent PWM wave forms [1,2].  I found 
the links while researching how to implement FIQ support. 
Interestingly, a PWM driver is also a good candidate for FIQ.

Implementing FIQ was nothing like I expected, but none the less, I'm 
fairly certain that I've added FIQ support to the interrupt controller 
driver.  Other than normal interrupts seem to continue to behave well, I 
couldn't tell you how well FIQs behave.  That would require implementing 
an FIQ handler for some driver, which looks conceptually straight 
forward, but fiddly.

The implementation of an FIQ handler follow as per instruction from the 
introductory comment block in linux/arch/arm/kernel/fiq.c. The point 
about a relinquish function disabling FIQ before the next driver enables 
is important.  The interrupt controller driver only permits one FIQ 
enabled at any one time, and attempting to enable a second FIQ causes a 
kernel BUG().

I have not submitted it in the form of a patch, because I'm not sure of 
the current status of what you want changed or if you're even open to 
the possibility of changing the driver.  Still, if you're interested, 
you can always have a look at it here [3].

Cheers,
Craig.

[1] http://free-electrons.com/blog/fiq-handlers-in-the-arm-linux-kernel/
[2] http://elinux.org/images/2/27/0910-elce-fiq.pdf
[3] 
https://github.com/rickytarr/linux/blob/topic/interrupt/drivers/irqchip/irq-bcm2835.c

      parent reply	other threads:[~2013-10-05  2:19 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1379751251-2799-1-git-send-email-slapdau@yahoo.com.au>
     [not found] ` <1379755112-19446-1-git-send-email-slapdau@yahoo.com.au>
2013-09-24  3:38   ` [PATCH] irq: bcm2835: Re-implement the hardware IRQ handler Stephen Warren
2013-09-24  8:09     ` Craig McGeachie
2013-10-02  2:01       ` Stephen Warren
2013-10-02  6:31         ` Craig McGeachie
2013-10-04  9:40         ` Craig McGeachie
2013-09-25  6:00     ` Craig McGeachie
2013-10-02  2:04       ` Stephen Warren
2013-10-02  7:25         ` Craig McGeachie
2013-09-27  9:57   ` [PATCH v3] irq: bmc2835: " Craig McGeachie
2013-10-02  2:23     ` Stephen Warren
2013-10-02  8:51       ` Craig McGeachie
     [not found] ` <5e0b6222e8648fb0c63aa649ee70b29d11f4924f@8b5064a13e22126c1b9329f0dc35b8915774b7c3.invalid>
2013-09-26  8:19   ` [PATCH] irq: bcm2835: " Craig McGeachie
2013-09-26 11:28     ` Simon Arlott
2013-10-02  2:12     ` Stephen Warren
2013-10-02  7:35       ` Craig McGeachie
2013-10-05  2:19       ` Craig McGeachie [this message]

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=524F7714.3070502@yahoo.com.au \
    --to=slapdau@yahoo.com.au \
    --cc=linux-arm-kernel@lists.infradead.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.