--- Gnu-Mach/linux/src/drivers/block/ide.h 2020/09/02 04:41:40 1.1 +++ Gnu-Mach/linux/src/drivers/block/ide.h 2020/09/02 04:49:03 1.1.1.3 @@ -23,7 +23,7 @@ * REALLY_SLOW_IO can be defined in ide.c and ide-cd.c, if necessary */ #undef REALLY_FAST_IO /* define if ide ports are perfect */ -#define INITIAL_MULT_COUNT 0 /* off=0; on=2,4,8,16,32, etc.. */ +#define INITIAL_MULT_COUNT 16 /* off=0; on=2,4,8,16,32, etc.. */ #ifndef SUPPORT_SLOW_DATA_PORTS /* 1 to support slow data ports */ #define SUPPORT_SLOW_DATA_PORTS 1 /* 0 to reduce kernel size */ @@ -152,7 +152,8 @@ typedef unsigned char byte; /* used ever /* * Timeouts for various operations: */ -#define WAIT_DRQ (5*HZ/100) /* 50msec - spec allows up to 20ms */ +#define WAIT_DRQ (1*HZ) /* 1s - spec allows up to 20ms, but CF + * cards and SSD drives need more */ #ifdef CONFIG_APM #define WAIT_READY (5*HZ) /* 5sec - some laptops are very slow */ #else @@ -198,7 +199,7 @@ struct atapi_request_sense { }; struct packet_command { - char *buffer; + unsigned char *buffer; int buflen; int stat; struct atapi_request_sense *sense_data; @@ -343,6 +344,7 @@ typedef struct ide_drive_s { unsigned nobios : 1; /* flag: do not probe bios for drive */ unsigned slow : 1; /* flag: slow data port */ unsigned autotune : 2; /* 1=autotune, 2=noautotune, 0=default */ + unsigned nodma : 1; /* disk should not use dma for read/write */ #if FAKE_FDISK_FOR_EZDRIVE unsigned remap_0_to_1 : 1; /* flag: partitioned with ezdrive */ #endif /* FAKE_FDISK_FOR_EZDRIVE */ @@ -429,7 +431,8 @@ typedef void (ide_selectproc_t) (ide_dri typedef enum { ide_unknown, ide_generic, ide_triton, ide_cmd640, ide_dtc2278, ide_ali14xx, ide_qd6580, ide_umc8672, ide_ht6560b, - ide_promise, ide_promise_udma } + ide_promise, ide_hpt343, ide_udma, + ide_ultra66 } hwif_chipset_t; typedef struct hwif_s {