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