RLTK8139 interrupt priority patch

Andrew Lunn andrew@lunn.ch
Fri Dec 2 19:35:00 GMT 2005


On Fri, Nov 25, 2005 at 01:55:10PM +0900, Hajime Ishitani wrote:
> Hello
> 
> When I used an IRL level in SH4, interrupt is not called for ever if
> a level was zero.  This patch can change priority sequence by
> private variable.  An initial value is set in 0 with a compiler.
> When a change is necessary, a developer initializes this variable.

Thanks. I committed this patch. I also fixed the compiler warning and
fix the compiler error with the dreamcast driver.

        Andrew
-------------- next part --------------
Index: devs/eth/rltk/8139/current/ChangeLog
===================================================================
RCS file: /cvs/ecos/ecos/packages/devs/eth/rltk/8139/current/ChangeLog,v
retrieving revision 1.5
diff -u -r1.5 ChangeLog
--- devs/eth/rltk/8139/current/ChangeLog	4 Mar 2005 19:51:12 -0000	1.5
+++ devs/eth/rltk/8139/current/ChangeLog	2 Dec 2005 19:32:59 -0000
@@ -1,3 +1,13 @@
+2005-12-02  Andrew Lunn  <andrew.lunn@ascom.ch>
+
+	* src/if_8139.c (rltk8139_deliver): Fix the compiler warnings by
+	adding some casts.
+
+2005-11-25  Hajime Ishitani <pigmon@mail.snd.co.jp>
+
+	* src/if_8139.h:
+	* src/if_8139.c: Added a priority level field
+
 2005-03-03  Bob Koninckx <bob.koninckx@fmtc.be>
 
 	* src/if_8139.c: fixed bug that prevented rltk8139_find to find
Index: devs/eth/rltk/8139/current/src/if_8139.c
===================================================================
RCS file: /cvs/ecos/ecos/packages/devs/eth/rltk/8139/current/src/if_8139.c,v
retrieving revision 1.5
diff -u -r1.5 if_8139.c
--- devs/eth/rltk/8139/current/src/if_8139.c	4 Mar 2005 19:51:12 -0000	1.5
+++ devs/eth/rltk/8139/current/src/if_8139.c	2 Dec 2005 19:33:02 -0000
@@ -346,7 +346,8 @@
      * Note that we use the generic eth_drv_dsr routine instead of
      * our own.
      */
-    cyg_drv_interrupt_create(rltk8139_info->vector, 0,
+    cyg_drv_interrupt_create(rltk8139_info->vector,
+                             rltk8139_info->isr_priority,
                              (CYG_ADDRWORD)sc,
                              rltk8139_isr,
                              eth_drv_dsr,
@@ -936,8 +937,8 @@
    * this happens so seldomly that it's simply not worth the extra
    * runtime check.
    */
-  tx_buffer = CYGARC_UNCACHED_ADDRESS(rltk8139_info->tx_buffer
-                                      + TX_BUF_SIZE * desc);
+  tx_buffer = (cyg_uint8 *)CYGARC_UNCACHED_ADDRESS(rltk8139_info->tx_buffer
+                                                   + TX_BUF_SIZE * desc);
   rltk8139_info->tx_desc_key[desc] = key;
 
   /*
@@ -1201,7 +1202,9 @@
          * doesn't have to redetermine this information. Then, inform
          * the generic ethernet driver about the packet.
          */
-        rltk8139_info->rx_current = CYGARC_UNCACHED_ADDRESS(rltk8139_info->rx_ring + rx_pos + 4);
+        rltk8139_info->rx_current = 
+          (cyg_uint8 *)CYGARC_UNCACHED_ADDRESS(rltk8139_info->rx_ring + 
+                                               rx_pos + 4);
         rltk8139_info->rx_size = length;
 
         /* Tell eCos about the packet */
Index: devs/eth/rltk/8139/current/src/if_8139.h
===================================================================
RCS file: /cvs/ecos/ecos/packages/devs/eth/rltk/8139/current/src/if_8139.h,v
retrieving revision 1.1
diff -u -r1.1 if_8139.h
--- devs/eth/rltk/8139/current/src/if_8139.h	13 Nov 2003 13:39:08 -0000	1.1
+++ devs/eth/rltk/8139/current/src/if_8139.h	2 Dec 2005 19:33:02 -0000
@@ -149,6 +149,10 @@
   cyg_vector_t  vector;
   cyg_handle_t  interrupt_handle;
   cyg_interrupt interrupt;
+
+  /* device ISR priority */
+  cyg_priority_t isr_priority;
+
 } Rltk8139_t;
 
 
Index: devs/eth/sh/dreamcast/current/ChangeLog
===================================================================
RCS file: /cvs/ecos/ecos/packages/devs/eth/sh/dreamcast/current/ChangeLog,v
retrieving revision 1.1
diff -u -r1.1 ChangeLog
--- devs/eth/sh/dreamcast/current/ChangeLog	29 Apr 2004 04:11:26 -0000	1.1
+++ devs/eth/sh/dreamcast/current/ChangeLog	2 Dec 2005 19:33:02 -0000
@@ -1,3 +1,8 @@
+2005-12-02  Andrew Lunn  <andrew.lunn@ascom.ch>
+
+	* cdl/sh_dreamcast_rltk8139_eth_drivers.cdl: Add compiler
+	flags "-D_KERNEL -D__ECOS" so the code compiles.
+
 2004-04-21  Yoshinori Sato <ysato@users.sourceforge.jp>
 
 	* src/if_dreamcast.c
Index: devs/eth/sh/dreamcast/current/cdl/sh_dreamcast_rltk8139_eth_drivers.cdl
===================================================================
RCS file: /cvs/ecos/ecos/packages/devs/eth/sh/dreamcast/current/cdl/sh_dreamcast_rltk8139_eth_drivers.cdl,v
retrieving revision 1.1
diff -u -r1.1 sh_dreamcast_rltk8139_eth_drivers.cdl
--- devs/eth/sh/dreamcast/current/cdl/sh_dreamcast_rltk8139_eth_drivers.cdl	29 Apr 2004 04:11:27 -0000	1.1
+++ devs/eth/sh/dreamcast/current/cdl/sh_dreamcast_rltk8139_eth_drivers.cdl	2 Dec 2005 19:33:03 -0000
@@ -86,6 +86,22 @@
                 RealTek 8139 ethernet port 0."
         }
     }
+    cdl_component CYGPKG_DEVS_ETH_SH_DREAMCAST_RLTK8139_OPTIONS {
+        display "RealTek 8139 ethernet driver build options"
+        flavor  none
+	      no_define
+
+        cdl_option CYGPKG_DEVS_ETH_SH_DREAMCAST_RLTK8139_CFLAGS_ADD {
+            display "Additional compiler flags"
+            flavor  data
+            no_define
+            default_value { "-D_KERNEL -D__ECOS" }
+            description   "
+                This option modifies the set of compiler flags for
+                building the RealTek 8139 ethernet driver package. These
+                flags are used in addition to the set of global flags."
+        }
+    }
 }
 
 # EOF sh_dreamcast_rltk8139_eth_drivers.cdl


More information about the Ecos-patches mailing list