Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 57327
Collapse All | Expand All

(-)/usr/src/linux-2.6.7-gentoo-r11/drivers/scsi/ata_piix.c (-13 / +22 lines)
Lines 57-62 Link Here
57
	ich5_pata		= 0,
57
	ich5_pata		= 0,
58
	ich5_sata		= 1,
58
	ich5_sata		= 1,
59
	piix4_pata		= 2,
59
	piix4_pata		= 2,
60
	ich6_sata		= 3,
60
};
61
};
61
62
62
static int piix_init_one (struct pci_dev *pdev,
63
static int piix_init_one (struct pci_dev *pdev,
Lines 91-100 Link Here
91
	 * and enhanced mode, with queueing and other fancy stuff.
92
	 * and enhanced mode, with queueing and other fancy stuff.
92
	 * This is distinguished by PCI class code.
93
	 * This is distinguished by PCI class code.
93
	 */
94
	 */
94
	{ 0x8086, 0x2651, PCI_ANY_ID, PCI_ANY_ID,
95
	{ 0x8086, 0x2651, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich6_sata },
95
	  PCI_CLASS_STORAGE_IDE << 8, 0xffff00, ich5_sata },
96
	{ 0x8086, 0x2652, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich6_sata },
96
	{ 0x8086, 0x2652, PCI_ANY_ID, PCI_ANY_ID,
97
	  PCI_CLASS_STORAGE_IDE << 8, 0xffff00, ich5_sata },
98
97
99
	{ }	/* terminate list */
98
	{ }	/* terminate list */
100
};
99
};
Lines 138-147 Link Here
138
137
139
	.bmdma_setup		= ata_bmdma_setup_pio,
138
	.bmdma_setup		= ata_bmdma_setup_pio,
140
	.bmdma_start		= ata_bmdma_start_pio,
139
	.bmdma_start		= ata_bmdma_start_pio,
141
	.fill_sg		= ata_fill_sg,
140
	.qc_prep		= ata_qc_prep,
141
	.qc_issue		= ata_qc_issue_prot,
142
142
	.eng_timeout		= ata_eng_timeout,
143
	.eng_timeout		= ata_eng_timeout,
143
144
144
	.irq_handler		= ata_interrupt,
145
	.irq_handler		= ata_interrupt,
146
	.irq_clear		= ata_bmdma_irq_clear,
145
147
146
	.port_start		= ata_port_start,
148
	.port_start		= ata_port_start,
147
	.port_stop		= ata_port_stop,
149
	.port_stop		= ata_port_stop,
Lines 161-170 Link Here
161
163
162
	.bmdma_setup		= ata_bmdma_setup_pio,
164
	.bmdma_setup		= ata_bmdma_setup_pio,
163
	.bmdma_start		= ata_bmdma_start_pio,
165
	.bmdma_start		= ata_bmdma_start_pio,
164
	.fill_sg		= ata_fill_sg,
166
	.qc_prep		= ata_qc_prep,
167
	.qc_issue		= ata_qc_issue_prot,
168
165
	.eng_timeout		= ata_eng_timeout,
169
	.eng_timeout		= ata_eng_timeout,
166
170
167
	.irq_handler		= ata_interrupt,
171
	.irq_handler		= ata_interrupt,
172
	.irq_clear		= ata_bmdma_irq_clear,
168
173
169
	.port_start		= ata_port_start,
174
	.port_start		= ata_port_start,
170
	.port_stop		= ata_port_stop,
175
	.port_stop		= ata_port_stop,
Lines 199-204 Link Here
199
		.udma_mask	= ATA_UDMA_MASK_40C, /* FIXME: cbl det */
204
		.udma_mask	= ATA_UDMA_MASK_40C, /* FIXME: cbl det */
200
		.port_ops	= &piix_pata_ops,
205
		.port_ops	= &piix_pata_ops,
201
	},
206
	},
207
208
	/* ich6_sata */
209
	{
210
		.sht		= &piix_sht,
211
		.host_flags	= ATA_FLAG_SATA | ATA_FLAG_SRST |
212
				  PIIX_FLAG_COMBINED | PIIX_FLAG_CHECKINTR |
213
				  ATA_FLAG_SLAVE_POSS,
214
		.pio_mask	= 0x03,	/* pio3-4 */
215
		.udma_mask	= 0x7f,	/* udma0-6 ; FIXME */
216
		.port_ops	= &piix_sata_ops,
217
	},
202
};
218
};
203
219
204
static struct pci_bits piix_enable_bits[] = {
220
static struct pci_bits piix_enable_bits[] = {
Lines 327-339 Link Here
327
343
328
static void piix_sata_phy_reset(struct ata_port *ap)
344
static void piix_sata_phy_reset(struct ata_port *ap)
329
{
345
{
330
	if (!pci_test_config_bits(ap->host_set->pdev,
331
				  &piix_enable_bits[ap->port_no])) {
332
		ata_port_disable(ap);
333
		printk(KERN_INFO "ata%u: port disabled. ignoring.\n", ap->id);
334
		return;
335
	}
336
337
	if (!piix_sata_probe(ap)) {
346
	if (!piix_sata_probe(ap)) {
338
		ata_port_disable(ap);
347
		ata_port_disable(ap);
339
		printk(KERN_INFO "ata%u: SATA port has no device.\n", ap->id);
348
		printk(KERN_INFO "ata%u: SATA port has no device.\n", ap->id);

Return to bug 57327