diff options
Diffstat (limited to 'drivers/ata/ahci.c')
-rw-r--r-- | drivers/ata/ahci.c | 31 |
1 files changed, 20 insertions, 11 deletions
diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c index 66e012cd3271..788bba2b1e17 100644 --- a/drivers/ata/ahci.c +++ b/drivers/ata/ahci.c | |||
@@ -404,7 +404,7 @@ static const struct ata_port_info ahci_port_info[] = { | |||
404 | /* board_ahci */ | 404 | /* board_ahci */ |
405 | { | 405 | { |
406 | .flags = AHCI_FLAG_COMMON, | 406 | .flags = AHCI_FLAG_COMMON, |
407 | .pio_mask = 0x1f, /* pio0-4 */ | 407 | .pio_mask = ATA_PIO4, |
408 | .udma_mask = ATA_UDMA6, | 408 | .udma_mask = ATA_UDMA6, |
409 | .port_ops = &ahci_ops, | 409 | .port_ops = &ahci_ops, |
410 | }, | 410 | }, |
@@ -412,7 +412,7 @@ static const struct ata_port_info ahci_port_info[] = { | |||
412 | { | 412 | { |
413 | AHCI_HFLAGS (AHCI_HFLAG_NO_NCQ | AHCI_HFLAG_NO_PMP), | 413 | AHCI_HFLAGS (AHCI_HFLAG_NO_NCQ | AHCI_HFLAG_NO_PMP), |
414 | .flags = AHCI_FLAG_COMMON, | 414 | .flags = AHCI_FLAG_COMMON, |
415 | .pio_mask = 0x1f, /* pio0-4 */ | 415 | .pio_mask = ATA_PIO4, |
416 | .udma_mask = ATA_UDMA6, | 416 | .udma_mask = ATA_UDMA6, |
417 | .port_ops = &ahci_vt8251_ops, | 417 | .port_ops = &ahci_vt8251_ops, |
418 | }, | 418 | }, |
@@ -420,7 +420,7 @@ static const struct ata_port_info ahci_port_info[] = { | |||
420 | { | 420 | { |
421 | AHCI_HFLAGS (AHCI_HFLAG_IGN_IRQ_IF_ERR), | 421 | AHCI_HFLAGS (AHCI_HFLAG_IGN_IRQ_IF_ERR), |
422 | .flags = AHCI_FLAG_COMMON, | 422 | .flags = AHCI_FLAG_COMMON, |
423 | .pio_mask = 0x1f, /* pio0-4 */ | 423 | .pio_mask = ATA_PIO4, |
424 | .udma_mask = ATA_UDMA6, | 424 | .udma_mask = ATA_UDMA6, |
425 | .port_ops = &ahci_ops, | 425 | .port_ops = &ahci_ops, |
426 | }, | 426 | }, |
@@ -430,7 +430,7 @@ static const struct ata_port_info ahci_port_info[] = { | |||
430 | AHCI_HFLAG_32BIT_ONLY | AHCI_HFLAG_NO_MSI | | 430 | AHCI_HFLAG_32BIT_ONLY | AHCI_HFLAG_NO_MSI | |
431 | AHCI_HFLAG_SECT255), | 431 | AHCI_HFLAG_SECT255), |
432 | .flags = AHCI_FLAG_COMMON, | 432 | .flags = AHCI_FLAG_COMMON, |
433 | .pio_mask = 0x1f, /* pio0-4 */ | 433 | .pio_mask = ATA_PIO4, |
434 | .udma_mask = ATA_UDMA6, | 434 | .udma_mask = ATA_UDMA6, |
435 | .port_ops = &ahci_sb600_ops, | 435 | .port_ops = &ahci_sb600_ops, |
436 | }, | 436 | }, |
@@ -440,7 +440,7 @@ static const struct ata_port_info ahci_port_info[] = { | |||
440 | AHCI_HFLAG_MV_PATA | AHCI_HFLAG_NO_PMP), | 440 | AHCI_HFLAG_MV_PATA | AHCI_HFLAG_NO_PMP), |
441 | .flags = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY | | 441 | .flags = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY | |
442 | ATA_FLAG_MMIO | ATA_FLAG_PIO_DMA, | 442 | ATA_FLAG_MMIO | ATA_FLAG_PIO_DMA, |
443 | .pio_mask = 0x1f, /* pio0-4 */ | 443 | .pio_mask = ATA_PIO4, |
444 | .udma_mask = ATA_UDMA6, | 444 | .udma_mask = ATA_UDMA6, |
445 | .port_ops = &ahci_ops, | 445 | .port_ops = &ahci_ops, |
446 | }, | 446 | }, |
@@ -448,7 +448,7 @@ static const struct ata_port_info ahci_port_info[] = { | |||
448 | { | 448 | { |
449 | AHCI_HFLAGS (AHCI_HFLAG_IGN_SERR_INTERNAL), | 449 | AHCI_HFLAGS (AHCI_HFLAG_IGN_SERR_INTERNAL), |
450 | .flags = AHCI_FLAG_COMMON, | 450 | .flags = AHCI_FLAG_COMMON, |
451 | .pio_mask = 0x1f, /* pio0-4 */ | 451 | .pio_mask = ATA_PIO4, |
452 | .udma_mask = ATA_UDMA6, | 452 | .udma_mask = ATA_UDMA6, |
453 | .port_ops = &ahci_sb600_ops, | 453 | .port_ops = &ahci_sb600_ops, |
454 | }, | 454 | }, |
@@ -456,7 +456,7 @@ static const struct ata_port_info ahci_port_info[] = { | |||
456 | { | 456 | { |
457 | AHCI_HFLAGS (AHCI_HFLAG_YES_NCQ), | 457 | AHCI_HFLAGS (AHCI_HFLAG_YES_NCQ), |
458 | .flags = AHCI_FLAG_COMMON, | 458 | .flags = AHCI_FLAG_COMMON, |
459 | .pio_mask = 0x1f, /* pio0-4 */ | 459 | .pio_mask = ATA_PIO4, |
460 | .udma_mask = ATA_UDMA6, | 460 | .udma_mask = ATA_UDMA6, |
461 | .port_ops = &ahci_ops, | 461 | .port_ops = &ahci_ops, |
462 | }, | 462 | }, |
@@ -464,7 +464,7 @@ static const struct ata_port_info ahci_port_info[] = { | |||
464 | { | 464 | { |
465 | AHCI_HFLAGS (AHCI_HFLAG_NO_PMP), | 465 | AHCI_HFLAGS (AHCI_HFLAG_NO_PMP), |
466 | .flags = AHCI_FLAG_COMMON, | 466 | .flags = AHCI_FLAG_COMMON, |
467 | .pio_mask = 0x1f, /* pio0-4 */ | 467 | .pio_mask = ATA_PIO4, |
468 | .udma_mask = ATA_UDMA6, | 468 | .udma_mask = ATA_UDMA6, |
469 | .port_ops = &ahci_ops, | 469 | .port_ops = &ahci_ops, |
470 | }, | 470 | }, |
@@ -1348,7 +1348,7 @@ static ssize_t ahci_transmit_led_message(struct ata_port *ap, u32 state, | |||
1348 | writel(message[1], mmio + hpriv->em_loc+4); | 1348 | writel(message[1], mmio + hpriv->em_loc+4); |
1349 | 1349 | ||
1350 | /* save off new led state for port/slot */ | 1350 | /* save off new led state for port/slot */ |
1351 | emp->led_state = message[1]; | 1351 | emp->led_state = state; |
1352 | 1352 | ||
1353 | /* | 1353 | /* |
1354 | * tell hardware to transmit the message | 1354 | * tell hardware to transmit the message |
@@ -2565,6 +2565,15 @@ static bool ahci_broken_system_poweroff(struct pci_dev *pdev) | |||
2565 | /* PCI slot number of the controller */ | 2565 | /* PCI slot number of the controller */ |
2566 | .driver_data = (void *)0x1FUL, | 2566 | .driver_data = (void *)0x1FUL, |
2567 | }, | 2567 | }, |
2568 | { | ||
2569 | .ident = "HP Compaq 6720s", | ||
2570 | .matches = { | ||
2571 | DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"), | ||
2572 | DMI_MATCH(DMI_PRODUCT_NAME, "HP Compaq 6720s"), | ||
2573 | }, | ||
2574 | /* PCI slot number of the controller */ | ||
2575 | .driver_data = (void *)0x1FUL, | ||
2576 | }, | ||
2568 | 2577 | ||
2569 | { } /* terminate list */ | 2578 | { } /* terminate list */ |
2570 | }; | 2579 | }; |
@@ -2647,8 +2656,8 @@ static int ahci_init_one(struct pci_dev *pdev, const struct pci_device_id *ent) | |||
2647 | if (board_id == board_ahci_sb700 && pdev->revision >= 0x40) | 2656 | if (board_id == board_ahci_sb700 && pdev->revision >= 0x40) |
2648 | hpriv->flags &= ~AHCI_HFLAG_IGN_SERR_INTERNAL; | 2657 | hpriv->flags &= ~AHCI_HFLAG_IGN_SERR_INTERNAL; |
2649 | 2658 | ||
2650 | if ((hpriv->flags & AHCI_HFLAG_NO_MSI) || pci_enable_msi(pdev)) | 2659 | if (!(hpriv->flags & AHCI_HFLAG_NO_MSI)) |
2651 | pci_intx(pdev, 1); | 2660 | pci_enable_msi(pdev); |
2652 | 2661 | ||
2653 | /* save initial config */ | 2662 | /* save initial config */ |
2654 | ahci_save_initial_config(pdev, hpriv); | 2663 | ahci_save_initial_config(pdev, hpriv); |