added spin-up delay
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@1429 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
This commit is contained in:
parent
115bd0549b
commit
317cde826d
|
@ -2,6 +2,7 @@
|
||||||
#include <fs/fs.h>
|
#include <fs/fs.h>
|
||||||
#include <arch/io.h>
|
#include <arch/io.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
#include <delay.h>
|
||||||
#include <pc80/ide.h>
|
#include <pc80/ide.h>
|
||||||
#include <arch/byteorder.h>
|
#include <arch/byteorder.h>
|
||||||
|
|
||||||
|
@ -229,7 +230,7 @@ static int parse_device_name(const char *name, int *type, int *drive,
|
||||||
|
|
||||||
int devopen(const char *name, int *reopen)
|
int devopen(const char *name, int *reopen)
|
||||||
{
|
{
|
||||||
int type, drive, part;
|
int type, drive, part, i;
|
||||||
uint64_t offset, length;
|
uint64_t offset, length;
|
||||||
uint32_t disk_size = 0;
|
uint32_t disk_size = 0;
|
||||||
|
|
||||||
|
@ -258,6 +259,15 @@ int devopen(const char *name, int *reopen)
|
||||||
|
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case DISK_IDE:
|
case DISK_IDE:
|
||||||
|
printk_debug ("Trying polled ide\n");
|
||||||
|
printk_debug ("Waiting for ide disks to spin up\n");
|
||||||
|
printk_notice ("This is a hard coded delay and longer than necessary.\n");
|
||||||
|
for (i = 0; i < 2; i++) {
|
||||||
|
printk_notice (".");
|
||||||
|
delay(1);
|
||||||
|
}
|
||||||
|
printk_info ("\n");
|
||||||
|
|
||||||
if (ide_probe(drive) != 0) {
|
if (ide_probe(drive) != 0) {
|
||||||
printk_debug("failed to open ide\n");
|
printk_debug("failed to open ide\n");
|
||||||
return 0;
|
return 0;
|
||||||
|
|
Loading…
Reference in New Issue