diff options
Diffstat (limited to 'util/romcc/tests/simple_test45.c')
-rw-r--r-- | util/romcc/tests/simple_test45.c | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/util/romcc/tests/simple_test45.c b/util/romcc/tests/simple_test45.c new file mode 100644 index 0000000000..beb041708c --- /dev/null +++ b/util/romcc/tests/simple_test45.c @@ -0,0 +1,41 @@ +static void spd_set_memclk(void) +{ + unsigned min_cycle_time; + unsigned device; + int new_cycle_time, new_latency; + int index; + int latency; + + min_cycle_time = 0x50; + device = 0x50; + new_cycle_time = 0xa0; + new_latency = 5; + + + latency = 0; + for(index = 0; index < 3; index++, latency++) { + unsigned long loops; + loops = 1000000; + do { + unsigned short val; + val = __builtin_inw(0x10e0); + } while(--loops); + if (!loops) { + continue; + } + + __builtin_outb(device, 0xe4); + __builtin_outb(index, 0xe8); + + loops = 1000000; + while(--loops) + ; + } + if (new_latency > 4){ + return; + } + + if (new_cycle_time > min_cycle_time) { + min_cycle_time = new_cycle_time; + } +} |