This source file includes following definitions.
- tune_qd6580
- init_qd6580
1
2
3
4
5
6
7
8
9
10
11
12 #undef REALLY_SLOW_IO
13
14 #include <linux/types.h>
15 #include <linux/kernel.h>
16 #include <linux/delay.h>
17 #include <linux/timer.h>
18 #include <linux/mm.h>
19 #include <linux/ioport.h>
20 #include <linux/blkdev.h>
21 #include <linux/hdreg.h>
22 #include <asm/io.h>
23 #include "ide.h"
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42 static void tune_qd6580 (ide_drive_t *drive, byte pio)
43 {
44 unsigned long flags;
45
46 if (pio == 255) {
47 struct hd_driveid *id = drive->id;
48 pio = id->tPIO;
49 if ((id->field_valid & 0x02) && (id->eide_pio_modes & 0x03))
50 pio = 3;
51 }
52 pio++;
53
54 save_flags(flags);
55 cli();
56 outb_p(0x8d,0xb0);
57 outb_p(0x0 ,0xb2);
58 outb_p((pio<<4)|0x0f,0xb3);
59 inb(0x3f6);
60 restore_flags(flags);
61 }
62
63 void init_qd6580 (void)
64 {
65 ide_hwifs[0].chipset = ide_qd6580;
66 ide_hwifs[0].tuneproc = &tune_qd6580;
67 }