diff options
Diffstat (limited to 'drivers/ata/ahci.c')
-rw-r--r-- | drivers/ata/ahci.c | 29 |
1 files changed, 10 insertions, 19 deletions
diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c index 7c61bc7ebd71..34c5534ed64c 100644 --- a/drivers/ata/ahci.c +++ b/drivers/ata/ahci.c | |||
@@ -170,6 +170,10 @@ enum { | |||
170 | AHCI_FLAG_IGN_IRQ_IF_ERR = (1 << 25), /* ignore IRQ_IF_ERR */ | 170 | AHCI_FLAG_IGN_IRQ_IF_ERR = (1 << 25), /* ignore IRQ_IF_ERR */ |
171 | AHCI_FLAG_HONOR_PI = (1 << 26), /* honor PORTS_IMPL */ | 171 | AHCI_FLAG_HONOR_PI = (1 << 26), /* honor PORTS_IMPL */ |
172 | AHCI_FLAG_IGN_SERR_INTERNAL = (1 << 27), /* ignore SERR_INTERNAL */ | 172 | AHCI_FLAG_IGN_SERR_INTERNAL = (1 << 27), /* ignore SERR_INTERNAL */ |
173 | |||
174 | AHCI_FLAG_COMMON = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY | | ||
175 | ATA_FLAG_MMIO | ATA_FLAG_PIO_DMA | | ||
176 | ATA_FLAG_SKIP_D2H_BSY, | ||
173 | }; | 177 | }; |
174 | 178 | ||
175 | struct ahci_cmd_hdr { | 179 | struct ahci_cmd_hdr { |
@@ -323,54 +327,41 @@ static const struct ata_port_operations ahci_vt8251_ops = { | |||
323 | static const struct ata_port_info ahci_port_info[] = { | 327 | static const struct ata_port_info ahci_port_info[] = { |
324 | /* board_ahci */ | 328 | /* board_ahci */ |
325 | { | 329 | { |
326 | .flags = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY | | 330 | .flags = AHCI_FLAG_COMMON, |
327 | ATA_FLAG_MMIO | ATA_FLAG_PIO_DMA | | ||
328 | ATA_FLAG_SKIP_D2H_BSY, | ||
329 | .pio_mask = 0x1f, /* pio0-4 */ | 331 | .pio_mask = 0x1f, /* pio0-4 */ |
330 | .udma_mask = 0x7f, /* udma0-6 ; FIXME */ | 332 | .udma_mask = 0x7f, /* udma0-6 ; FIXME */ |
331 | .port_ops = &ahci_ops, | 333 | .port_ops = &ahci_ops, |
332 | }, | 334 | }, |
333 | /* board_ahci_pi */ | 335 | /* board_ahci_pi */ |
334 | { | 336 | { |
335 | .flags = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY | | 337 | .flags = AHCI_FLAG_COMMON | AHCI_FLAG_HONOR_PI, |
336 | ATA_FLAG_MMIO | ATA_FLAG_PIO_DMA | | ||
337 | ATA_FLAG_SKIP_D2H_BSY | AHCI_FLAG_HONOR_PI, | ||
338 | .pio_mask = 0x1f, /* pio0-4 */ | 338 | .pio_mask = 0x1f, /* pio0-4 */ |
339 | .udma_mask = 0x7f, /* udma0-6 ; FIXME */ | 339 | .udma_mask = 0x7f, /* udma0-6 ; FIXME */ |
340 | .port_ops = &ahci_ops, | 340 | .port_ops = &ahci_ops, |
341 | }, | 341 | }, |
342 | /* board_ahci_vt8251 */ | 342 | /* board_ahci_vt8251 */ |
343 | { | 343 | { |
344 | .flags = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY | | 344 | .flags = AHCI_FLAG_COMMON | ATA_FLAG_HRST_TO_RESUME | |
345 | ATA_FLAG_MMIO | ATA_FLAG_PIO_DMA | | 345 | AHCI_FLAG_NO_NCQ, |
346 | ATA_FLAG_SKIP_D2H_BSY | | ||
347 | ATA_FLAG_HRST_TO_RESUME | AHCI_FLAG_NO_NCQ, | ||
348 | .pio_mask = 0x1f, /* pio0-4 */ | 346 | .pio_mask = 0x1f, /* pio0-4 */ |
349 | .udma_mask = 0x7f, /* udma0-6 ; FIXME */ | 347 | .udma_mask = 0x7f, /* udma0-6 ; FIXME */ |
350 | .port_ops = &ahci_vt8251_ops, | 348 | .port_ops = &ahci_vt8251_ops, |
351 | }, | 349 | }, |
352 | /* board_ahci_ign_iferr */ | 350 | /* board_ahci_ign_iferr */ |
353 | { | 351 | { |
354 | .flags = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY | | 352 | .flags = AHCI_FLAG_COMMON | AHCI_FLAG_IGN_IRQ_IF_ERR, |
355 | ATA_FLAG_MMIO | ATA_FLAG_PIO_DMA | | ||
356 | ATA_FLAG_SKIP_D2H_BSY | | ||
357 | AHCI_FLAG_IGN_IRQ_IF_ERR, | ||
358 | .pio_mask = 0x1f, /* pio0-4 */ | 353 | .pio_mask = 0x1f, /* pio0-4 */ |
359 | .udma_mask = 0x7f, /* udma0-6 ; FIXME */ | 354 | .udma_mask = 0x7f, /* udma0-6 ; FIXME */ |
360 | .port_ops = &ahci_ops, | 355 | .port_ops = &ahci_ops, |
361 | }, | 356 | }, |
362 | /* board_ahci_sb600 */ | 357 | /* board_ahci_sb600 */ |
363 | { | 358 | { |
364 | .sht = &ahci_sht, | 359 | .flags = AHCI_FLAG_COMMON | |
365 | .flags = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY | | ||
366 | ATA_FLAG_MMIO | ATA_FLAG_PIO_DMA | | ||
367 | ATA_FLAG_SKIP_D2H_BSY | | ||
368 | AHCI_FLAG_IGN_SERR_INTERNAL, | 360 | AHCI_FLAG_IGN_SERR_INTERNAL, |
369 | .pio_mask = 0x1f, /* pio0-4 */ | 361 | .pio_mask = 0x1f, /* pio0-4 */ |
370 | .udma_mask = 0x7f, /* udma0-6 ; FIXME */ | 362 | .udma_mask = 0x7f, /* udma0-6 ; FIXME */ |
371 | .port_ops = &ahci_ops, | 363 | .port_ops = &ahci_ops, |
372 | }, | 364 | }, |
373 | |||
374 | }; | 365 | }; |
375 | 366 | ||
376 | static const struct pci_device_id ahci_pci_tbl[] = { | 367 | static const struct pci_device_id ahci_pci_tbl[] = { |