Dag Brattli <[EMAIL PROTECTED]> writes:

> Yes, I've been doing a lot of work in order to make it live happily with
> irport. Thanks to Jonathan Hudson, the driver will now probe the irq, dma,
> iobase etc to use (uses the values set by the BIOS), so you should not get
> that many conflicts as before (but you probably need to move away the
> serial driver).

> There are many bugs in the current FIR code so don't expect anything. I
> borrowed myself a Dell Latitude yesterday, so I hope to try out the FIR
> stuff today. Had to start hacking the findchip tool again since this SMC
> chipset (958) is not supported by us yet.

These changes are now pending for Linux-2.2.15-pre4:

o Timeout set to low in nsc-ircc (hardware problem?)

o Fixed a little copy/paste problem in the smc-driver and removed an #ifdef
  that I had forgot to remove.

o smc-ircc is now CONFIG_EXPERIMENTAL since it still needs some work

-- Dag

-- 
   / Dag Brattli                   | The Linux-IrDA Project               /
  // University of Tromsoe, Norway | Infrared communication for Linux    //
 /// http://www.cs.uit.no/~dagb    | http://www.cs.uit.no/linux-irda/   ///

--- linux-2.2.14/drivers/net/irda/nsc-ircc.c    Wed Jan 19 08:58:07 2000
+++ linux/drivers/net/irda/nsc-ircc.c   Wed Jan 19 08:59:16 2000
@@ -6,7 +6,7 @@
  * Status:        Stable.
  * Author:        Dag Brattli <[EMAIL PROTECTED]>
  * Created at:    Sat Nov  7 21:43:15 1998
- * Modified at:   Mon Jan 17 11:19:15 2000
+ * Modified at:   Wed Jan 19 08:59:16 2000
  * Modified by:   Dag Brattli <[EMAIL PROTECTED]>
  * 
  *     Copyright (c) 1998-2000 Dag Brattli <[EMAIL PROTECTED]>
@@ -1673,12 +1673,11 @@ static void nsc_ircc_fir_interrupt(struc
                         * timer value, resolution 125 us 
                         */
                        switch_bank(iobase, BANK4);
-                       outb(0x01, iobase+TMRL); /* 125 us */
+                       outb(0x02, iobase+TMRL); /* 2 * 125 us */
                        outb(0x00, iobase+TMRH);
 
                        /* Start timer */
                        outb(IRCR1_TMR_EN, iobase+IRCR1);
-
                        self->ier = IER_TMR_IE;
                }
        } else if (eir & EIR_TMR_EV) { /* Timer finished */
--- linux-2.2.14/drivers/net/irda/smc-ircc.c    Wed Jan 19 08:58:07 2000
+++ linux/drivers/net/irda/smc-ircc.c   Wed Jan 19 08:57:23 2000
@@ -6,7 +6,7 @@
  * Status:        Experimental.
  * Author:        Thomas Davis ([EMAIL PROTECTED])
  * Created at:    
- * Modified at:   Fri Jan 14 15:39:14 2000
+ * Modified at:   Wed Jan 19 08:57:23 2000
  * Modified by:   Dag Brattli <[EMAIL PROTECTED]>
  * 
  *     Copyright (c) 1999-2000 Dag Brattli
@@ -489,7 +489,7 @@ static void ircc_change_speed(void *priv
                irport_change_speed(self->irport, speed);
        }       
        dev->tbusy = 0;
-#if 0  
+
        register_bank(iobase, 1);
        outb(((inb(iobase+IRCC_SCE_CFGA) & 0x87) | ir_mode), 
             iobase+IRCC_SCE_CFGA);
@@ -509,7 +509,6 @@ static void ircc_change_speed(void *priv
        
        register_bank(iobase, 0);
        outb(fast, iobase+IRCC_LCR_A);
-#endif
 }
 
 /*
@@ -964,7 +963,7 @@ static int ircc_apmproc(apm_event_t even
                if (!down) {                    
                        for (i=0; i<4; i++) {
                                if (dev_self[i])
-                                       nsc_ircc_suspend(dev_self[i]);
+                                       ircc_suspend(dev_self[i]);
                        }
                }
                down = 1;
@@ -974,7 +973,7 @@ static int ircc_apmproc(apm_event_t even
                if (down) {
                        for (i=0; i<4; i++) {
                                if (dev_self[i])
-                                       nsc_ircc_wakeup(dev_self[i]);
+                                       ircc_wakeup(dev_self[i]);
                        }
                }
                down = 0;
--- linux-2.2.14/drivers/net/irda/Config.in     Wed Jan 19 08:58:07 2000
+++ linux/drivers/net/irda/Config.in    Wed Jan 19 08:54:08 2000
@@ -9,7 +9,9 @@ comment 'FIR device drivers'
 dep_tristate 'NSC PC87108/PC87338' CONFIG_NSC_FIR  $CONFIG_IRDA
 dep_tristate 'Winbond W83977AF (IR)' CONFIG_WINBOND_FIR $CONFIG_IRDA
 dep_tristate 'Toshiba Type-O IR Port' CONFIG_TOSHIBA_FIR $CONFIG_IRDA
-dep_tristate 'SMC IrCC' CONFIG_SMC_IRCC_FIR $CONFIG_IRDA
+if [ "$CONFIG_EXPERIMENTAL" != "n" ]; then
+dep_tristate 'SMC IrCC (Experimental)' CONFIG_SMC_IRCC_FIR $CONFIG_IRDA
+fi
 
 comment 'Dongle support' 
 bool 'Serial dongle support' CONFIG_DONGLE

_______________________________________________
Linux-IrDA mailing list  -  [EMAIL PROTECTED]
http://www4.pasta.cs.UiT.No/mailman/listinfo/linux-irda

Reply via email to