aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorMagnus Damm <damm@igel.co.jp>2008-10-09 05:41:34 -0400
committerPaul Mundt <lethal@linux-sh.org>2008-10-19 22:38:35 -0400
commita30c89ad41099f58922e0941e346e7c4371655b9 (patch)
tree14db08997fb568f02b75cab6452c9c413c54bc92 /arch
parent9a19eb2a6607f2f6329efb3c4637fe23afae2cd7 (diff)
sh: reduce Migo-R smc91x overruns
Improve Migo-R ethernet performance by reducing smc91x overruns. This is done by enabling SMC91X_NOWAIT and optimizing CS4 setup. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/sh/boards/mach-migor/setup.c6
-rw-r--r--arch/sh/include/asm/migor.h2
2 files changed, 6 insertions, 2 deletions
diff --git a/arch/sh/boards/mach-migor/setup.c b/arch/sh/boards/mach-migor/setup.c
index 003ce837734d..3e3cc9da34ad 100644
--- a/arch/sh/boards/mach-migor/setup.c
+++ b/arch/sh/boards/mach-migor/setup.c
@@ -37,7 +37,7 @@
37 */ 37 */
38 38
39static struct smc91x_platdata smc91x_info = { 39static struct smc91x_platdata smc91x_info = {
40 .flags = SMC91X_USE_16BIT, 40 .flags = SMC91X_USE_16BIT | SMC91X_NOWAIT,
41}; 41};
42 42
43static struct resource smc91x_eth_resources[] = { 43static struct resource smc91x_eth_resources[] = {
@@ -463,8 +463,10 @@ static int __init migor_devices_setup(void)
463 gpio_direction_output(GPIO_PTJ5, 1); 463 gpio_direction_output(GPIO_PTJ5, 1);
464 gpio_export(GPIO_PTJ5, 0); 464 gpio_export(GPIO_PTJ5, 0);
465 465
466 /* SMC91C111 */ 466 /* SMC91C111 - Enable IRQ0, Setup CS4 for 16-bit fast access */
467 gpio_request(GPIO_FN_IRQ0, NULL); 467 gpio_request(GPIO_FN_IRQ0, NULL);
468 ctrl_outl(0x00003400, BSC_CS4BCR);
469 ctrl_outl(0x00110080, BSC_CS4WCR);
468 470
469 /* KEYSC */ 471 /* KEYSC */
470 clk_always_enable("mstp214"); /* KEYSC */ 472 clk_always_enable("mstp214"); /* KEYSC */
diff --git a/arch/sh/include/asm/migor.h b/arch/sh/include/asm/migor.h
index 70596d38fd67..e451f0229e00 100644
--- a/arch/sh/include/asm/migor.h
+++ b/arch/sh/include/asm/migor.h
@@ -52,7 +52,9 @@
52#define PORT_HIZCRB 0xa405015a 52#define PORT_HIZCRB 0xa405015a
53#define PORT_HIZCRC 0xa405015c 53#define PORT_HIZCRC 0xa405015c
54 54
55#define BSC_CS4BCR 0xfec10010
55#define BSC_CS6ABCR 0xfec1001c 56#define BSC_CS6ABCR 0xfec1001c
57#define BSC_CS4WCR 0xfec10030
56 58
57#include <video/sh_mobile_lcdc.h> 59#include <video/sh_mobile_lcdc.h>
58 60