All of lore.kernel.org
 help / color / mirror / Atom feed
* [Xenomai-help] Kernel functions
@ 2008-03-17 14:07 Bosko Radivojevic
  2008-03-17 14:27 ` Philippe Gerum
  0 siblings, 1 reply; 3+ messages in thread
From: Bosko Radivojevic @ 2008-03-17 14:07 UTC (permalink / raw)
  To: philippe.gerum; +Cc: xenomai-help

Hi Philippe,

is the usage of __raw_writel(), dma_map_single() and simillar
functions "allowed" in native skin?

Kind regards,
Bosko


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

* Re: [Xenomai-help] Kernel functions
  2008-03-17 14:07 [Xenomai-help] Kernel functions Bosko Radivojevic
@ 2008-03-17 14:27 ` Philippe Gerum
  2008-03-17 15:19   ` Bosko Radivojevic
  0 siblings, 1 reply; 3+ messages in thread
From: Philippe Gerum @ 2008-03-17 14:27 UTC (permalink / raw)
  To: Bosko Radivojevic; +Cc: xenomai-help

Bosko Radivojevic wrote:
> Hi Philippe,
> 
> is the usage of __raw_writel(), dma_map_single() and simillar
> functions "allowed" in native skin?
> 

I'm assuming you mean "real-time mode". __raw_write routines should always be
ok, but dma_map_single() has an arch-dependent implementation. I would be ok to
call it on Blackfin from a real-time (i.e. non plain Linux) context, but this
would break on ARM.

The rule of thumb is that a Linux service may be called from a co-kernel context
only if it does not depend on:
- regular interrupt control ops (local_irq_*)
- regular spin locks (spin_*)

Which leaves very few candidates, actually.

E.g. dma_map_single() on ARM may invoke kmalloc(), which would break all the
assumptions above.

> Kind regards,
> Bosko
> 


-- 
Philippe.


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

* Re: [Xenomai-help] Kernel functions
  2008-03-17 14:27 ` Philippe Gerum
@ 2008-03-17 15:19   ` Bosko Radivojevic
  0 siblings, 0 replies; 3+ messages in thread
From: Bosko Radivojevic @ 2008-03-17 15:19 UTC (permalink / raw)
  To: rpm; +Cc: xenomai-help

[ I'm a little bit new to the whole Xenomai/Adeos thing, so maybe
asking bullshit :) ]

On Mon, Mar 17, 2008 at 3:27 PM, Philippe Gerum <rpm@xenomai.org> wrote:

>  I'm assuming you mean "real-time mode". __raw_write routines should always be
>  ok, but dma_map_single() has an arch-dependent implementation. I would be ok to
>  call it on Blackfin from a real-time (i.e. non plain Linux) context, but this
>  would break on ARM.

Is there any "proposed" method of communication with hw directly from
real-time mode (native skin, meaning as a kernel module)? I've
modified macb eth driver for the 'special purpose use', I don't need
it as an Linux Ethernet device. That is the reason why asking for
dma_map_single (I need the "real" memory address to put in tx_ring).

If there is some document covering my problem, please send me link to it.

Thanks,
Bosko


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

end of thread, other threads:[~2008-03-17 15:19 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-03-17 14:07 [Xenomai-help] Kernel functions Bosko Radivojevic
2008-03-17 14:27 ` Philippe Gerum
2008-03-17 15:19   ` Bosko Radivojevic

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.