All of lore.kernel.org
 help / color / mirror / Atom feed
From: Anders Blomdell <anders.blomdell@domain.hid>
To: Jan Kiszka <jan.kiszka@domain.hid>
Cc: xenomai-help <xenomai@xenomai.org>
Subject: Re: [Xenomai-help] xeno_16550A and multiple channels
Date: Tue, 15 Apr 2008 19:23:41 +0200	[thread overview]
Message-ID: <4804E49D.1090602@domain.hid> (raw)
In-Reply-To: <4804C64A.4030102@domain.hid>

Jan Kiszka wrote:
> Anders Blomdell wrote:
>> With a PCI multiport I/O-card, configured with:
>>
>>   modprobe xeno_16550A.ko io=0xd400,0xd080 irq=5,5
>>
>> I can't get cross-link to work. This is what I get:
>>
>>   main : write-file opened
>>   main : write-config written
>>   main : can't open rtser1 (read), Device or resource busy
>>   main : rtser0 (write) -> closed
>>
>> The reason is that the second call (xeno_16550A.c) to:
>>
>>   err = rtdm_irq_request(&ctx->irq_handle, irq[dev_id],
>> 			 rt_16550_interrupt,
>> 			 RTDM_IRQTYPE_SHARED | RTDM_IRQTYPE_EDGE,
>> 			 context->device->proc_name, ctx);
>>
>> returns -16.
>>
>> This somehow makes sense since rtser0 and rtser1 uses the same interrupt, but
>> having multiple channels sharing the same interrupt seems to be a valid usecase
>> according to http://www.xenomai.org/index.php/16550A.
>>
>> Kernel version is 2.6.24.3 and Xenomai version is 2.4.2.
>>
>> Any ideas of what might be wrong?
> 
> CONFIG_XENO_OPT_SHIRQ?

Right, I had forgot to set:

  CONFIG_XENO_OPT_SHIRQ=y

How about a printk to warn if it's not enabled?

static inline int xnintr_irq_attach(xnintr_t *intr)
{
  if (intr->flags & XN_ISR_SHARED) {
    printk(KERN_WARNING "CONFIG_XENO_OPT_SHIRQ not set\n")
  }

  return xnarch_hook_irq(intr->irq, &xnintr_irq_handler, intr->iack, intr);
}

To give bummers like me a hint of what might be wrong.

Thanks

Anders

-- 
Anders Blomdell                  Email: anders.blomdell@domain.hid
Department of Automatic Control
Lund University                  Phone:    +46 46 222 4625
P.O. Box 118                     Fax:      +46 46 138118
SE-221 00 Lund, Sweden


      reply	other threads:[~2008-04-15 17:23 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-04-11 19:11 [Xenomai-help] waiting for multiple hardware interrupts Tomas Kalibera
2008-04-12 14:06 ` Gilles Chanteperdrix
2008-04-12 16:08   ` Tomas Kalibera
2008-04-12 17:05     ` Gilles Chanteperdrix
2008-04-15 14:45   ` [Xenomai-help] xeno_16550A and multiple channels Anders Blomdell
2008-04-15 15:14     ` Jan Kiszka
2008-04-15 17:23       ` Anders Blomdell [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=4804E49D.1090602@domain.hid \
    --to=anders.blomdell@domain.hid \
    --cc=jan.kiszka@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.