[bug 667] Fix the notorious "No space for Tx" bug.
[linux-2.6] / arch / ppc / syslib / ibm440gx_common.h
1 /*
2  * arch/ppc/kernel/ibm440gx_common.h
3  *
4  * PPC440GX system library
5  *
6  * Eugene Surovegin <eugene.surovegin@zultys.com> or <ebs@ebshome.net>
7  * Copyright (c) 2003, 2004 Zultys Technologies
8  *
9  * This program is free software; you can redistribute  it and/or modify it
10  * under  the terms of  the GNU General  Public License as published by the
11  * Free Software Foundation;  either version 2 of the  License, or (at your
12  * option) any later version.
13  *
14  */
15 #ifdef __KERNEL__
16 #ifndef __PPC_SYSLIB_IBM440GX_COMMON_H
17 #define __PPC_SYSLIB_IBM440GX_COMMON_H
18
19 #ifndef __ASSEMBLY__
20
21 #include <linux/config.h>
22 #include <linux/init.h>
23 #include <linux/seq_file.h>
24 #include <syslib/ibm44x_common.h>
25
26 /*
27  * Please, refer to the Figure 14.1 in 440GX user manual
28  *
29  * if internal UART clock is used, ser_clk is ignored
30  */
31 void ibm440gx_get_clocks(struct ibm44x_clocks*, unsigned int sys_clk,
32         unsigned int ser_clk) __init;
33
34 /* Enable L2 cache */
35 void ibm440gx_l2c_enable(void) __init;
36
37 /* Disable L2 cache */
38 void ibm440gx_l2c_disable(void) __init;
39
40 /* Enable/disable L2 cache for a particular chip revision */
41 void ibm440gx_l2c_setup(struct ibm44x_clocks*) __init;
42
43 /* Get Ethernet Group */
44 int ibm440gx_get_eth_grp(void) __init;
45
46 /* Set Ethernet Group */
47 void ibm440gx_set_eth_grp(int group) __init;
48
49 /* Enable TAH devices */
50 void ibm440gx_tah_enable(void) __init;
51
52 /* Add L2C info to /proc/cpuinfo */
53 int ibm440gx_show_cpuinfo(struct seq_file*);
54
55 #endif /* __ASSEMBLY__ */
56 #endif /* __PPC_SYSLIB_IBM440GX_COMMON_H */
57 #endif /* __KERNEL__ */