From: Jan Kiszka <jan.kiszka@domain.hid>
To: juanba romance <juanba.romance@domain.hid>
Cc: xenomai@xenomai.org
Subject: Re: [Xenomai-help] RTDM driver hints
Date: Mon, 30 Jul 2007 12:41:21 +0200 [thread overview]
Message-ID: <46ADC051.7020608@domain.hid> (raw)
In-Reply-To: <e39c9190707291316l237d572btd75f570d39ab75e@domain.hid>
[-- Attachment #1: Type: text/plain, Size: 2056 bytes --]
juanba romance wrote:
> Hello all, i am re-writing a old linux driver which i did myself some
> time ago, cause i am in charge to provide a RT system framework. This
> is one of the first steps so i have followed the RTDM model to do the
> stuff.
> Now i also have enough time to change its ugly capabilities/defects
> but i am a little stuck right now..
>
> I would like to improve my previous design fully buffering the
> incoming user data flow on write method so a input FIFO it's planned.
> The FIFO will be emptied using a rt-task created from the "open"
> procedure and signalled from the "write" method before the user flow
> exit. The point is:
> where the FIFO handler references should be defined ?
>
> I have take a look to the serial driver 16550 and my code is really
> biased by its data device definition strategy ( obviously this is my
> first RTDM monster ;-) and i need some guide ), instead of my
> proposal, its design empty the TX FIFO from the IRQ service stuff
> where the user context was passed as argument at the "open" call, so
> all the parts are softly linked..
>
> I would prefer to add the above program capability to avoid rewrite as
> much as possible the current ISR symbol.
> but i don't know the beast strategy to be applied to overcome the .
>
> I have pass the "context" field dev_private area pointer to the
> rt_task "by hand" but its value is really weird. Should this kind of
> information be defined globally trough the "static" stuff and pass
> this argument to the rt_task_init symbol
Before going into details on how to pass references between driver tasks
etc.:
Why do you want to establish a dedicated task for transmission? Is the
job you have to perform there too heavy for IRQ context? Keep in mind
that such a task requires additional management (assign reasonable
priorities e.g.) and adds further latencies. It's no magic bullet, but
it may be appropriate if there is actually a lot of work to do that
shall not block other, more important jobs.
Jan
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 250 bytes --]
next prev parent reply other threads:[~2007-07-30 10:41 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-07-29 20:16 [Xenomai-help] RTDM driver hints juanba romance
2007-07-30 10:41 ` Jan Kiszka [this message]
2007-07-30 13:02 ` juanba romance
2007-07-30 13:34 ` Jan Kiszka
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=46ADC051.7020608@domain.hid \
--to=jan.kiszka@domain.hid \
--cc=juanba.romance@domain.hid \
--cc=xenomai@xenomai.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.