All of lore.kernel.org
 help / color / mirror / Atom feed
* Anyone implement Cortex A9 FIQ
@ 2013-03-15  7:38 Frank Li
  2013-03-15 10:46 ` Jonathan Austin
  0 siblings, 1 reply; 7+ messages in thread
From: Frank Li @ 2013-03-15  7:38 UTC (permalink / raw)
  To: linux-arm-kernel

All:
            Recently, we need real time work run in cortex A9.
            Did anyone use FIQ on Cortex A9?

best regards
Frank Li

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Anyone implement Cortex A9 FIQ
  2013-03-15  7:38 Anyone implement Cortex A9 FIQ Frank Li
@ 2013-03-15 10:46 ` Jonathan Austin
  2013-03-17  1:15   ` Frank Li
  0 siblings, 1 reply; 7+ messages in thread
From: Jonathan Austin @ 2013-03-15 10:46 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Frank,

On 15/03/13 07:38, Frank Li wrote:
> All:
>              Recently, we need real time work run in cortex A9.
>              Did anyone use FIQ on Cortex A9?
>

What are you actually trying to do? There's quite a lot more complexity 
to being able to do real-time work on an A-class processor than just 
using FIQ, and much of that would be platform specific. For example on 
ARMv7A, we generally can't assume that FIQ can be used by the non-secure 
world...


Jonny

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Anyone implement Cortex A9 FIQ
  2013-03-15 10:46 ` Jonathan Austin
@ 2013-03-17  1:15   ` Frank Li
  2013-03-18 19:02     ` Jonathan Austin
  0 siblings, 1 reply; 7+ messages in thread
From: Frank Li @ 2013-03-17  1:15 UTC (permalink / raw)
  To: linux-arm-kernel

2013/3/15 Jonathan Austin <jonathan.austin@arm.com>:
> Hi Frank,
>
>
> On 15/03/13 07:38, Frank Li wrote:
>>
>> All:
>>              Recently, we need real time work run in cortex A9.
>>              Did anyone use FIQ on Cortex A9?
>>
>
> What are you actually trying to do? There's quite a lot more complexity to
> being able to do real-time work on an A-class processor than just using FIQ,
> and much of that would be platform specific. For example on ARMv7A, we
> generally can't assume that FIQ can be used by the non-secure world...

There are period task run every 125us.
Task is quick simply, just put virtual multi DMA queue to real DMA queue.
Small memory copy and set some hardware register.


>
>
> Jonny
>

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Anyone implement Cortex A9 FIQ
  2013-03-17  1:15   ` Frank Li
@ 2013-03-18 19:02     ` Jonathan Austin
  2013-03-19  7:49       ` Frank Li
  0 siblings, 1 reply; 7+ messages in thread
From: Jonathan Austin @ 2013-03-18 19:02 UTC (permalink / raw)
  To: linux-arm-kernel

On 17/03/13 01:15, Frank Li wrote:
> 2013/3/15 Jonathan Austin <jonathan.austin@arm.com>:
>> Hi Frank,
>>
>>
>> On 15/03/13 07:38, Frank Li wrote:
>>>
>>> All:
>>>               Recently, we need real time work run in cortex A9.
>>>               Did anyone use FIQ on Cortex A9?
>>>
>>
>> What are you actually trying to do? There's quite a lot more complexity to
>> being able to do real-time work on an A-class processor than just using FIQ,
>> and much of that would be platform specific. For example on ARMv7A, we
>> generally can't assume that FIQ can be used by the non-secure world...
>
> There are period task run every 125us.
> Task is quick simply, just put virtual multi DMA queue to real DMA queue.
> Small memory copy and set some hardware register.
>

Whether this is feasible will really depend on what platform you're on - 
if there's a secure monitor then FIQs are out of the question anyway. 
Can you tell us more about the system?

If your average interrupt latency is low then you should just be able to 
do this with normal IRQs (have you got threaded interrupt handlers?)

What is it about the situation that leads you to believe that you *need* 
FIQ?

Jonny

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Anyone implement Cortex A9 FIQ
  2013-03-18 19:02     ` Jonathan Austin
@ 2013-03-19  7:49       ` Frank Li
  2013-04-08 16:28         ` Dave Martin
  0 siblings, 1 reply; 7+ messages in thread
From: Frank Li @ 2013-03-19  7:49 UTC (permalink / raw)
  To: linux-arm-kernel

>
> Whether this is feasible will really depend on what platform you're on - if
> there's a secure monitor then FIQs are out of the question anyway. Can you
> tell us more about the system?

Freescale MX6Q.

>
> If your average interrupt latency is low then you should just be able to do
> this with normal IRQs (have you got threaded interrupt handlers?)

Not all drivers use threaded interrupt handler.

>
> What is it about the situation that leads you to believe that you *need*
> FIQ?

FIQ can be executed even in spin_lock_saveirq.
We want do very small hardware set at related precision period (every 125us).

>
> Jonny
>
>
>

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Anyone implement Cortex A9 FIQ
  2013-03-19  7:49       ` Frank Li
@ 2013-04-08 16:28         ` Dave Martin
       [not found]           ` <CAHrpEqR35v76qif0wP=1SNOThLvmzpmEHcbehSNoY7-CO0CRqQ@mail.gmail.com>
  0 siblings, 1 reply; 7+ messages in thread
From: Dave Martin @ 2013-04-08 16:28 UTC (permalink / raw)
  To: linux-arm-kernel

On Tue, Mar 19, 2013 at 03:49:50PM +0800, Frank Li wrote:
> >
> > Whether this is feasible will really depend on what platform you're on - if
> > there's a secure monitor then FIQs are out of the question anyway. Can you
> > tell us more about the system?
> 
> Freescale MX6Q.
> 
> >
> > If your average interrupt latency is low then you should just be able to do
> > this with normal IRQs (have you got threaded interrupt handlers?)
> 
> Not all drivers use threaded interrupt handler.
> 
> >
> > What is it about the situation that leads you to believe that you *need*
> > FIQ?
> 
> FIQ can be executed even in spin_lock_saveirq.
> We want do very small hardware set at related precision period (every 125us).

Why is the latency requirement so tight for this one interrupt?

Cheers
---Dave

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Anyone implement Cortex A9 FIQ
       [not found]           ` <CAHrpEqR35v76qif0wP=1SNOThLvmzpmEHcbehSNoY7-CO0CRqQ@mail.gmail.com>
@ 2013-04-10 11:10             ` Dave Martin
  0 siblings, 0 replies; 7+ messages in thread
From: Dave Martin @ 2013-04-10 11:10 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, Apr 10, 2013 at 01:45:05PM +0800, Frank Li wrote:
> We already implement FIQ in our platform.
> We want to use it simulate a hardware behavior.  

OK.  If FIQ is available to you, then it should be possible to use it,
but you should avoid relying on it in production code if possible.

There is not much code in the kernel using FIQ today.  You could take
a look at soemthing like drivers/spi/spi-s3c24xx.c, for an example
of how to set up an FIQ handler.

How to route an actual hardware interrupt to FIQ is a separate question.
Depending on what is in your hardware, this may require some interrupt
controller configuration in the GIC and/or elsewhere.

I don't think the GIC support in the kernel has any support for doing
this, but I could be wrong.

Cheers
---Dave

> 
> 
> 2013/4/9 Dave Martin <dave.martin@linaro.org>
> 
>     On Tue, Mar 19, 2013 at 03:49:50PM +0800, Frank Li wrote:
>     > >
>     > > Whether this is feasible will really depend on what platform you're on
>     - if
>     > > there's a secure monitor then FIQs are out of the question anyway. Can
>     you
>     > > tell us more about the system?
>     >
>     > Freescale MX6Q.
>     >
>     > >
>     > > If your average interrupt latency is low then you should just be able
>     to do
>     > > this with normal IRQs (have you got threaded interrupt handlers?)
>     >
>     > Not all drivers use threaded interrupt handler.
>     >
>     > >
>     > > What is it about the situation that leads you to believe that you
>     *need*
>     > > FIQ?
>     >
>     > FIQ can be executed even in spin_lock_saveirq.
>     > We want do very small hardware set at related precision period (every
>     125us).
> 
>     Why is the latency requirement so tight for this one interrupt?
> 
>     Cheers
>     ---Dave
> 
> 

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2013-04-10 11:10 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-03-15  7:38 Anyone implement Cortex A9 FIQ Frank Li
2013-03-15 10:46 ` Jonathan Austin
2013-03-17  1:15   ` Frank Li
2013-03-18 19:02     ` Jonathan Austin
2013-03-19  7:49       ` Frank Li
2013-04-08 16:28         ` Dave Martin
     [not found]           ` <CAHrpEqR35v76qif0wP=1SNOThLvmzpmEHcbehSNoY7-CO0CRqQ@mail.gmail.com>
2013-04-10 11:10             ` Dave Martin

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.