diff options
author | Magnus Damm <damm@igel.co.jp> | 2008-10-09 05:41:34 -0400 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2008-10-19 22:38:35 -0400 |
commit | a30c89ad41099f58922e0941e346e7c4371655b9 (patch) | |
tree | 14db08997fb568f02b75cab6452c9c413c54bc92 /arch/sh | |
parent | 9a19eb2a6607f2f6329efb3c4637fe23afae2cd7 (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/sh')
-rw-r--r-- | arch/sh/boards/mach-migor/setup.c | 6 | ||||
-rw-r--r-- | arch/sh/include/asm/migor.h | 2 |
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 | ||
39 | static struct smc91x_platdata smc91x_info = { | 39 | static struct smc91x_platdata smc91x_info = { |
40 | .flags = SMC91X_USE_16BIT, | 40 | .flags = SMC91X_USE_16BIT | SMC91X_NOWAIT, |
41 | }; | 41 | }; |
42 | 42 | ||
43 | static struct resource smc91x_eth_resources[] = { | 43 | static 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 | ||