Skip to content

Commit a17ab7a

Browse files
paulmenzelDamien Le Moal
authored andcommitted
ata: ahci: Add support for AMD A85 FCH (Hudson D4)
Add support for the AMD A85 FCH (Hudson D4) AHCI adapter. Since this adapter does not require the default 200 ms debounce delay in sata_link_resume(), create a new board board_ahci_no_debounce_delay with the link flag ATA_LFLAG_NO_DEBOUNCE_DELAY, and, for now, configure the AMD A85 FCH (Hudson D4) to use it. On the ASUS F2A85-M PRO it reduces the Linux kernel boot time by the expected 200 ms from 787 ms to 585 ms. Signed-off-by: Paul Menzel <pmenzel@molgen.mpg.de> Cc: Tejun Heo <tj@kernel.org> Signed-off-by: Damien Le Moal <damien.lemoal@opensource.wdc.com>
1 parent b9ba367 commit a17ab7a

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

drivers/ata/ahci.c

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ enum board_ids {
5151
board_ahci,
5252
board_ahci_ign_iferr,
5353
board_ahci_mobile,
54+
board_ahci_no_debounce_delay,
5455
board_ahci_nomsi,
5556
board_ahci_noncq,
5657
board_ahci_nosntf,
@@ -141,6 +142,13 @@ static const struct ata_port_info ahci_port_info[] = {
141142
.udma_mask = ATA_UDMA6,
142143
.port_ops = &ahci_ops,
143144
},
145+
[board_ahci_no_debounce_delay] = {
146+
.flags = AHCI_FLAG_COMMON,
147+
.link_flags = ATA_LFLAG_NO_DEBOUNCE_DELAY,
148+
.pio_mask = ATA_PIO4,
149+
.udma_mask = ATA_UDMA6,
150+
.port_ops = &ahci_ops,
151+
},
144152
[board_ahci_nomsi] = {
145153
AHCI_HFLAGS (AHCI_HFLAG_NO_MSI),
146154
.flags = AHCI_FLAG_COMMON,
@@ -437,6 +445,7 @@ static const struct pci_device_id ahci_pci_tbl[] = {
437445
board_ahci_al },
438446
/* AMD */
439447
{ PCI_VDEVICE(AMD, 0x7800), board_ahci }, /* AMD Hudson-2 */
448+
{ PCI_VDEVICE(AMD, 0x7801), board_ahci_no_debounce_delay }, /* AMD Hudson-2 (AHCI mode) */
440449
{ PCI_VDEVICE(AMD, 0x7900), board_ahci }, /* AMD CZ */
441450
{ PCI_VDEVICE(AMD, 0x7901), board_ahci_mobile }, /* AMD Green Sardine */
442451
/* AMD is using RAID class only for ahci controllers */

0 commit comments

Comments
 (0)