Главная страница


ru.linux

 
 - RU.LINUX ---------------------------------------------------------------------
 From : Kuzewanow Igor                       2:5024/11      07 Sep 2001  13:47:55
 To : All
 Subject : Re: Проблема с RS-232
 -------------------------------------------------------------------------------- 
 
 
 Serguei A. Vorobiev <ven@tlt.ru> пишет в
 сообщении:9n6uik$d2l$1@ladem.tlt.ru...
 
 > Если порты на одном прерывании и на физически разных платах - это не
 
 поможет
 
 > Связано с ограничениями шины ISA.
 
                                                               ^^^^ ISA здесь
 совсем не причем ;-)
                      здесь вессь вопрос в том умеет ли драйвер проверять от
 какой платы пришло прерывание.
 
 Вот serial.c из исходников драйвера с вами не согласен ;-)  :
 Процедура обработки прерывания проверяет все порты связанные с
 соответствующим IRQ.
 
 /*
  *  linux/drivers/char/serial.c
  *
 [поскипано...]
 
 #ifdef CONFIG_SERIAL_SHARE_IRQ
 /*
  * This is the serial driver's generic interrupt routine
  */
 static void rs_interrupt(int irq, void *dev_id, struct pt_regs * regs)
 {
 
 [Опять поскипано...]
 
  info = IRQ_ports[irq];
  if (!info)
   return;
 
 [Опять поскипано...]
 
  do {
    if (!info->tty || (serial_in(info, UART_IIR) & UART_IIR_NO_INT)) {
      if (!end_mark)
      end_mark = info;
     goto next;
    }
   end_mark = 0;
 
   info->last_active = jiffies;
 
   status = serial_inp(info, UART_LSR);
 #ifdef SERIAL_DEBUG_INTR
   printk("status = %x...", status);
 #endif
   if (status & UART_LSR_DR)
    receive_chars(info, &status, regs);
   check_modem_status(info);
   if (status & UART_LSR_THRE)
    transmit_chars(info, 0);
 
  next:
   info = info->next_port;
   if (!info) {
    info = IRQ_ports[irq];
    if (pass_counter++ > RS_ISR_PASS_LIMIT) {
 #if 0
     printk("rs loop break\n");
 #endif
     break;  /* Prevent infinite loops */
    }
    continue;
   }
  } while (end_mark != info);
 --- Microsoft Outlook Express 5.00.2615.200
  * Origin: Organika (2:5024/11.0)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: Проблема с RS-232   Kuzewanow Igor   07 Sep 2001 13:47:55 
 Re: Проблема с RS-232   Sergey Shibeko   08 Sep 2001 20:38:02 
 Re: Проблема с RS-232   Kuzewanow Igor   10 Sep 2001 09:26:25 
Архивное /ru.linux/30687ec780523.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional