static const struct pci_device_id ahci_pci_tbl[] = {
/* Intel */
- { PCI_VDEVICE(INTEL, 0x06d6), board_ahci_pcs_quirk }, /* Comet Lake PCH-H RAID */
- { PCI_VDEVICE(INTEL, 0x2652), board_ahci_pcs_quirk }, /* ICH6 */
- { PCI_VDEVICE(INTEL, 0x2653), board_ahci_pcs_quirk }, /* ICH6M */
- { PCI_VDEVICE(INTEL, 0x27c1), board_ahci_pcs_quirk }, /* ICH7 */
- { PCI_VDEVICE(INTEL, 0x27c5), board_ahci_pcs_quirk }, /* ICH7M */
- { PCI_VDEVICE(INTEL, 0x27c3), board_ahci_pcs_quirk }, /* ICH7R */
- { PCI_VDEVICE(AL, 0x5288), board_ahci_ign_iferr }, /* ULi M5288 */
- { PCI_VDEVICE(INTEL, 0x2681), board_ahci_pcs_quirk }, /* ESB2 */
- { PCI_VDEVICE(INTEL, 0x2682), board_ahci_pcs_quirk }, /* ESB2 */
- { PCI_VDEVICE(INTEL, 0x2683), board_ahci_pcs_quirk }, /* ESB2 */
- { PCI_VDEVICE(INTEL, 0x27c6), board_ahci_pcs_quirk }, /* ICH7-M DH */
- { PCI_VDEVICE(INTEL, 0x2821), board_ahci_pcs_quirk }, /* ICH8 */
- { PCI_VDEVICE(INTEL, 0x2822), board_ahci_pcs_quirk_no_sntf }, /* ICH8/Lewisburg RAID*/
- { PCI_VDEVICE(INTEL, 0x2824), board_ahci_pcs_quirk }, /* ICH8 */
- { PCI_VDEVICE(INTEL, 0x2829), board_ahci_pcs_quirk }, /* ICH8M */
- { PCI_VDEVICE(INTEL, 0x282a), board_ahci_pcs_quirk }, /* ICH8M */
- { PCI_VDEVICE(INTEL, 0x2922), board_ahci_pcs_quirk }, /* ICH9 */
- { PCI_VDEVICE(INTEL, 0x2923), board_ahci_pcs_quirk }, /* ICH9 */
- { PCI_VDEVICE(INTEL, 0x2924), board_ahci_pcs_quirk }, /* ICH9 */
- { PCI_VDEVICE(INTEL, 0x2925), board_ahci_pcs_quirk }, /* ICH9 */
- { PCI_VDEVICE(INTEL, 0x2927), board_ahci_pcs_quirk }, /* ICH9 */
- { PCI_VDEVICE(INTEL, 0x2929), board_ahci_pcs_quirk }, /* ICH9M */
- { PCI_VDEVICE(INTEL, 0x292a), board_ahci_pcs_quirk }, /* ICH9M */
- { PCI_VDEVICE(INTEL, 0x292b), board_ahci_pcs_quirk }, /* ICH9M */
- { PCI_VDEVICE(INTEL, 0x292c), board_ahci_pcs_quirk }, /* ICH9M */
- { PCI_VDEVICE(INTEL, 0x292f), board_ahci_pcs_quirk }, /* ICH9M */
- { PCI_VDEVICE(INTEL, 0x294d), board_ahci_pcs_quirk }, /* ICH9 */
- { PCI_VDEVICE(INTEL, 0x294e), board_ahci_pcs_quirk }, /* ICH9M */
- { PCI_VDEVICE(INTEL, 0x502a), board_ahci_pcs_quirk }, /* Tolapai */
- { PCI_VDEVICE(INTEL, 0x502b), board_ahci_pcs_quirk }, /* Tolapai */
- { PCI_VDEVICE(INTEL, 0x3a05), board_ahci_pcs_quirk }, /* ICH10 */
- { PCI_VDEVICE(INTEL, 0x3a22), board_ahci_pcs_quirk }, /* ICH10 */
- { PCI_VDEVICE(INTEL, 0x3a25), board_ahci_pcs_quirk }, /* ICH10 */
- { PCI_VDEVICE(INTEL, 0x3b22), board_ahci_pcs_quirk }, /* PCH AHCI */
- { PCI_VDEVICE(INTEL, 0x3b23), board_ahci_pcs_quirk }, /* PCH AHCI */
- { PCI_VDEVICE(INTEL, 0x3b24), board_ahci_pcs_quirk }, /* PCH RAID */
- { PCI_VDEVICE(INTEL, 0x3b25), board_ahci_pcs_quirk }, /* PCH RAID */
- { PCI_VDEVICE(INTEL, 0x3b29), board_ahci_pcs_quirk }, /* PCH M AHCI */
- { PCI_VDEVICE(INTEL, 0x3b2b), board_ahci_pcs_quirk }, /* PCH RAID */
- { PCI_VDEVICE(INTEL, 0x3b2c), board_ahci_pcs_quirk }, /* PCH M RAID */
- { PCI_VDEVICE(INTEL, 0x3b2f), board_ahci_pcs_quirk }, /* PCH AHCI */
- { PCI_VDEVICE(INTEL, 0x19b0), board_ahci }, /* DNV AHCI */
- { PCI_VDEVICE(INTEL, 0x19b1), board_ahci }, /* DNV AHCI */
- { PCI_VDEVICE(INTEL, 0x19b2), board_ahci }, /* DNV AHCI */
- { PCI_VDEVICE(INTEL, 0x19b3), board_ahci }, /* DNV AHCI */
- { PCI_VDEVICE(INTEL, 0x19b4), board_ahci }, /* DNV AHCI */
- { PCI_VDEVICE(INTEL, 0x19b5), board_ahci }, /* DNV AHCI */
- { PCI_VDEVICE(INTEL, 0x19b6), board_ahci }, /* DNV AHCI */
- { PCI_VDEVICE(INTEL, 0x19b7), board_ahci }, /* DNV AHCI */
- { PCI_VDEVICE(INTEL, 0x19bE), board_ahci }, /* DNV AHCI */
- { PCI_VDEVICE(INTEL, 0x19bF), board_ahci }, /* DNV AHCI */
- { PCI_VDEVICE(INTEL, 0x19c0), board_ahci }, /* DNV AHCI */
- { PCI_VDEVICE(INTEL, 0x19c1), board_ahci }, /* DNV AHCI */
- { PCI_VDEVICE(INTEL, 0x19c2), board_ahci }, /* DNV AHCI */
- { PCI_VDEVICE(INTEL, 0x19c3), board_ahci }, /* DNV AHCI */
- { PCI_VDEVICE(INTEL, 0x19c4), board_ahci }, /* DNV AHCI */
- { PCI_VDEVICE(INTEL, 0x19c5), board_ahci }, /* DNV AHCI */
- { PCI_VDEVICE(INTEL, 0x19c6), board_ahci }, /* DNV AHCI */
- { PCI_VDEVICE(INTEL, 0x19c7), board_ahci }, /* DNV AHCI */
- { PCI_VDEVICE(INTEL, 0x19cE), board_ahci }, /* DNV AHCI */
- { PCI_VDEVICE(INTEL, 0x19cF), board_ahci }, /* DNV AHCI */
- { PCI_VDEVICE(INTEL, 0x1c02), board_ahci_pcs_quirk }, /* CPT AHCI */
- { PCI_VDEVICE(INTEL, 0x1c03), board_ahci_pcs_quirk }, /* CPT M AHCI */
- { PCI_VDEVICE(INTEL, 0x1c04), board_ahci_pcs_quirk }, /* CPT RAID */
- { PCI_VDEVICE(INTEL, 0x1c05), board_ahci_pcs_quirk }, /* CPT M RAID */
- { PCI_VDEVICE(INTEL, 0x1c06), board_ahci_pcs_quirk }, /* CPT RAID */
- { PCI_VDEVICE(INTEL, 0x1c07), board_ahci_pcs_quirk }, /* CPT RAID */
- { PCI_VDEVICE(INTEL, 0x1d02), board_ahci_pcs_quirk }, /* PBG AHCI */
- { PCI_VDEVICE(INTEL, 0x1d04), board_ahci_pcs_quirk }, /* PBG RAID */
- { PCI_VDEVICE(INTEL, 0x1d06), board_ahci_pcs_quirk }, /* PBG RAID */
- { PCI_VDEVICE(INTEL, 0x2323), board_ahci_pcs_quirk }, /* DH89xxCC AHCI */
- { PCI_VDEVICE(INTEL, 0x1e02), board_ahci_pcs_quirk }, /* Panther Point AHCI */
- { PCI_VDEVICE(INTEL, 0x1e03), board_ahci_pcs_quirk }, /* Panther M AHCI */
- { PCI_VDEVICE(INTEL, 0x1e04), board_ahci_pcs_quirk }, /* Panther Point RAID */
- { PCI_VDEVICE(INTEL, 0x1e05), board_ahci_pcs_quirk }, /* Panther Point RAID */
- { PCI_VDEVICE(INTEL, 0x1e06), board_ahci_pcs_quirk }, /* Panther Point RAID */
- { PCI_VDEVICE(INTEL, 0x1e07), board_ahci_pcs_quirk }, /* Panther M RAID */
- { PCI_VDEVICE(INTEL, 0x1e0e), board_ahci_pcs_quirk }, /* Panther Point RAID */
- { PCI_VDEVICE(INTEL, 0x8c02), board_ahci_pcs_quirk }, /* Lynx Point AHCI */
- { PCI_VDEVICE(INTEL, 0x8c03), board_ahci_pcs_quirk }, /* Lynx M AHCI */
- { PCI_VDEVICE(INTEL, 0x8c04), board_ahci_pcs_quirk }, /* Lynx Point RAID */
- { PCI_VDEVICE(INTEL, 0x8c05), board_ahci_pcs_quirk }, /* Lynx M RAID */
- { PCI_VDEVICE(INTEL, 0x8c06), board_ahci_pcs_quirk }, /* Lynx Point RAID */
- { PCI_VDEVICE(INTEL, 0x8c07), board_ahci_pcs_quirk }, /* Lynx M RAID */
- { PCI_VDEVICE(INTEL, 0x8c0e), board_ahci_pcs_quirk }, /* Lynx Point RAID */
- { PCI_VDEVICE(INTEL, 0x8c0f), board_ahci_pcs_quirk }, /* Lynx M RAID */
- { PCI_VDEVICE(INTEL, 0x9c02), board_ahci_pcs_quirk }, /* Lynx LP AHCI */
- { PCI_VDEVICE(INTEL, 0x9c03), board_ahci_pcs_quirk }, /* Lynx LP AHCI */
- { PCI_VDEVICE(INTEL, 0x9c04), board_ahci_pcs_quirk }, /* Lynx LP RAID */
- { PCI_VDEVICE(INTEL, 0x9c05), board_ahci_pcs_quirk }, /* Lynx LP RAID */
- { PCI_VDEVICE(INTEL, 0x9c06), board_ahci_pcs_quirk }, /* Lynx LP RAID */
- { PCI_VDEVICE(INTEL, 0x9c07), board_ahci_pcs_quirk }, /* Lynx LP RAID */
- { PCI_VDEVICE(INTEL, 0x9c0e), board_ahci_pcs_quirk }, /* Lynx LP RAID */
- { PCI_VDEVICE(INTEL, 0x9c0f), board_ahci_pcs_quirk }, /* Lynx LP RAID */
- { PCI_VDEVICE(INTEL, 0x9dd3), board_ahci_pcs_quirk }, /* Cannon Lake PCH-LP AHCI */
- { PCI_VDEVICE(INTEL, 0x1f22), board_ahci_pcs_quirk }, /* Avoton AHCI */
- { PCI_VDEVICE(INTEL, 0x1f23), board_ahci_pcs_quirk }, /* Avoton AHCI */
- { PCI_VDEVICE(INTEL, 0x1f24), board_ahci_pcs_quirk }, /* Avoton RAID */
- { PCI_VDEVICE(INTEL, 0x1f25), board_ahci_pcs_quirk }, /* Avoton RAID */
- { PCI_VDEVICE(INTEL, 0x1f26), board_ahci_pcs_quirk }, /* Avoton RAID */
- { PCI_VDEVICE(INTEL, 0x1f27), board_ahci_pcs_quirk }, /* Avoton RAID */
- { PCI_VDEVICE(INTEL, 0x1f2e), board_ahci_pcs_quirk }, /* Avoton RAID */
- { PCI_VDEVICE(INTEL, 0x1f2f), board_ahci_pcs_quirk }, /* Avoton RAID */
- { PCI_VDEVICE(INTEL, 0x1f32), board_ahci_avn }, /* Avoton AHCI */
- { PCI_VDEVICE(INTEL, 0x1f33), board_ahci_avn }, /* Avoton AHCI */
- { PCI_VDEVICE(INTEL, 0x1f34), board_ahci_avn }, /* Avoton RAID */
- { PCI_VDEVICE(INTEL, 0x1f35), board_ahci_avn }, /* Avoton RAID */
- { PCI_VDEVICE(INTEL, 0x1f36), board_ahci_avn }, /* Avoton RAID */
- { PCI_VDEVICE(INTEL, 0x1f37), board_ahci_avn }, /* Avoton RAID */
- { PCI_VDEVICE(INTEL, 0x1f3e), board_ahci_avn }, /* Avoton RAID */
- { PCI_VDEVICE(INTEL, 0x1f3f), board_ahci_avn }, /* Avoton RAID */
- { PCI_VDEVICE(INTEL, 0x2823), board_ahci_pcs_quirk }, /* Wellsburg/Lewisburg AHCI*/
- { PCI_VDEVICE(INTEL, 0x2826), board_ahci_pcs_quirk }, /* *burg SATA0 'RAID' */
- { PCI_VDEVICE(INTEL, 0x2827), board_ahci_pcs_quirk }, /* *burg SATA1 'RAID' */
- { PCI_VDEVICE(INTEL, 0x282f), board_ahci_pcs_quirk }, /* *burg SATA2 'RAID' */
- { PCI_VDEVICE(INTEL, 0x43d4), board_ahci_pcs_quirk }, /* Rocket Lake PCH-H RAID */
- { PCI_VDEVICE(INTEL, 0x43d5), board_ahci_pcs_quirk }, /* Rocket Lake PCH-H RAID */
- { PCI_VDEVICE(INTEL, 0x43d6), board_ahci_pcs_quirk }, /* Rocket Lake PCH-H RAID */
- { PCI_VDEVICE(INTEL, 0x43d7), board_ahci_pcs_quirk }, /* Rocket Lake PCH-H RAID */
- { PCI_VDEVICE(INTEL, 0x8d02), board_ahci_pcs_quirk }, /* Wellsburg AHCI */
- { PCI_VDEVICE(INTEL, 0x8d04), board_ahci_pcs_quirk }, /* Wellsburg RAID */
- { PCI_VDEVICE(INTEL, 0x8d06), board_ahci_pcs_quirk }, /* Wellsburg RAID */
- { PCI_VDEVICE(INTEL, 0x8d0e), board_ahci_pcs_quirk }, /* Wellsburg RAID */
- { PCI_VDEVICE(INTEL, 0x8d62), board_ahci_pcs_quirk }, /* Wellsburg AHCI */
- { PCI_VDEVICE(INTEL, 0x8d64), board_ahci_pcs_quirk }, /* Wellsburg RAID */
- { PCI_VDEVICE(INTEL, 0x8d66), board_ahci_pcs_quirk }, /* Wellsburg RAID */
- { PCI_VDEVICE(INTEL, 0x8d6e), board_ahci_pcs_quirk }, /* Wellsburg RAID */
- { PCI_VDEVICE(INTEL, 0x23a3), board_ahci_pcs_quirk }, /* Coleto Creek AHCI */
- { PCI_VDEVICE(INTEL, 0x9c83), board_ahci_pcs_quirk }, /* Wildcat LP AHCI */
- { PCI_VDEVICE(INTEL, 0x9c85), board_ahci_pcs_quirk }, /* Wildcat LP RAID */
- { PCI_VDEVICE(INTEL, 0x9c87), board_ahci_pcs_quirk }, /* Wildcat LP RAID */
- { PCI_VDEVICE(INTEL, 0x9c8f), board_ahci_pcs_quirk }, /* Wildcat LP RAID */
- { PCI_VDEVICE(INTEL, 0x8c82), board_ahci_pcs_quirk }, /* 9 Series AHCI */
- { PCI_VDEVICE(INTEL, 0x8c83), board_ahci_pcs_quirk }, /* 9 Series M AHCI */
- { PCI_VDEVICE(INTEL, 0x8c84), board_ahci_pcs_quirk }, /* 9 Series RAID */
- { PCI_VDEVICE(INTEL, 0x8c85), board_ahci_pcs_quirk }, /* 9 Series M RAID */
- { PCI_VDEVICE(INTEL, 0x8c86), board_ahci_pcs_quirk }, /* 9 Series RAID */
- { PCI_VDEVICE(INTEL, 0x8c87), board_ahci_pcs_quirk }, /* 9 Series M RAID */
- { PCI_VDEVICE(INTEL, 0x8c8e), board_ahci_pcs_quirk }, /* 9 Series RAID */
- { PCI_VDEVICE(INTEL, 0x8c8f), board_ahci_pcs_quirk }, /* 9 Series M RAID */
- { PCI_VDEVICE(INTEL, 0x9d03), board_ahci_pcs_quirk }, /* Sunrise LP AHCI */
- { PCI_VDEVICE(INTEL, 0x9d05), board_ahci_pcs_quirk }, /* Sunrise LP RAID */
- { PCI_VDEVICE(INTEL, 0x9d07), board_ahci_pcs_quirk }, /* Sunrise LP RAID */
- { PCI_VDEVICE(INTEL, 0xa102), board_ahci_pcs_quirk }, /* Sunrise Point-H AHCI */
- { PCI_VDEVICE(INTEL, 0xa103), board_ahci_pcs_quirk }, /* Sunrise M AHCI */
- { PCI_VDEVICE(INTEL, 0xa105), board_ahci_pcs_quirk }, /* Sunrise Point-H RAID */
- { PCI_VDEVICE(INTEL, 0xa106), board_ahci_pcs_quirk }, /* Sunrise Point-H RAID */
- { PCI_VDEVICE(INTEL, 0xa107), board_ahci_pcs_quirk }, /* Sunrise M RAID */
- { PCI_VDEVICE(INTEL, 0xa10f), board_ahci_pcs_quirk }, /* Sunrise Point-H RAID */
- { PCI_VDEVICE(INTEL, 0xa182), board_ahci_pcs_quirk }, /* Lewisburg AHCI*/
- { PCI_VDEVICE(INTEL, 0xa186), board_ahci_pcs_quirk }, /* Lewisburg RAID*/
- { PCI_VDEVICE(INTEL, 0xa1d2), board_ahci_pcs_quirk }, /* Lewisburg RAID*/
- { PCI_VDEVICE(INTEL, 0xa1d6), board_ahci_pcs_quirk }, /* Lewisburg RAID*/
- { PCI_VDEVICE(INTEL, 0xa202), board_ahci_pcs_quirk }, /* Lewisburg AHCI*/
- { PCI_VDEVICE(INTEL, 0xa206), board_ahci_pcs_quirk }, /* Lewisburg RAID*/
- { PCI_VDEVICE(INTEL, 0xa252), board_ahci_pcs_quirk }, /* Lewisburg RAID*/
- { PCI_VDEVICE(INTEL, 0xa256), board_ahci_pcs_quirk }, /* Lewisburg RAID*/
- { PCI_VDEVICE(INTEL, 0xa356), board_ahci_pcs_quirk }, /* Cannon Lake PCH-H RAID */
- { PCI_VDEVICE(INTEL, 0x06d7), board_ahci_pcs_quirk }, /* Comet Lake-H RAID */
- { PCI_VDEVICE(INTEL, 0xa386), board_ahci_pcs_quirk }, /* Comet Lake PCH-V RAID */
- { PCI_VDEVICE(INTEL, 0x0f22), board_ahci_pcs_quirk }, /* Bay Trail AHCI */
- { PCI_VDEVICE(INTEL, 0x0f23), board_ahci_pcs_quirk_no_devslp }, /* Bay Trail AHCI */
- { PCI_VDEVICE(INTEL, 0x22a3), board_ahci_pcs_quirk }, /* Cherry Tr. AHCI */
- { PCI_VDEVICE(INTEL, 0x5ae3), board_ahci_pcs_quirk }, /* ApolloLake AHCI */
- { PCI_VDEVICE(INTEL, 0x34d3), board_ahci_pcs_quirk }, /* Ice Lake LP AHCI */
- { PCI_VDEVICE(INTEL, 0x02d3), board_ahci_pcs_quirk }, /* Comet Lake PCH-U AHCI */
- { PCI_VDEVICE(INTEL, 0x02d7), board_ahci_pcs_quirk }, /* Comet Lake PCH RAID */
- /* Elkhart Lake IDs 0x4b60 & 0x4b62 https://sata-io.org/product/8803 not tested yet */
- { PCI_VDEVICE(INTEL, 0x4b63), board_ahci_pcs_quirk }, /* Elkhart Lake AHCI */
+ {
+ /* Comet Lake PCH-H RAID */
+ PCI_VDEVICE(INTEL, 0x06d6),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* ICH6 */
+ PCI_VDEVICE(INTEL, 0x2652),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* ICH6M */
+ PCI_VDEVICE(INTEL, 0x2653),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* ICH7 */
+ PCI_VDEVICE(INTEL, 0x27c1),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* ICH7M */
+ PCI_VDEVICE(INTEL, 0x27c5),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* ICH7R */
+ PCI_VDEVICE(INTEL, 0x27c3),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* ULi M5288 */
+ PCI_VDEVICE(AL, 0x5288),
+ .driver_data = board_ahci_ign_iferr,
+ }, {
+ /* ESB2 */
+ PCI_VDEVICE(INTEL, 0x2681),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* ESB2 */
+ PCI_VDEVICE(INTEL, 0x2682),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* ESB2 */
+ PCI_VDEVICE(INTEL, 0x2683),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* ICH7-M DH */
+ PCI_VDEVICE(INTEL, 0x27c6),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* ICH8 */
+ PCI_VDEVICE(INTEL, 0x2821),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* ICH8/Lewisburg RAID*/
+ PCI_VDEVICE(INTEL, 0x2822),
+ .driver_data = board_ahci_pcs_quirk_no_sntf,
+ }, {
+ /* ICH8 */
+ PCI_VDEVICE(INTEL, 0x2824),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* ICH8M */
+ PCI_VDEVICE(INTEL, 0x2829),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* ICH8M */
+ PCI_VDEVICE(INTEL, 0x282a),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* ICH9 */
+ PCI_VDEVICE(INTEL, 0x2922),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* ICH9 */
+ PCI_VDEVICE(INTEL, 0x2923),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* ICH9 */
+ PCI_VDEVICE(INTEL, 0x2924),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* ICH9 */
+ PCI_VDEVICE(INTEL, 0x2925),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* ICH9 */
+ PCI_VDEVICE(INTEL, 0x2927),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* ICH9M */
+ PCI_VDEVICE(INTEL, 0x2929),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* ICH9M */
+ PCI_VDEVICE(INTEL, 0x292a),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* ICH9M */
+ PCI_VDEVICE(INTEL, 0x292b),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* ICH9M */
+ PCI_VDEVICE(INTEL, 0x292c),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* ICH9M */
+ PCI_VDEVICE(INTEL, 0x292f),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* ICH9 */
+ PCI_VDEVICE(INTEL, 0x294d),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* ICH9M */
+ PCI_VDEVICE(INTEL, 0x294e),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* Tolapai */
+ PCI_VDEVICE(INTEL, 0x502a),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* Tolapai */
+ PCI_VDEVICE(INTEL, 0x502b),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* ICH10 */
+ PCI_VDEVICE(INTEL, 0x3a05),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* ICH10 */
+ PCI_VDEVICE(INTEL, 0x3a22),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* ICH10 */
+ PCI_VDEVICE(INTEL, 0x3a25),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* PCH AHCI */
+ PCI_VDEVICE(INTEL, 0x3b22),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* PCH AHCI */
+ PCI_VDEVICE(INTEL, 0x3b23),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* PCH RAID */
+ PCI_VDEVICE(INTEL, 0x3b24),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* PCH RAID */
+ PCI_VDEVICE(INTEL, 0x3b25),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* PCH M AHCI */
+ PCI_VDEVICE(INTEL, 0x3b29),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* PCH RAID */
+ PCI_VDEVICE(INTEL, 0x3b2b),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* PCH M RAID */
+ PCI_VDEVICE(INTEL, 0x3b2c),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* PCH AHCI */
+ PCI_VDEVICE(INTEL, 0x3b2f),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* DNV AHCI */
+ PCI_VDEVICE(INTEL, 0x19b0),
+ .driver_data = board_ahci,
+ }, {
+ /* DNV AHCI */
+ PCI_VDEVICE(INTEL, 0x19b1),
+ .driver_data = board_ahci,
+ }, {
+ /* DNV AHCI */
+ PCI_VDEVICE(INTEL, 0x19b2),
+ .driver_data = board_ahci,
+ }, {
+ /* DNV AHCI */
+ PCI_VDEVICE(INTEL, 0x19b3),
+ .driver_data = board_ahci,
+ }, {
+ /* DNV AHCI */
+ PCI_VDEVICE(INTEL, 0x19b4),
+ .driver_data = board_ahci,
+ }, {
+ /* DNV AHCI */
+ PCI_VDEVICE(INTEL, 0x19b5),
+ .driver_data = board_ahci,
+ }, {
+ /* DNV AHCI */
+ PCI_VDEVICE(INTEL, 0x19b6),
+ .driver_data = board_ahci,
+ }, {
+ /* DNV AHCI */
+ PCI_VDEVICE(INTEL, 0x19b7),
+ .driver_data = board_ahci,
+ }, {
+ /* DNV AHCI */
+ PCI_VDEVICE(INTEL, 0x19bE),
+ .driver_data = board_ahci,
+ }, {
+ /* DNV AHCI */
+ PCI_VDEVICE(INTEL, 0x19bF),
+ .driver_data = board_ahci,
+ }, {
+ /* DNV AHCI */
+ PCI_VDEVICE(INTEL, 0x19c0),
+ .driver_data = board_ahci,
+ }, {
+ /* DNV AHCI */
+ PCI_VDEVICE(INTEL, 0x19c1),
+ .driver_data = board_ahci,
+ }, {
+ /* DNV AHCI */
+ PCI_VDEVICE(INTEL, 0x19c2),
+ .driver_data = board_ahci,
+ }, {
+ /* DNV AHCI */
+ PCI_VDEVICE(INTEL, 0x19c3),
+ .driver_data = board_ahci,
+ }, {
+ /* DNV AHCI */
+ PCI_VDEVICE(INTEL, 0x19c4),
+ .driver_data = board_ahci,
+ }, {
+ /* DNV AHCI */
+ PCI_VDEVICE(INTEL, 0x19c5),
+ .driver_data = board_ahci,
+ }, {
+ /* DNV AHCI */
+ PCI_VDEVICE(INTEL, 0x19c6),
+ .driver_data = board_ahci,
+ }, {
+ /* DNV AHCI */
+ PCI_VDEVICE(INTEL, 0x19c7),
+ .driver_data = board_ahci,
+ }, {
+ /* DNV AHCI */
+ PCI_VDEVICE(INTEL, 0x19cE),
+ .driver_data = board_ahci,
+ }, {
+ /* DNV AHCI */
+ PCI_VDEVICE(INTEL, 0x19cF),
+ .driver_data = board_ahci,
+ }, {
+ /* CPT AHCI */
+ PCI_VDEVICE(INTEL, 0x1c02),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* CPT M AHCI */
+ PCI_VDEVICE(INTEL, 0x1c03),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* CPT RAID */
+ PCI_VDEVICE(INTEL, 0x1c04),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* CPT M RAID */
+ PCI_VDEVICE(INTEL, 0x1c05),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* CPT RAID */
+ PCI_VDEVICE(INTEL, 0x1c06),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* CPT RAID */
+ PCI_VDEVICE(INTEL, 0x1c07),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* PBG AHCI */
+ PCI_VDEVICE(INTEL, 0x1d02),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* PBG RAID */
+ PCI_VDEVICE(INTEL, 0x1d04),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* PBG RAID */
+ PCI_VDEVICE(INTEL, 0x1d06),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* DH89xxCC AHCI */
+ PCI_VDEVICE(INTEL, 0x2323),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* Panther Point AHCI */
+ PCI_VDEVICE(INTEL, 0x1e02),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* Panther M AHCI */
+ PCI_VDEVICE(INTEL, 0x1e03),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* Panther Point RAID */
+ PCI_VDEVICE(INTEL, 0x1e04),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* Panther Point RAID */
+ PCI_VDEVICE(INTEL, 0x1e05),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* Panther Point RAID */
+ PCI_VDEVICE(INTEL, 0x1e06),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* Panther M RAID */
+ PCI_VDEVICE(INTEL, 0x1e07),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* Panther Point RAID */
+ PCI_VDEVICE(INTEL, 0x1e0e),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* Lynx Point AHCI */
+ PCI_VDEVICE(INTEL, 0x8c02),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* Lynx M AHCI */
+ PCI_VDEVICE(INTEL, 0x8c03),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* Lynx Point RAID */
+ PCI_VDEVICE(INTEL, 0x8c04),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* Lynx M RAID */
+ PCI_VDEVICE(INTEL, 0x8c05),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* Lynx Point RAID */
+ PCI_VDEVICE(INTEL, 0x8c06),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* Lynx M RAID */
+ PCI_VDEVICE(INTEL, 0x8c07),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* Lynx Point RAID */
+ PCI_VDEVICE(INTEL, 0x8c0e),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* Lynx M RAID */
+ PCI_VDEVICE(INTEL, 0x8c0f),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* Lynx LP AHCI */
+ PCI_VDEVICE(INTEL, 0x9c02),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* Lynx LP AHCI */
+ PCI_VDEVICE(INTEL, 0x9c03),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* Lynx LP RAID */
+ PCI_VDEVICE(INTEL, 0x9c04),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* Lynx LP RAID */
+ PCI_VDEVICE(INTEL, 0x9c05),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* Lynx LP RAID */
+ PCI_VDEVICE(INTEL, 0x9c06),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* Lynx LP RAID */
+ PCI_VDEVICE(INTEL, 0x9c07),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* Lynx LP RAID */
+ PCI_VDEVICE(INTEL, 0x9c0e),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* Lynx LP RAID */
+ PCI_VDEVICE(INTEL, 0x9c0f),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* Cannon Lake PCH-LP AHCI */
+ PCI_VDEVICE(INTEL, 0x9dd3),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* Avoton AHCI */
+ PCI_VDEVICE(INTEL, 0x1f22),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* Avoton AHCI */
+ PCI_VDEVICE(INTEL, 0x1f23),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* Avoton RAID */
+ PCI_VDEVICE(INTEL, 0x1f24),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* Avoton RAID */
+ PCI_VDEVICE(INTEL, 0x1f25),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* Avoton RAID */
+ PCI_VDEVICE(INTEL, 0x1f26),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* Avoton RAID */
+ PCI_VDEVICE(INTEL, 0x1f27),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* Avoton RAID */
+ PCI_VDEVICE(INTEL, 0x1f2e),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* Avoton RAID */
+ PCI_VDEVICE(INTEL, 0x1f2f),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* Avoton AHCI */
+ PCI_VDEVICE(INTEL, 0x1f32),
+ .driver_data = board_ahci_avn,
+ }, {
+ /* Avoton AHCI */
+ PCI_VDEVICE(INTEL, 0x1f33),
+ .driver_data = board_ahci_avn,
+ }, {
+ /* Avoton RAID */
+ PCI_VDEVICE(INTEL, 0x1f34),
+ .driver_data = board_ahci_avn,
+ }, {
+ /* Avoton RAID */
+ PCI_VDEVICE(INTEL, 0x1f35),
+ .driver_data = board_ahci_avn,
+ }, {
+ /* Avoton RAID */
+ PCI_VDEVICE(INTEL, 0x1f36),
+ .driver_data = board_ahci_avn,
+ }, {
+ /* Avoton RAID */
+ PCI_VDEVICE(INTEL, 0x1f37),
+ .driver_data = board_ahci_avn,
+ }, {
+ /* Avoton RAID */
+ PCI_VDEVICE(INTEL, 0x1f3e),
+ .driver_data = board_ahci_avn,
+ }, {
+ /* Avoton RAID */
+ PCI_VDEVICE(INTEL, 0x1f3f),
+ .driver_data = board_ahci_avn,
+ }, {
+ /* Wellsburg/Lewisburg AHCI*/
+ PCI_VDEVICE(INTEL, 0x2823),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* *burg SATA0 'RAID' */
+ PCI_VDEVICE(INTEL, 0x2826),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* *burg SATA1 'RAID' */
+ PCI_VDEVICE(INTEL, 0x2827),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* *burg SATA2 'RAID' */
+ PCI_VDEVICE(INTEL, 0x282f),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* Rocket Lake PCH-H RAID */
+ PCI_VDEVICE(INTEL, 0x43d4),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* Rocket Lake PCH-H RAID */
+ PCI_VDEVICE(INTEL, 0x43d5),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* Rocket Lake PCH-H RAID */
+ PCI_VDEVICE(INTEL, 0x43d6),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* Rocket Lake PCH-H RAID */
+ PCI_VDEVICE(INTEL, 0x43d7),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* Wellsburg AHCI */
+ PCI_VDEVICE(INTEL, 0x8d02),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* Wellsburg RAID */
+ PCI_VDEVICE(INTEL, 0x8d04),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* Wellsburg RAID */
+ PCI_VDEVICE(INTEL, 0x8d06),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* Wellsburg RAID */
+ PCI_VDEVICE(INTEL, 0x8d0e),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* Wellsburg AHCI */
+ PCI_VDEVICE(INTEL, 0x8d62),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* Wellsburg RAID */
+ PCI_VDEVICE(INTEL, 0x8d64),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* Wellsburg RAID */
+ PCI_VDEVICE(INTEL, 0x8d66),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* Wellsburg RAID */
+ PCI_VDEVICE(INTEL, 0x8d6e),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* Coleto Creek AHCI */
+ PCI_VDEVICE(INTEL, 0x23a3),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* Wildcat LP AHCI */
+ PCI_VDEVICE(INTEL, 0x9c83),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* Wildcat LP RAID */
+ PCI_VDEVICE(INTEL, 0x9c85),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* Wildcat LP RAID */
+ PCI_VDEVICE(INTEL, 0x9c87),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* Wildcat LP RAID */
+ PCI_VDEVICE(INTEL, 0x9c8f),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* 9 Series AHCI */
+ PCI_VDEVICE(INTEL, 0x8c82),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* 9 Series M AHCI */
+ PCI_VDEVICE(INTEL, 0x8c83),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* 9 Series RAID */
+ PCI_VDEVICE(INTEL, 0x8c84),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* 9 Series M RAID */
+ PCI_VDEVICE(INTEL, 0x8c85),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* 9 Series RAID */
+ PCI_VDEVICE(INTEL, 0x8c86),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* 9 Series M RAID */
+ PCI_VDEVICE(INTEL, 0x8c87),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* 9 Series RAID */
+ PCI_VDEVICE(INTEL, 0x8c8e),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* 9 Series M RAID */
+ PCI_VDEVICE(INTEL, 0x8c8f),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* Sunrise LP AHCI */
+ PCI_VDEVICE(INTEL, 0x9d03),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* Sunrise LP RAID */
+ PCI_VDEVICE(INTEL, 0x9d05),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* Sunrise LP RAID */
+ PCI_VDEVICE(INTEL, 0x9d07),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* Sunrise Point-H AHCI */
+ PCI_VDEVICE(INTEL, 0xa102),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* Sunrise M AHCI */
+ PCI_VDEVICE(INTEL, 0xa103),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* Sunrise Point-H RAID */
+ PCI_VDEVICE(INTEL, 0xa105),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* Sunrise Point-H RAID */
+ PCI_VDEVICE(INTEL, 0xa106),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* Sunrise M RAID */
+ PCI_VDEVICE(INTEL, 0xa107),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* Sunrise Point-H RAID */
+ PCI_VDEVICE(INTEL, 0xa10f),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* Lewisburg AHCI*/
+ PCI_VDEVICE(INTEL, 0xa182),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* Lewisburg RAID*/
+ PCI_VDEVICE(INTEL, 0xa186),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* Lewisburg RAID*/
+ PCI_VDEVICE(INTEL, 0xa1d2),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* Lewisburg RAID*/
+ PCI_VDEVICE(INTEL, 0xa1d6),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* Lewisburg AHCI*/
+ PCI_VDEVICE(INTEL, 0xa202),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* Lewisburg RAID*/
+ PCI_VDEVICE(INTEL, 0xa206),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* Lewisburg RAID*/
+ PCI_VDEVICE(INTEL, 0xa252),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* Lewisburg RAID*/
+ PCI_VDEVICE(INTEL, 0xa256),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* Cannon Lake PCH-H RAID */
+ PCI_VDEVICE(INTEL, 0xa356),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* Comet Lake-H RAID */
+ PCI_VDEVICE(INTEL, 0x06d7),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* Comet Lake PCH-V RAID */
+ PCI_VDEVICE(INTEL, 0xa386),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* Bay Trail AHCI */
+ PCI_VDEVICE(INTEL, 0x0f22),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* Bay Trail AHCI */
+ PCI_VDEVICE(INTEL, 0x0f23),
+ .driver_data = board_ahci_pcs_quirk_no_devslp,
+ }, {
+ /* Cherry Tr. AHCI */
+ PCI_VDEVICE(INTEL, 0x22a3),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* ApolloLake AHCI */
+ PCI_VDEVICE(INTEL, 0x5ae3),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* Ice Lake LP AHCI */
+ PCI_VDEVICE(INTEL, 0x34d3),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* Comet Lake PCH-U AHCI */
+ PCI_VDEVICE(INTEL, 0x02d3),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* Comet Lake PCH RAID */
+ PCI_VDEVICE(INTEL, 0x02d7),
+ .driver_data = board_ahci_pcs_quirk,
+ },
- /* JMicron JMB582/585: force 32-bit DMA (broken 64-bit implementation) */
- { PCI_VDEVICE(JMICRON, 0x0582), board_ahci_jmb585 },
- { PCI_VDEVICE(JMICRON, 0x0585), board_ahci_jmb585 },
+ /* Elkhart Lake IDs 0x4b60 & 0x4b62 https://sata-io.org/product/8803 not tested yet */
+ {
+ /* Elkhart Lake AHCI */
+ PCI_VDEVICE(INTEL, 0x4b63),
+ .driver_data = board_ahci_pcs_quirk,
+ }, {
+ /* JMicron JMB582/585: force 32-bit DMA (broken 64-bit implementation) */
+ PCI_VDEVICE(JMICRON, 0x0582),
+ .driver_data = board_ahci_jmb585,
+
+ }, {
+ PCI_VDEVICE(JMICRON, 0x0585),
+ .driver_data = board_ahci_jmb585,
+ }, {
+ /* JMicron 360/1/3/5/6, match class to avoid IDE function */
+ PCI_DEVICE(PCI_VENDOR_ID_JMICRON, PCI_ANY_ID),
+ .class = PCI_CLASS_STORAGE_SATA_AHCI,
+ .class_mask = 0xffffff,
+ .driver_data = board_ahci_ign_iferr,
- /* JMicron 360/1/3/5/6, match class to avoid IDE function */
- { PCI_VENDOR_ID_JMICRON, PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID,
- PCI_CLASS_STORAGE_SATA_AHCI, 0xffffff, board_ahci_ign_iferr },
+ },
/* JMicron 362B and 362C have an AHCI function with IDE class code */
- { PCI_VDEVICE(JMICRON, 0x2362), board_ahci_ign_iferr },
- { PCI_VDEVICE(JMICRON, 0x236f), board_ahci_ign_iferr },
+ {
+ PCI_VDEVICE(JMICRON, 0x2362),
+ .driver_data = board_ahci_ign_iferr,
+
+ }, {
+ PCI_VDEVICE(JMICRON, 0x236f),
+ .driver_data = board_ahci_ign_iferr,
+
+ },
/* May need to update quirk_jmicron_async_suspend() for additions */
/* ATI */
- { PCI_VDEVICE(ATI, 0x4380), board_ahci_sb600 }, /* ATI SB600 */
- { PCI_VDEVICE(ATI, 0x4390), board_ahci_sb700 }, /* ATI SB700/800 */
- { PCI_VDEVICE(ATI, 0x4391), board_ahci_sb700 }, /* ATI SB700/800 */
- { PCI_VDEVICE(ATI, 0x4392), board_ahci_sb700 }, /* ATI SB700/800 */
- { PCI_VDEVICE(ATI, 0x4393), board_ahci_sb700 }, /* ATI SB700/800 */
- { PCI_VDEVICE(ATI, 0x4394), board_ahci_sb700 }, /* ATI SB700/800 */
- { PCI_VDEVICE(ATI, 0x4395), board_ahci_sb700 }, /* ATI SB700/800 */
+ {
+ /* ATI SB600 */
+ PCI_VDEVICE(ATI, 0x4380),
+ .driver_data = board_ahci_sb600,
+ }, {
+ /* ATI SB700/800 */
+ PCI_VDEVICE(ATI, 0x4390),
+ .driver_data = board_ahci_sb700,
+ }, {
+ /* ATI SB700/800 */
+ PCI_VDEVICE(ATI, 0x4391),
+ .driver_data = board_ahci_sb700,
+ }, {
+ /* ATI SB700/800 */
+ PCI_VDEVICE(ATI, 0x4392),
+ .driver_data = board_ahci_sb700,
+ }, {
+ /* ATI SB700/800 */
+ PCI_VDEVICE(ATI, 0x4393),
+ .driver_data = board_ahci_sb700,
+ }, {
+ /* ATI SB700/800 */
+ PCI_VDEVICE(ATI, 0x4394),
+ .driver_data = board_ahci_sb700,
+ }, {
+ /* ATI SB700/800 */
+ PCI_VDEVICE(ATI, 0x4395),
+ .driver_data = board_ahci_sb700,
+ },
/* Amazon's Annapurna Labs support */
- { PCI_DEVICE(PCI_VENDOR_ID_AMAZON_ANNAPURNA_LABS, 0x0031),
- .class = PCI_CLASS_STORAGE_SATA_AHCI,
- .class_mask = 0xffffff,
- board_ahci_al },
+ {
+ PCI_DEVICE(PCI_VENDOR_ID_AMAZON_ANNAPURNA_LABS, 0x0031),
+ .class = PCI_CLASS_STORAGE_SATA_AHCI,
+ .class_mask = 0xffffff,
+ .driver_data = board_ahci_al,
+
+ },
/* AMD */
- { PCI_VDEVICE(AMD, 0x7800), board_ahci }, /* AMD Hudson-2 */
- { PCI_VDEVICE(AMD, 0x7801), board_ahci_no_debounce_delay }, /* AMD Hudson-2 (AHCI mode) */
- { PCI_VDEVICE(AMD, 0x7900), board_ahci }, /* AMD CZ */
- { PCI_VDEVICE(AMD, 0x7901), board_ahci }, /* AMD Green Sardine */
+ {
+ /* AMD Hudson-2 */
+ PCI_VDEVICE(AMD, 0x7800),
+ .driver_data = board_ahci,
+ }, {
+ /* AMD Hudson-2 (AHCI mode) */
+ PCI_VDEVICE(AMD, 0x7801),
+ .driver_data = board_ahci_no_debounce_delay,
+ }, {
+ /* AMD CZ */
+ PCI_VDEVICE(AMD, 0x7900),
+ .driver_data = board_ahci,
+ }, {
+ /* AMD Green Sardine */
+ PCI_VDEVICE(AMD, 0x7901),
+ .driver_data = board_ahci,
+ },
/* AMD is using RAID class only for ahci controllers */
- { PCI_VENDOR_ID_AMD, PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID,
- PCI_CLASS_STORAGE_RAID << 8, 0xffffff, board_ahci },
+ {
+ PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_ANY_ID),
+ .class = PCI_CLASS_STORAGE_RAID << 8,
+ .class_mask = 0xffffff,
+ .driver_data = board_ahci,
+ },
/* Dell S140/S150 */
- { PCI_VENDOR_ID_INTEL, PCI_ANY_ID, PCI_SUBVENDOR_ID_DELL, PCI_ANY_ID,
- PCI_CLASS_STORAGE_RAID << 8, 0xffffff, board_ahci_pcs_quirk },
+ {
+ PCI_DEVICE_SUB(PCI_VENDOR_ID_INTEL, PCI_ANY_ID,
+ PCI_SUBVENDOR_ID_DELL, PCI_ANY_ID),
+ .class = PCI_CLASS_STORAGE_RAID << 8,
+ .class_mask = 0xffffff,
+ .driver_data = board_ahci_pcs_quirk,
+
+ },
/* VIA */
- { PCI_VDEVICE(VIA, 0x3349), board_ahci_vt8251 }, /* VIA VT8251 */
- { PCI_VDEVICE(VIA, 0x6287), board_ahci_vt8251 }, /* VIA VT8251 */
+ {
+ /* VIA VT8251 */
+ PCI_VDEVICE(VIA, 0x3349),
+ .driver_data = board_ahci_vt8251,
+ }, {
+ /* VIA VT8251 */
+ PCI_VDEVICE(VIA, 0x6287),
+ .driver_data = board_ahci_vt8251,
+ },
/* NVIDIA */
- { PCI_VDEVICE(NVIDIA, 0x044c), board_ahci_mcp65 }, /* MCP65 */
- { PCI_VDEVICE(NVIDIA, 0x044d), board_ahci_mcp65 }, /* MCP65 */
- { PCI_VDEVICE(NVIDIA, 0x044e), board_ahci_mcp65 }, /* MCP65 */
- { PCI_VDEVICE(NVIDIA, 0x044f), board_ahci_mcp65 }, /* MCP65 */
- { PCI_VDEVICE(NVIDIA, 0x045c), board_ahci_mcp65 }, /* MCP65 */
- { PCI_VDEVICE(NVIDIA, 0x045d), board_ahci_mcp65 }, /* MCP65 */
- { PCI_VDEVICE(NVIDIA, 0x045e), board_ahci_mcp65 }, /* MCP65 */
- { PCI_VDEVICE(NVIDIA, 0x045f), board_ahci_mcp65 }, /* MCP65 */
- { PCI_VDEVICE(NVIDIA, 0x0550), board_ahci_mcp67 }, /* MCP67 */
- { PCI_VDEVICE(NVIDIA, 0x0551), board_ahci_mcp67 }, /* MCP67 */
- { PCI_VDEVICE(NVIDIA, 0x0552), board_ahci_mcp67 }, /* MCP67 */
- { PCI_VDEVICE(NVIDIA, 0x0553), board_ahci_mcp67 }, /* MCP67 */
- { PCI_VDEVICE(NVIDIA, 0x0554), board_ahci_mcp67 }, /* MCP67 */
- { PCI_VDEVICE(NVIDIA, 0x0555), board_ahci_mcp67 }, /* MCP67 */
- { PCI_VDEVICE(NVIDIA, 0x0556), board_ahci_mcp67 }, /* MCP67 */
- { PCI_VDEVICE(NVIDIA, 0x0557), board_ahci_mcp67 }, /* MCP67 */
- { PCI_VDEVICE(NVIDIA, 0x0558), board_ahci_mcp67 }, /* MCP67 */
- { PCI_VDEVICE(NVIDIA, 0x0559), board_ahci_mcp67 }, /* MCP67 */
- { PCI_VDEVICE(NVIDIA, 0x055a), board_ahci_mcp67 }, /* MCP67 */
- { PCI_VDEVICE(NVIDIA, 0x055b), board_ahci_mcp67 }, /* MCP67 */
- { PCI_VDEVICE(NVIDIA, 0x0580), board_ahci_mcp_linux }, /* Linux ID */
- { PCI_VDEVICE(NVIDIA, 0x0581), board_ahci_mcp_linux }, /* Linux ID */
- { PCI_VDEVICE(NVIDIA, 0x0582), board_ahci_mcp_linux }, /* Linux ID */
- { PCI_VDEVICE(NVIDIA, 0x0583), board_ahci_mcp_linux }, /* Linux ID */
- { PCI_VDEVICE(NVIDIA, 0x0584), board_ahci_mcp_linux }, /* Linux ID */
- { PCI_VDEVICE(NVIDIA, 0x0585), board_ahci_mcp_linux }, /* Linux ID */
- { PCI_VDEVICE(NVIDIA, 0x0586), board_ahci_mcp_linux }, /* Linux ID */
- { PCI_VDEVICE(NVIDIA, 0x0587), board_ahci_mcp_linux }, /* Linux ID */
- { PCI_VDEVICE(NVIDIA, 0x0588), board_ahci_mcp_linux }, /* Linux ID */
- { PCI_VDEVICE(NVIDIA, 0x0589), board_ahci_mcp_linux }, /* Linux ID */
- { PCI_VDEVICE(NVIDIA, 0x058a), board_ahci_mcp_linux }, /* Linux ID */
- { PCI_VDEVICE(NVIDIA, 0x058b), board_ahci_mcp_linux }, /* Linux ID */
- { PCI_VDEVICE(NVIDIA, 0x058c), board_ahci_mcp_linux }, /* Linux ID */
- { PCI_VDEVICE(NVIDIA, 0x058d), board_ahci_mcp_linux }, /* Linux ID */
- { PCI_VDEVICE(NVIDIA, 0x058e), board_ahci_mcp_linux }, /* Linux ID */
- { PCI_VDEVICE(NVIDIA, 0x058f), board_ahci_mcp_linux }, /* Linux ID */
- { PCI_VDEVICE(NVIDIA, 0x07f0), board_ahci_mcp73 }, /* MCP73 */
- { PCI_VDEVICE(NVIDIA, 0x07f1), board_ahci_mcp73 }, /* MCP73 */
- { PCI_VDEVICE(NVIDIA, 0x07f2), board_ahci_mcp73 }, /* MCP73 */
- { PCI_VDEVICE(NVIDIA, 0x07f3), board_ahci_mcp73 }, /* MCP73 */
- { PCI_VDEVICE(NVIDIA, 0x07f4), board_ahci_mcp73 }, /* MCP73 */
- { PCI_VDEVICE(NVIDIA, 0x07f5), board_ahci_mcp73 }, /* MCP73 */
- { PCI_VDEVICE(NVIDIA, 0x07f6), board_ahci_mcp73 }, /* MCP73 */
- { PCI_VDEVICE(NVIDIA, 0x07f7), board_ahci_mcp73 }, /* MCP73 */
- { PCI_VDEVICE(NVIDIA, 0x07f8), board_ahci_mcp73 }, /* MCP73 */
- { PCI_VDEVICE(NVIDIA, 0x07f9), board_ahci_mcp73 }, /* MCP73 */
- { PCI_VDEVICE(NVIDIA, 0x07fa), board_ahci_mcp73 }, /* MCP73 */
- { PCI_VDEVICE(NVIDIA, 0x07fb), board_ahci_mcp73 }, /* MCP73 */
- { PCI_VDEVICE(NVIDIA, 0x0ad0), board_ahci_mcp77 }, /* MCP77 */
- { PCI_VDEVICE(NVIDIA, 0x0ad1), board_ahci_mcp77 }, /* MCP77 */
- { PCI_VDEVICE(NVIDIA, 0x0ad2), board_ahci_mcp77 }, /* MCP77 */
- { PCI_VDEVICE(NVIDIA, 0x0ad3), board_ahci_mcp77 }, /* MCP77 */
- { PCI_VDEVICE(NVIDIA, 0x0ad4), board_ahci_mcp77 }, /* MCP77 */
- { PCI_VDEVICE(NVIDIA, 0x0ad5), board_ahci_mcp77 }, /* MCP77 */
- { PCI_VDEVICE(NVIDIA, 0x0ad6), board_ahci_mcp77 }, /* MCP77 */
- { PCI_VDEVICE(NVIDIA, 0x0ad7), board_ahci_mcp77 }, /* MCP77 */
- { PCI_VDEVICE(NVIDIA, 0x0ad8), board_ahci_mcp77 }, /* MCP77 */
- { PCI_VDEVICE(NVIDIA, 0x0ad9), board_ahci_mcp77 }, /* MCP77 */
- { PCI_VDEVICE(NVIDIA, 0x0ada), board_ahci_mcp77 }, /* MCP77 */
- { PCI_VDEVICE(NVIDIA, 0x0adb), board_ahci_mcp77 }, /* MCP77 */
- { PCI_VDEVICE(NVIDIA, 0x0ab4), board_ahci_mcp79 }, /* MCP79 */
- { PCI_VDEVICE(NVIDIA, 0x0ab5), board_ahci_mcp79 }, /* MCP79 */
- { PCI_VDEVICE(NVIDIA, 0x0ab6), board_ahci_mcp79 }, /* MCP79 */
- { PCI_VDEVICE(NVIDIA, 0x0ab7), board_ahci_mcp79 }, /* MCP79 */
- { PCI_VDEVICE(NVIDIA, 0x0ab8), board_ahci_mcp79 }, /* MCP79 */
- { PCI_VDEVICE(NVIDIA, 0x0ab9), board_ahci_mcp79 }, /* MCP79 */
- { PCI_VDEVICE(NVIDIA, 0x0aba), board_ahci_mcp79 }, /* MCP79 */
- { PCI_VDEVICE(NVIDIA, 0x0abb), board_ahci_mcp79 }, /* MCP79 */
- { PCI_VDEVICE(NVIDIA, 0x0abc), board_ahci_mcp79 }, /* MCP79 */
- { PCI_VDEVICE(NVIDIA, 0x0abd), board_ahci_mcp79 }, /* MCP79 */
- { PCI_VDEVICE(NVIDIA, 0x0abe), board_ahci_mcp79 }, /* MCP79 */
- { PCI_VDEVICE(NVIDIA, 0x0abf), board_ahci_mcp79 }, /* MCP79 */
- { PCI_VDEVICE(NVIDIA, 0x0d84), board_ahci_mcp89 }, /* MCP89 */
- { PCI_VDEVICE(NVIDIA, 0x0d85), board_ahci_mcp89 }, /* MCP89 */
- { PCI_VDEVICE(NVIDIA, 0x0d86), board_ahci_mcp89 }, /* MCP89 */
- { PCI_VDEVICE(NVIDIA, 0x0d87), board_ahci_mcp89 }, /* MCP89 */
- { PCI_VDEVICE(NVIDIA, 0x0d88), board_ahci_mcp89 }, /* MCP89 */
- { PCI_VDEVICE(NVIDIA, 0x0d89), board_ahci_mcp89 }, /* MCP89 */
- { PCI_VDEVICE(NVIDIA, 0x0d8a), board_ahci_mcp89 }, /* MCP89 */
- { PCI_VDEVICE(NVIDIA, 0x0d8b), board_ahci_mcp89 }, /* MCP89 */
- { PCI_VDEVICE(NVIDIA, 0x0d8c), board_ahci_mcp89 }, /* MCP89 */
- { PCI_VDEVICE(NVIDIA, 0x0d8d), board_ahci_mcp89 }, /* MCP89 */
- { PCI_VDEVICE(NVIDIA, 0x0d8e), board_ahci_mcp89 }, /* MCP89 */
- { PCI_VDEVICE(NVIDIA, 0x0d8f), board_ahci_mcp89 }, /* MCP89 */
+ {
+ /* MCP65 */
+ PCI_VDEVICE(NVIDIA, 0x044c),
+ .driver_data = board_ahci_mcp65,
+ }, {
+ /* MCP65 */
+ PCI_VDEVICE(NVIDIA, 0x044d),
+ .driver_data = board_ahci_mcp65,
+ }, {
+ /* MCP65 */
+ PCI_VDEVICE(NVIDIA, 0x044e),
+ .driver_data = board_ahci_mcp65,
+ }, {
+ /* MCP65 */
+ PCI_VDEVICE(NVIDIA, 0x044f),
+ .driver_data = board_ahci_mcp65,
+ }, {
+ /* MCP65 */
+ PCI_VDEVICE(NVIDIA, 0x045c),
+ .driver_data = board_ahci_mcp65,
+ }, {
+ /* MCP65 */
+ PCI_VDEVICE(NVIDIA, 0x045d),
+ .driver_data = board_ahci_mcp65,
+ }, {
+ /* MCP65 */
+ PCI_VDEVICE(NVIDIA, 0x045e),
+ .driver_data = board_ahci_mcp65,
+ }, {
+ /* MCP65 */
+ PCI_VDEVICE(NVIDIA, 0x045f),
+ .driver_data = board_ahci_mcp65,
+ }, {
+ /* MCP67 */
+ PCI_VDEVICE(NVIDIA, 0x0550),
+ .driver_data = board_ahci_mcp67,
+ }, {
+ /* MCP67 */
+ PCI_VDEVICE(NVIDIA, 0x0551),
+ .driver_data = board_ahci_mcp67,
+ }, {
+ /* MCP67 */
+ PCI_VDEVICE(NVIDIA, 0x0552),
+ .driver_data = board_ahci_mcp67,
+ }, {
+ /* MCP67 */
+ PCI_VDEVICE(NVIDIA, 0x0553),
+ .driver_data = board_ahci_mcp67,
+ }, {
+ /* MCP67 */
+ PCI_VDEVICE(NVIDIA, 0x0554),
+ .driver_data = board_ahci_mcp67,
+ }, {
+ /* MCP67 */
+ PCI_VDEVICE(NVIDIA, 0x0555),
+ .driver_data = board_ahci_mcp67,
+ }, {
+ /* MCP67 */
+ PCI_VDEVICE(NVIDIA, 0x0556),
+ .driver_data = board_ahci_mcp67,
+ }, {
+ /* MCP67 */
+ PCI_VDEVICE(NVIDIA, 0x0557),
+ .driver_data = board_ahci_mcp67,
+ }, {
+ /* MCP67 */
+ PCI_VDEVICE(NVIDIA, 0x0558),
+ .driver_data = board_ahci_mcp67,
+ }, {
+ /* MCP67 */
+ PCI_VDEVICE(NVIDIA, 0x0559),
+ .driver_data = board_ahci_mcp67,
+ }, {
+ /* MCP67 */
+ PCI_VDEVICE(NVIDIA, 0x055a),
+ .driver_data = board_ahci_mcp67,
+ }, {
+ /* MCP67 */
+ PCI_VDEVICE(NVIDIA, 0x055b),
+ .driver_data = board_ahci_mcp67,
+ }, {
+ /* Linux ID */
+ PCI_VDEVICE(NVIDIA, 0x0580),
+ .driver_data = board_ahci_mcp_linux,
+ }, {
+ /* Linux ID */
+ PCI_VDEVICE(NVIDIA, 0x0581),
+ .driver_data = board_ahci_mcp_linux,
+ }, {
+ /* Linux ID */
+ PCI_VDEVICE(NVIDIA, 0x0582),
+ .driver_data = board_ahci_mcp_linux,
+ }, {
+ /* Linux ID */
+ PCI_VDEVICE(NVIDIA, 0x0583),
+ .driver_data = board_ahci_mcp_linux,
+ }, {
+ /* Linux ID */
+ PCI_VDEVICE(NVIDIA, 0x0584),
+ .driver_data = board_ahci_mcp_linux,
+ }, {
+ /* Linux ID */
+ PCI_VDEVICE(NVIDIA, 0x0585),
+ .driver_data = board_ahci_mcp_linux,
+ }, {
+ /* Linux ID */
+ PCI_VDEVICE(NVIDIA, 0x0586),
+ .driver_data = board_ahci_mcp_linux,
+ }, {
+ /* Linux ID */
+ PCI_VDEVICE(NVIDIA, 0x0587),
+ .driver_data = board_ahci_mcp_linux,
+ }, {
+ /* Linux ID */
+ PCI_VDEVICE(NVIDIA, 0x0588),
+ .driver_data = board_ahci_mcp_linux,
+ }, {
+ /* Linux ID */
+ PCI_VDEVICE(NVIDIA, 0x0589),
+ .driver_data = board_ahci_mcp_linux,
+ }, {
+ /* Linux ID */
+ PCI_VDEVICE(NVIDIA, 0x058a),
+ .driver_data = board_ahci_mcp_linux,
+ }, {
+ /* Linux ID */
+ PCI_VDEVICE(NVIDIA, 0x058b),
+ .driver_data = board_ahci_mcp_linux,
+ }, {
+ /* Linux ID */
+ PCI_VDEVICE(NVIDIA, 0x058c),
+ .driver_data = board_ahci_mcp_linux,
+ }, {
+ /* Linux ID */
+ PCI_VDEVICE(NVIDIA, 0x058d),
+ .driver_data = board_ahci_mcp_linux,
+ }, {
+ /* Linux ID */
+ PCI_VDEVICE(NVIDIA, 0x058e),
+ .driver_data = board_ahci_mcp_linux,
+ }, {
+ /* Linux ID */
+ PCI_VDEVICE(NVIDIA, 0x058f),
+ .driver_data = board_ahci_mcp_linux,
+ }, {
+ /* MCP73 */
+ PCI_VDEVICE(NVIDIA, 0x07f0),
+ .driver_data = board_ahci_mcp73,
+ }, {
+ /* MCP73 */
+ PCI_VDEVICE(NVIDIA, 0x07f1),
+ .driver_data = board_ahci_mcp73,
+ }, {
+ /* MCP73 */
+ PCI_VDEVICE(NVIDIA, 0x07f2),
+ .driver_data = board_ahci_mcp73,
+ }, {
+ /* MCP73 */
+ PCI_VDEVICE(NVIDIA, 0x07f3),
+ .driver_data = board_ahci_mcp73,
+ }, {
+ /* MCP73 */
+ PCI_VDEVICE(NVIDIA, 0x07f4),
+ .driver_data = board_ahci_mcp73,
+ }, {
+ /* MCP73 */
+ PCI_VDEVICE(NVIDIA, 0x07f5),
+ .driver_data = board_ahci_mcp73,
+ }, {
+ /* MCP73 */
+ PCI_VDEVICE(NVIDIA, 0x07f6),
+ .driver_data = board_ahci_mcp73,
+ }, {
+ /* MCP73 */
+ PCI_VDEVICE(NVIDIA, 0x07f7),
+ .driver_data = board_ahci_mcp73,
+ }, {
+ /* MCP73 */
+ PCI_VDEVICE(NVIDIA, 0x07f8),
+ .driver_data = board_ahci_mcp73,
+ }, {
+ /* MCP73 */
+ PCI_VDEVICE(NVIDIA, 0x07f9),
+ .driver_data = board_ahci_mcp73,
+ }, {
+ /* MCP73 */
+ PCI_VDEVICE(NVIDIA, 0x07fa),
+ .driver_data = board_ahci_mcp73,
+ }, {
+ /* MCP73 */
+ PCI_VDEVICE(NVIDIA, 0x07fb),
+ .driver_data = board_ahci_mcp73,
+ }, {
+ /* MCP77 */
+ PCI_VDEVICE(NVIDIA, 0x0ad0),
+ .driver_data = board_ahci_mcp77,
+ }, {
+ /* MCP77 */
+ PCI_VDEVICE(NVIDIA, 0x0ad1),
+ .driver_data = board_ahci_mcp77,
+ }, {
+ /* MCP77 */
+ PCI_VDEVICE(NVIDIA, 0x0ad2),
+ .driver_data = board_ahci_mcp77,
+ }, {
+ /* MCP77 */
+ PCI_VDEVICE(NVIDIA, 0x0ad3),
+ .driver_data = board_ahci_mcp77,
+ }, {
+ /* MCP77 */
+ PCI_VDEVICE(NVIDIA, 0x0ad4),
+ .driver_data = board_ahci_mcp77,
+ }, {
+ /* MCP77 */
+ PCI_VDEVICE(NVIDIA, 0x0ad5),
+ .driver_data = board_ahci_mcp77,
+ }, {
+ /* MCP77 */
+ PCI_VDEVICE(NVIDIA, 0x0ad6),
+ .driver_data = board_ahci_mcp77,
+ }, {
+ /* MCP77 */
+ PCI_VDEVICE(NVIDIA, 0x0ad7),
+ .driver_data = board_ahci_mcp77,
+ }, {
+ /* MCP77 */
+ PCI_VDEVICE(NVIDIA, 0x0ad8),
+ .driver_data = board_ahci_mcp77,
+ }, {
+ /* MCP77 */
+ PCI_VDEVICE(NVIDIA, 0x0ad9),
+ .driver_data = board_ahci_mcp77,
+ }, {
+ /* MCP77 */
+ PCI_VDEVICE(NVIDIA, 0x0ada),
+ .driver_data = board_ahci_mcp77,
+ }, {
+ /* MCP77 */
+ PCI_VDEVICE(NVIDIA, 0x0adb),
+ .driver_data = board_ahci_mcp77,
+ }, {
+ /* MCP79 */
+ PCI_VDEVICE(NVIDIA, 0x0ab4),
+ .driver_data = board_ahci_mcp79,
+ }, {
+ /* MCP79 */
+ PCI_VDEVICE(NVIDIA, 0x0ab5),
+ .driver_data = board_ahci_mcp79,
+ }, {
+ /* MCP79 */
+ PCI_VDEVICE(NVIDIA, 0x0ab6),
+ .driver_data = board_ahci_mcp79,
+ }, {
+ /* MCP79 */
+ PCI_VDEVICE(NVIDIA, 0x0ab7),
+ .driver_data = board_ahci_mcp79,
+ }, {
+ /* MCP79 */
+ PCI_VDEVICE(NVIDIA, 0x0ab8),
+ .driver_data = board_ahci_mcp79,
+ }, {
+ /* MCP79 */
+ PCI_VDEVICE(NVIDIA, 0x0ab9),
+ .driver_data = board_ahci_mcp79,
+ }, {
+ /* MCP79 */
+ PCI_VDEVICE(NVIDIA, 0x0aba),
+ .driver_data = board_ahci_mcp79,
+ }, {
+ /* MCP79 */
+ PCI_VDEVICE(NVIDIA, 0x0abb),
+ .driver_data = board_ahci_mcp79,
+ }, {
+ /* MCP79 */
+ PCI_VDEVICE(NVIDIA, 0x0abc),
+ .driver_data = board_ahci_mcp79,
+ }, {
+ /* MCP79 */
+ PCI_VDEVICE(NVIDIA, 0x0abd),
+ .driver_data = board_ahci_mcp79,
+ }, {
+ /* MCP79 */
+ PCI_VDEVICE(NVIDIA, 0x0abe),
+ .driver_data = board_ahci_mcp79,
+ }, {
+ /* MCP79 */
+ PCI_VDEVICE(NVIDIA, 0x0abf),
+ .driver_data = board_ahci_mcp79,
+ }, {
+ /* MCP89 */
+ PCI_VDEVICE(NVIDIA, 0x0d84),
+ .driver_data = board_ahci_mcp89,
+ }, {
+ /* MCP89 */
+ PCI_VDEVICE(NVIDIA, 0x0d85),
+ .driver_data = board_ahci_mcp89,
+ }, {
+ /* MCP89 */
+ PCI_VDEVICE(NVIDIA, 0x0d86),
+ .driver_data = board_ahci_mcp89,
+ }, {
+ /* MCP89 */
+ PCI_VDEVICE(NVIDIA, 0x0d87),
+ .driver_data = board_ahci_mcp89,
+ }, {
+ /* MCP89 */
+ PCI_VDEVICE(NVIDIA, 0x0d88),
+ .driver_data = board_ahci_mcp89,
+ }, {
+ /* MCP89 */
+ PCI_VDEVICE(NVIDIA, 0x0d89),
+ .driver_data = board_ahci_mcp89,
+ }, {
+ /* MCP89 */
+ PCI_VDEVICE(NVIDIA, 0x0d8a),
+ .driver_data = board_ahci_mcp89,
+ }, {
+ /* MCP89 */
+ PCI_VDEVICE(NVIDIA, 0x0d8b),
+ .driver_data = board_ahci_mcp89,
+ }, {
+ /* MCP89 */
+ PCI_VDEVICE(NVIDIA, 0x0d8c),
+ .driver_data = board_ahci_mcp89,
+ }, {
+ /* MCP89 */
+ PCI_VDEVICE(NVIDIA, 0x0d8d),
+ .driver_data = board_ahci_mcp89,
+ }, {
+ /* MCP89 */
+ PCI_VDEVICE(NVIDIA, 0x0d8e),
+ .driver_data = board_ahci_mcp89,
+ }, {
+ /* MCP89 */
+ PCI_VDEVICE(NVIDIA, 0x0d8f),
+ .driver_data = board_ahci_mcp89,
+ },
/* SiS */
- { PCI_VDEVICE(SI, 0x1184), board_ahci }, /* SiS 966 */
- { PCI_VDEVICE(SI, 0x1185), board_ahci }, /* SiS 968 */
- { PCI_VDEVICE(SI, 0x0186), board_ahci }, /* SiS 968 */
+ {
+ /* SiS 966 */
+ PCI_VDEVICE(SI, 0x1184),
+ .driver_data = board_ahci,
+ }, {
+ /* SiS 968 */
+ PCI_VDEVICE(SI, 0x1185),
+ .driver_data = board_ahci,
+ }, {
+ /* SiS 968 */
+ PCI_VDEVICE(SI, 0x0186),
+ .driver_data = board_ahci,
+ },
/* ST Microelectronics */
- { PCI_VDEVICE(STMICRO, 0xCC06), board_ahci }, /* ST ConneXt */
+ {
+ /* ST ConneXt */
+ PCI_VDEVICE(STMICRO, 0xCC06),
+ .driver_data = board_ahci,
+ },
/* Marvell */
- { PCI_VDEVICE(MARVELL, 0x6145), board_ahci_mv }, /* 6145 */
- { PCI_VDEVICE(MARVELL, 0x6121), board_ahci_mv }, /* 6121 */
- { PCI_DEVICE(PCI_VENDOR_ID_MARVELL_EXT, 0x9123),
- .class = PCI_CLASS_STORAGE_SATA_AHCI,
- .class_mask = 0xffffff,
- .driver_data = board_ahci_yes_fbs }, /* 88se9128 */
- { PCI_DEVICE(PCI_VENDOR_ID_MARVELL_EXT, 0x9125),
- .driver_data = board_ahci_yes_fbs }, /* 88se9125 */
- { PCI_DEVICE_SUB(PCI_VENDOR_ID_MARVELL_EXT, 0x9178,
- PCI_VENDOR_ID_MARVELL_EXT, 0x9170),
- .driver_data = board_ahci_yes_fbs }, /* 88se9170 */
- { PCI_DEVICE(PCI_VENDOR_ID_MARVELL_EXT, 0x917a),
- .driver_data = board_ahci_yes_fbs }, /* 88se9172 */
- { PCI_DEVICE(PCI_VENDOR_ID_MARVELL_EXT, 0x9172),
- .driver_data = board_ahci_yes_fbs }, /* 88se9182 */
- { PCI_DEVICE(PCI_VENDOR_ID_MARVELL_EXT, 0x9182),
- .driver_data = board_ahci_yes_fbs }, /* 88se9172 */
- { PCI_DEVICE(PCI_VENDOR_ID_MARVELL_EXT, 0x9192),
- .driver_data = board_ahci_yes_fbs }, /* 88se9172 on some Gigabyte */
- { PCI_DEVICE(PCI_VENDOR_ID_MARVELL_EXT, 0x91a0),
- .driver_data = board_ahci_yes_fbs },
- { PCI_DEVICE(PCI_VENDOR_ID_MARVELL_EXT, 0x91a2), /* 88se91a2 */
- .driver_data = board_ahci_yes_fbs },
- { PCI_DEVICE(PCI_VENDOR_ID_MARVELL_EXT, 0x91a3),
- .driver_data = board_ahci_yes_fbs },
- { PCI_DEVICE(PCI_VENDOR_ID_MARVELL_EXT, 0x9215),
- .driver_data = board_ahci_yes_fbs_atapi_dma },
- { PCI_DEVICE(PCI_VENDOR_ID_MARVELL_EXT, 0x9230),
- .driver_data = board_ahci_yes_fbs },
- { PCI_DEVICE(PCI_VENDOR_ID_MARVELL_EXT, 0x9235),
- .driver_data = board_ahci_no_debounce_delay },
- { PCI_DEVICE(PCI_VENDOR_ID_TTI, 0x0642), /* highpoint rocketraid 642L */
- .driver_data = board_ahci_yes_fbs },
- { PCI_DEVICE(PCI_VENDOR_ID_TTI, 0x0645), /* highpoint rocketraid 644L */
- .driver_data = board_ahci_yes_fbs },
+ {
+ /* 6145 */
+ PCI_VDEVICE(MARVELL, 0x6145),
+ .driver_data = board_ahci_mv,
+ }, {
+ /* 6121 */
+ PCI_VDEVICE(MARVELL, 0x6121),
+ .driver_data = board_ahci_mv,
+ }, {
+ /* 88se9128 */
+ PCI_DEVICE(PCI_VENDOR_ID_MARVELL_EXT, 0x9123),
+ .class = PCI_CLASS_STORAGE_SATA_AHCI,
+ .class_mask = 0xffffff,
+ .driver_data = board_ahci_yes_fbs,
+ }, {
+ /* 88se9125 */
+ PCI_DEVICE(PCI_VENDOR_ID_MARVELL_EXT, 0x9125),
+ .driver_data = board_ahci_yes_fbs,
+ }, {
+ /* 88se9170 */
+ PCI_DEVICE_SUB(PCI_VENDOR_ID_MARVELL_EXT, 0x9178,
+ PCI_VENDOR_ID_MARVELL_EXT, 0x9170),
+ .driver_data = board_ahci_yes_fbs,
+ }, {
+ /* 88se9172 */
+ PCI_DEVICE(PCI_VENDOR_ID_MARVELL_EXT, 0x917a),
+ .driver_data = board_ahci_yes_fbs,
+ }, {
+ /* 88se9182 */
+ PCI_DEVICE(PCI_VENDOR_ID_MARVELL_EXT, 0x9172),
+ .driver_data = board_ahci_yes_fbs,
+ }, {
+ /* 88se9172 */
+ PCI_DEVICE(PCI_VENDOR_ID_MARVELL_EXT, 0x9182),
+ .driver_data = board_ahci_yes_fbs,
+ }, {
+ /* 88se9172 on some Gigabyte */
+ PCI_DEVICE(PCI_VENDOR_ID_MARVELL_EXT, 0x9192),
+ .driver_data = board_ahci_yes_fbs,
+ }, {
+ PCI_DEVICE(PCI_VENDOR_ID_MARVELL_EXT, 0x91a0),
+ .driver_data = board_ahci_yes_fbs,
+ }, {
+ PCI_DEVICE(PCI_VENDOR_ID_MARVELL_EXT, 0x91a2), /* 88se91a2 */
+ .driver_data = board_ahci_yes_fbs,
+ }, {
+ PCI_DEVICE(PCI_VENDOR_ID_MARVELL_EXT, 0x91a3),
+ .driver_data = board_ahci_yes_fbs,
+ }, {
+ PCI_DEVICE(PCI_VENDOR_ID_MARVELL_EXT, 0x9215),
+ .driver_data = board_ahci_yes_fbs_atapi_dma,
+ }, {
+ PCI_DEVICE(PCI_VENDOR_ID_MARVELL_EXT, 0x9230),
+ .driver_data = board_ahci_yes_fbs,
+ }, {
+ PCI_DEVICE(PCI_VENDOR_ID_MARVELL_EXT, 0x9235),
+ .driver_data = board_ahci_no_debounce_delay,
+ },
+
+ /* TTI */
+ {
+ /* highpoint rocketraid 642L */
+ PCI_DEVICE(PCI_VENDOR_ID_TTI, 0x0642),
+ .driver_data = board_ahci_yes_fbs,
+ }, {
+ /* highpoint rocketraid 644L */
+ PCI_DEVICE(PCI_VENDOR_ID_TTI, 0x0645),
+ .driver_data = board_ahci_yes_fbs,
+ },
/* Promise */
- { PCI_VDEVICE(PROMISE, 0x3f20), board_ahci }, /* PDC42819 */
- { PCI_VDEVICE(PROMISE, 0x3781), board_ahci }, /* FastTrak TX8660 ahci-mode */
+ {
+ /* PDC42819 */
+ PCI_VDEVICE(PROMISE, 0x3f20),
+ .driver_data = board_ahci,
+ }, {
+ /* FastTrak TX8660 ahci-mode */
+ PCI_VDEVICE(PROMISE, 0x3781),
+ .driver_data = board_ahci,
+ },
/* ASMedia */
- { PCI_VDEVICE(ASMEDIA, 0x0601), board_ahci_43bit_dma }, /* ASM1060 */
- { PCI_VDEVICE(ASMEDIA, 0x0602), board_ahci_43bit_dma }, /* ASM1060 */
- { PCI_VDEVICE(ASMEDIA, 0x0611), board_ahci_43bit_dma }, /* ASM1061 */
- { PCI_VDEVICE(ASMEDIA, 0x0612), board_ahci_43bit_dma }, /* ASM1061/1062 */
- { PCI_VDEVICE(ASMEDIA, 0x0621), board_ahci_43bit_dma }, /* ASM1061R */
- { PCI_VDEVICE(ASMEDIA, 0x0622), board_ahci_43bit_dma }, /* ASM1062R */
- { PCI_VDEVICE(ASMEDIA, 0x0624), board_ahci_43bit_dma }, /* ASM1062+JMB575 */
- { PCI_VDEVICE(ASMEDIA, 0x1062), board_ahci }, /* ASM1062A */
- { PCI_VDEVICE(ASMEDIA, 0x1064), board_ahci }, /* ASM1064 */
- { PCI_VDEVICE(ASMEDIA, 0x1164), board_ahci }, /* ASM1164 */
- { PCI_VDEVICE(ASMEDIA, 0x1165), board_ahci }, /* ASM1165 */
- { PCI_VDEVICE(ASMEDIA, 0x1166), board_ahci }, /* ASM1166 */
-
- /*
- * Samsung SSDs found on some macbooks. NCQ times out if MSI is
- * enabled. https://bugzilla.kernel.org/show_bug.cgi?id=60731
- */
- { PCI_VDEVICE(SAMSUNG, 0x1600), board_ahci_no_msi },
- { PCI_VDEVICE(SAMSUNG, 0xa800), board_ahci_no_msi },
-
- /* Enmotus */
- { PCI_DEVICE(0x1c44, 0x8000), board_ahci },
-
- /* Loongson */
- { PCI_VDEVICE(LOONGSON, 0x7a08), board_ahci },
-
- /* Generic, PCI class code for AHCI */
- { PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID,
- PCI_CLASS_STORAGE_SATA_AHCI, 0xffffff, board_ahci },
+ {
+ /* ASM1060 */
+ PCI_VDEVICE(ASMEDIA, 0x0601),
+ .driver_data = board_ahci_43bit_dma,
+ }, {
+ /* ASM1060 */
+ PCI_VDEVICE(ASMEDIA, 0x0602),
+ .driver_data = board_ahci_43bit_dma,
+ }, {
+ /* ASM1061 */
+ PCI_VDEVICE(ASMEDIA, 0x0611),
+ .driver_data = board_ahci_43bit_dma,
+ }, {
+ /* ASM1061/1062 */
+ PCI_VDEVICE(ASMEDIA, 0x0612),
+ .driver_data = board_ahci_43bit_dma,
+ }, {
+ /* ASM1061R */
+ PCI_VDEVICE(ASMEDIA, 0x0621),
+ .driver_data = board_ahci_43bit_dma,
+ }, {
+ /* ASM1062R */
+ PCI_VDEVICE(ASMEDIA, 0x0622),
+ .driver_data = board_ahci_43bit_dma,
+ }, {
+ /* ASM1062+JMB575 */
+ PCI_VDEVICE(ASMEDIA, 0x0624),
+ .driver_data = board_ahci_43bit_dma,
+ }, {
+ /* ASM1062A */
+ PCI_VDEVICE(ASMEDIA, 0x1062),
+ .driver_data = board_ahci,
+ }, {
+ /* ASM1064 */
+ PCI_VDEVICE(ASMEDIA, 0x1064),
+ .driver_data = board_ahci,
+ }, {
+ /* ASM1164 */
+ PCI_VDEVICE(ASMEDIA, 0x1164),
+ .driver_data = board_ahci,
+ }, {
+ /* ASM1165 */
+ PCI_VDEVICE(ASMEDIA, 0x1165),
+ .driver_data = board_ahci,
+ }, {
+ /* ASM1166 */
+ PCI_VDEVICE(ASMEDIA, 0x1166),
+ .driver_data = board_ahci,
+ }, {
+ /*
+ * Samsung SSDs found on some macbooks. NCQ times out if MSI is
+ * enabled. https://bugzilla.kernel.org/show_bug.cgi?id=60731
+ */
+ PCI_VDEVICE(SAMSUNG, 0x1600),
+ .driver_data = board_ahci_no_msi,
+
+ }, {
+ PCI_VDEVICE(SAMSUNG, 0xa800),
+ .driver_data = board_ahci_no_msi,
+ }, {
+ /* Enmotus */
+ PCI_DEVICE(0x1c44, 0x8000),
+ .driver_data = board_ahci,
+ }, {
+ /* Loongson */
+ PCI_VDEVICE(LOONGSON, 0x7a08),
+ .driver_data = board_ahci,
+
+ }, {
+ /* Generic, PCI class code for AHCI */
+ PCI_DEVICE_CLASS(PCI_CLASS_STORAGE_SATA_AHCI, 0xffffff),
+ .driver_data = board_ahci,
+ },
{ } /* terminate list */
};
static const struct pci_device_id piix_pci_tbl[] = {
/* Intel PIIX3 for the 430HX etc */
- { 0x8086, 0x7010, PCI_ANY_ID, PCI_ANY_ID, 0, 0, piix_pata_mwdma },
- /* VMware ICH4 */
- { 0x8086, 0x7111, 0x15ad, 0x1976, 0, 0, piix_pata_vmw },
- /* Intel PIIX4 for the 430TX/440BX/MX chipset: UDMA 33 */
- /* Also PIIX4E (fn3 rev 2) and PIIX4M (fn3 rev 3) */
- { 0x8086, 0x7111, PCI_ANY_ID, PCI_ANY_ID, 0, 0, piix_pata_33 },
- /* Intel PIIX4 */
- { 0x8086, 0x7199, PCI_ANY_ID, PCI_ANY_ID, 0, 0, piix_pata_33 },
- /* Intel PIIX4 */
- { 0x8086, 0x7601, PCI_ANY_ID, PCI_ANY_ID, 0, 0, piix_pata_33 },
- /* Intel PIIX */
- { 0x8086, 0x84CA, PCI_ANY_ID, PCI_ANY_ID, 0, 0, piix_pata_33 },
- /* Intel ICH (i810, i815, i840) UDMA 66*/
- { 0x8086, 0x2411, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich_pata_66 },
- /* Intel ICH0 : UDMA 33*/
- { 0x8086, 0x2421, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich_pata_33 },
- /* Intel ICH2M */
- { 0x8086, 0x244A, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich_pata_100 },
- /* Intel ICH2 (i810E2, i845, 850, 860) UDMA 100 */
- { 0x8086, 0x244B, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich_pata_100 },
- /* Intel ICH3M */
- { 0x8086, 0x248A, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich_pata_100 },
- /* Intel ICH3 (E7500/1) UDMA 100 */
- { 0x8086, 0x248B, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich_pata_100 },
- /* Intel ICH4-L */
- { 0x8086, 0x24C1, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich_pata_100 },
- /* Intel ICH4 (i845GV, i845E, i852, i855) UDMA 100 */
- { 0x8086, 0x24CA, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich_pata_100 },
- { 0x8086, 0x24CB, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich_pata_100 },
- /* Intel ICH5 */
- { 0x8086, 0x24DB, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich_pata_100 },
- /* C-ICH (i810E2) */
- { 0x8086, 0x245B, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich_pata_100 },
- /* ESB (855GME/875P + 6300ESB) UDMA 100 */
- { 0x8086, 0x25A2, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich_pata_100 },
- /* ICH6 (and 6) (i915) UDMA 100 */
- { 0x8086, 0x266F, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich_pata_100 },
- /* ICH7/7-R (i945, i975) UDMA 100*/
- { 0x8086, 0x27DF, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich_pata_100_nomwdma1 },
- { 0x8086, 0x269E, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich_pata_100_nomwdma1 },
- /* ICH8 Mobile PATA Controller */
- { 0x8086, 0x2850, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich_pata_100 },
+ {
+ PCI_DEVICE(0x8086, 0x7010),
+ .driver_data = piix_pata_mwdma,
+ }, {
+ /* VMware ICH4 */
+ PCI_DEVICE_SUB(0x8086, 0x7111, 0x15ad, 0x1976),
+ .driver_data = piix_pata_vmw,
+ }, {
+ /* Intel PIIX4 for the 430TX/440BX/MX chipset: UDMA 33 */
+ /* Also PIIX4E (fn3 rev 2) and PIIX4M (fn3 rev 3) */
+ PCI_DEVICE(0x8086, 0x7111),
+ .driver_data = piix_pata_33,
+ }, {
+ /* Intel PIIX4 */
+ PCI_DEVICE(0x8086, 0x7199),
+ .driver_data = piix_pata_33,
+ }, {
+ /* Intel PIIX4 */
+ PCI_DEVICE(0x8086, 0x7601),
+ .driver_data = piix_pata_33,
+ }, {
+ /* Intel PIIX */
+ PCI_DEVICE(0x8086, 0x84CA),
+ .driver_data = piix_pata_33,
+ }, {
+ /* Intel ICH (i810, i815, i840) UDMA 66*/
+ PCI_DEVICE(0x8086, 0x2411),
+ .driver_data = ich_pata_66,
+ }, {
+ /* Intel ICH0 : UDMA 33*/
+ PCI_DEVICE(0x8086, 0x2421),
+ .driver_data = ich_pata_33,
+ }, {
+ /* Intel ICH2M */
+ PCI_DEVICE(0x8086, 0x244A),
+ .driver_data = ich_pata_100,
+ }, {
+ /* Intel ICH2 (i810E2, i845, 850, 860) UDMA 100 */
+ PCI_DEVICE(0x8086, 0x244B),
+ .driver_data = ich_pata_100,
+ }, {
+ /* Intel ICH3M */
+ PCI_DEVICE(0x8086, 0x248A),
+ .driver_data = ich_pata_100,
+ }, {
+ /* Intel ICH3 (E7500/1) UDMA 100 */
+ PCI_DEVICE(0x8086, 0x248B),
+ .driver_data = ich_pata_100,
+ }, {
+ /* Intel ICH4-L */
+ PCI_DEVICE(0x8086, 0x24C1),
+ .driver_data = ich_pata_100,
+ }, {
+ /* Intel ICH4 (i845GV, i845E, i852, i855) UDMA 100 */
+ PCI_DEVICE(0x8086, 0x24CA),
+ .driver_data = ich_pata_100,
+ }, {
+ PCI_DEVICE(0x8086, 0x24CB),
+ .driver_data = ich_pata_100,
+ }, {
+ /* Intel ICH5 */
+ PCI_DEVICE(0x8086, 0x24DB),
+ .driver_data = ich_pata_100,
+ }, {
+ /* C-ICH (i810E2) */
+ PCI_DEVICE(0x8086, 0x245B),
+ .driver_data = ich_pata_100,
+ }, {
+ /* ESB (855GME/875P + 6300ESB) UDMA 100 */
+ PCI_DEVICE(0x8086, 0x25A2),
+ .driver_data = ich_pata_100,
+ }, {
+ /* ICH6 (and 6) (i915) UDMA 100 */
+ PCI_DEVICE(0x8086, 0x266F),
+ .driver_data = ich_pata_100,
+ }, {
+ /* ICH7/7-R (i945, i975) UDMA 100*/
+ PCI_DEVICE(0x8086, 0x27DF),
+ .driver_data = ich_pata_100_nomwdma1,
+ }, {
+ PCI_DEVICE(0x8086, 0x269E),
+ .driver_data = ich_pata_100_nomwdma1,
+ }, {
+ /* ICH8 Mobile PATA Controller */
+ PCI_DEVICE(0x8086, 0x2850),
+ .driver_data = ich_pata_100,
+ },
/* SATA ports */
-
- /* 82801EB (ICH5) */
- { 0x8086, 0x24d1, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich5_sata },
- /* 82801EB (ICH5) */
- { 0x8086, 0x24df, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich5_sata },
- /* 6300ESB (ICH5 variant with broken PCS present bits) */
- { 0x8086, 0x25a3, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich5_sata },
- /* 6300ESB pretending RAID */
- { 0x8086, 0x25b0, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich5_sata },
- /* 82801FB/FW (ICH6/ICH6W) */
- { 0x8086, 0x2651, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich6_sata },
- /* 82801FR/FRW (ICH6R/ICH6RW) */
- { 0x8086, 0x2652, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich6_sata },
- /* 82801FBM ICH6M (ICH6R with only port 0 and 2 implemented).
- * Attach iff the controller is in IDE mode. */
- { 0x8086, 0x2653, PCI_ANY_ID, PCI_ANY_ID,
- PCI_CLASS_STORAGE_IDE << 8, 0xffff00, ich6m_sata },
- /* 82801GB/GR/GH (ICH7, identical to ICH6) */
- { 0x8086, 0x27c0, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich6_sata },
- /* 82801GBM/GHM (ICH7M, identical to ICH6M) */
- { 0x8086, 0x27c4, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich6m_sata },
- /* Enterprise Southbridge 2 (631xESB/632xESB) */
- { 0x8086, 0x2680, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich6_sata },
- /* SATA Controller 1 IDE (ICH8) */
- { 0x8086, 0x2820, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_sata },
- /* SATA Controller 2 IDE (ICH8) */
- { 0x8086, 0x2825, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_2port_sata },
- /* Mobile SATA Controller IDE (ICH8M), Apple */
- { 0x8086, 0x2828, 0x106b, 0x00a0, 0, 0, ich8m_apple_sata },
- { 0x8086, 0x2828, 0x106b, 0x00a1, 0, 0, ich8m_apple_sata },
- { 0x8086, 0x2828, 0x106b, 0x00a3, 0, 0, ich8m_apple_sata },
- /* Mobile SATA Controller IDE (ICH8M) */
- { 0x8086, 0x2828, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_sata },
- /* SATA Controller IDE (ICH9) */
- { 0x8086, 0x2920, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_sata },
- /* SATA Controller IDE (ICH9) */
- { 0x8086, 0x2921, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_2port_sata },
- /* SATA Controller IDE (ICH9) */
- { 0x8086, 0x2926, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_2port_sata },
- /* SATA Controller IDE (ICH9M) */
- { 0x8086, 0x2928, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_2port_sata },
- /* SATA Controller IDE (ICH9M) */
- { 0x8086, 0x292d, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_2port_sata },
- /* SATA Controller IDE (ICH9M) */
- { 0x8086, 0x292e, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_sata },
- /* SATA Controller IDE (Tolapai) */
- { 0x8086, 0x5028, PCI_ANY_ID, PCI_ANY_ID, 0, 0, tolapai_sata },
- /* SATA Controller IDE (ICH10) */
- { 0x8086, 0x3a00, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_sata },
- /* SATA Controller IDE (ICH10) */
- { 0x8086, 0x3a06, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_2port_sata },
- /* SATA Controller IDE (ICH10) */
- { 0x8086, 0x3a20, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_sata },
- /* SATA Controller IDE (ICH10) */
- { 0x8086, 0x3a26, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_2port_sata },
- /* SATA Controller IDE (PCH) */
- { 0x8086, 0x3b20, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_sata },
- /* SATA Controller IDE (PCH) */
- { 0x8086, 0x3b21, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_2port_sata },
- /* SATA Controller IDE (PCH) */
- { 0x8086, 0x3b26, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_2port_sata },
- /* SATA Controller IDE (PCH) */
- { 0x8086, 0x3b28, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_sata },
- /* SATA Controller IDE (PCH) */
- { 0x8086, 0x3b2d, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_2port_sata },
- /* SATA Controller IDE (PCH) */
- { 0x8086, 0x3b2e, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_sata },
- /* SATA Controller IDE (CPT) */
- { 0x8086, 0x1c00, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_sata_snb },
- /* SATA Controller IDE (CPT) */
- { 0x8086, 0x1c01, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_sata_snb },
- /* SATA Controller IDE (CPT) */
- { 0x8086, 0x1c08, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_2port_sata },
- /* SATA Controller IDE (CPT) */
- { 0x8086, 0x1c09, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_2port_sata },
- /* SATA Controller IDE (PBG) */
- { 0x8086, 0x1d00, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_sata_snb },
- /* SATA Controller IDE (PBG) */
- { 0x8086, 0x1d08, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_2port_sata },
- /* SATA Controller IDE (Panther Point) */
- { 0x8086, 0x1e00, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_sata_snb },
- /* SATA Controller IDE (Panther Point) */
- { 0x8086, 0x1e01, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_sata_snb },
- /* SATA Controller IDE (Panther Point) */
- { 0x8086, 0x1e08, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_2port_sata },
- /* SATA Controller IDE (Panther Point) */
- { 0x8086, 0x1e09, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_2port_sata },
- /* SATA Controller IDE (Lynx Point) */
- { 0x8086, 0x8c00, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_sata_snb },
- /* SATA Controller IDE (Lynx Point) */
- { 0x8086, 0x8c01, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_sata_snb },
- /* SATA Controller IDE (Lynx Point) */
- { 0x8086, 0x8c08, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_2port_sata_snb },
- /* SATA Controller IDE (Lynx Point) */
- { 0x8086, 0x8c09, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_2port_sata },
- /* SATA Controller IDE (Lynx Point-LP) */
- { 0x8086, 0x9c00, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_sata_snb },
- /* SATA Controller IDE (Lynx Point-LP) */
- { 0x8086, 0x9c01, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_sata_snb },
- /* SATA Controller IDE (Lynx Point-LP) */
- { 0x8086, 0x9c08, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_2port_sata },
- /* SATA Controller IDE (Lynx Point-LP) */
- { 0x8086, 0x9c09, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_2port_sata },
- /* SATA Controller IDE (DH89xxCC) */
- { 0x8086, 0x2326, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_2port_sata },
- /* SATA Controller IDE (Avoton) */
- { 0x8086, 0x1f20, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_sata_snb },
- /* SATA Controller IDE (Avoton) */
- { 0x8086, 0x1f21, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_sata_snb },
- /* SATA Controller IDE (Avoton) */
- { 0x8086, 0x1f30, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_2port_sata },
- /* SATA Controller IDE (Avoton) */
- { 0x8086, 0x1f31, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_2port_sata },
- /* SATA Controller IDE (Wellsburg) */
- { 0x8086, 0x8d00, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_sata_snb },
- /* SATA Controller IDE (Wellsburg) */
- { 0x8086, 0x8d08, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_2port_sata_snb },
- /* SATA Controller IDE (Wellsburg) */
- { 0x8086, 0x8d60, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_sata_snb },
- /* SATA Controller IDE (Wellsburg) */
- { 0x8086, 0x8d68, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_2port_sata },
- /* SATA Controller IDE (BayTrail) */
- { 0x8086, 0x0F20, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_2port_sata_byt },
- { 0x8086, 0x0F21, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_2port_sata_byt },
- /* SATA Controller IDE (Coleto Creek) */
- { 0x8086, 0x23a6, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_2port_sata },
- /* SATA Controller IDE (9 Series) */
- { 0x8086, 0x8c88, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_2port_sata_snb },
- /* SATA Controller IDE (9 Series) */
- { 0x8086, 0x8c89, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_2port_sata_snb },
- /* SATA Controller IDE (9 Series) */
- { 0x8086, 0x8c80, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_sata_snb },
- /* SATA Controller IDE (9 Series) */
- { 0x8086, 0x8c81, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_sata_snb },
+ {
+ /* 82801EB (ICH5) */
+ PCI_DEVICE(0x8086, 0x24d1),
+ .driver_data = ich5_sata,
+ }, {
+ /* 82801EB (ICH5) */
+ PCI_DEVICE(0x8086, 0x24df),
+ .driver_data = ich5_sata,
+ }, {
+ /* 6300ESB (ICH5 variant with broken PCS present bits) */
+ PCI_DEVICE(0x8086, 0x25a3),
+ .driver_data = ich5_sata,
+ }, {
+ /* 6300ESB pretending RAID */
+ PCI_DEVICE(0x8086, 0x25b0),
+ .driver_data = ich5_sata,
+ }, {
+ /* 82801FB/FW (ICH6/ICH6W) */
+ PCI_DEVICE(0x8086, 0x2651),
+ .driver_data = ich6_sata,
+ }, {
+ /* 82801FR/FRW (ICH6R/ICH6RW) */
+ PCI_DEVICE(0x8086, 0x2652),
+ .driver_data = ich6_sata,
+ }, {
+ /* 82801FBM ICH6M (ICH6R with only port 0 and 2 implemented).
+ * Attach iff the controller is in IDE mode. */
+ PCI_DEVICE(0x8086, 0x2653),
+ .class = PCI_CLASS_STORAGE_IDE << 8,
+ .class_mask = 0xffff00,
+ .driver_data = ich6m_sata,
+ }, {
+ /* 82801GB/GR/GH (ICH7, identical to ICH6) */
+ PCI_DEVICE(0x8086, 0x27c0),
+ .driver_data = ich6_sata,
+ }, {
+ /* 82801GBM/GHM (ICH7M, identical to ICH6M) */
+ PCI_DEVICE(0x8086, 0x27c4),
+ .driver_data = ich6m_sata,
+ }, {
+ /* Enterprise Southbridge 2 (631xESB/632xESB) */
+ PCI_DEVICE(0x8086, 0x2680),
+ .driver_data = ich6_sata,
+ }, {
+ /* SATA Controller 1 IDE (ICH8) */
+ PCI_DEVICE(0x8086, 0x2820),
+ .driver_data = ich8_sata,
+ }, {
+ /* SATA Controller 2 IDE (ICH8) */
+ PCI_DEVICE(0x8086, 0x2825),
+ .driver_data = ich8_2port_sata,
+ }, {
+ /* Mobile SATA Controller IDE (ICH8M), Apple */
+ PCI_DEVICE_SUB(0x8086, 0x2828, 0x106b, 0x00a0),
+ .driver_data = ich8m_apple_sata,
+ }, {
+ PCI_DEVICE_SUB(0x8086, 0x2828, 0x106b, 0x00a1),
+ .driver_data = ich8m_apple_sata,
+ }, {
+ PCI_DEVICE_SUB(0x8086, 0x2828, 0x106b, 0x00a3),
+ .driver_data = ich8m_apple_sata,
+ }, {
+ /* Mobile SATA Controller IDE (ICH8M) */
+ PCI_DEVICE(0x8086, 0x2828),
+ .driver_data = ich8_sata,
+ }, {
+ /* SATA Controller IDE (ICH9) */
+ PCI_DEVICE(0x8086, 0x2920),
+ .driver_data = ich8_sata,
+ }, {
+ /* SATA Controller IDE (ICH9) */
+ PCI_DEVICE(0x8086, 0x2921),
+ .driver_data = ich8_2port_sata,
+ }, {
+ /* SATA Controller IDE (ICH9) */
+ PCI_DEVICE(0x8086, 0x2926),
+ .driver_data = ich8_2port_sata,
+ }, {
+ /* SATA Controller IDE (ICH9M) */
+ PCI_DEVICE(0x8086, 0x2928),
+ .driver_data = ich8_2port_sata,
+ }, {
+ /* SATA Controller IDE (ICH9M) */
+ PCI_DEVICE(0x8086, 0x292d),
+ .driver_data = ich8_2port_sata,
+ }, {
+ /* SATA Controller IDE (ICH9M) */
+ PCI_DEVICE(0x8086, 0x292e),
+ .driver_data = ich8_sata,
+ }, {
+ /* SATA Controller IDE (Tolapai) */
+ PCI_DEVICE(0x8086, 0x5028),
+ .driver_data = tolapai_sata,
+ }, {
+ /* SATA Controller IDE (ICH10) */
+ PCI_DEVICE(0x8086, 0x3a00),
+ .driver_data = ich8_sata,
+ }, {
+ /* SATA Controller IDE (ICH10) */
+ PCI_DEVICE(0x8086, 0x3a06),
+ .driver_data = ich8_2port_sata,
+ }, {
+ /* SATA Controller IDE (ICH10) */
+ PCI_DEVICE(0x8086, 0x3a20),
+ .driver_data = ich8_sata,
+ }, {
+ /* SATA Controller IDE (ICH10) */
+ PCI_DEVICE(0x8086, 0x3a26),
+ .driver_data = ich8_2port_sata,
+ }, {
+ /* SATA Controller IDE (PCH) */
+ PCI_DEVICE(0x8086, 0x3b20),
+ .driver_data = ich8_sata,
+ }, {
+ /* SATA Controller IDE (PCH) */
+ PCI_DEVICE(0x8086, 0x3b21),
+ .driver_data = ich8_2port_sata,
+ }, {
+ /* SATA Controller IDE (PCH) */
+ PCI_DEVICE(0x8086, 0x3b26),
+ .driver_data = ich8_2port_sata,
+ }, {
+ /* SATA Controller IDE (PCH) */
+ PCI_DEVICE(0x8086, 0x3b28),
+ .driver_data = ich8_sata,
+ }, {
+ /* SATA Controller IDE (PCH) */
+ PCI_DEVICE(0x8086, 0x3b2d),
+ .driver_data = ich8_2port_sata,
+ }, {
+ /* SATA Controller IDE (PCH) */
+ PCI_DEVICE(0x8086, 0x3b2e),
+ .driver_data = ich8_sata,
+ }, {
+ /* SATA Controller IDE (CPT) */
+ PCI_DEVICE(0x8086, 0x1c00),
+ .driver_data = ich8_sata_snb,
+ }, {
+ /* SATA Controller IDE (CPT) */
+ PCI_DEVICE(0x8086, 0x1c01),
+ .driver_data = ich8_sata_snb,
+ }, {
+ /* SATA Controller IDE (CPT) */
+ PCI_DEVICE(0x8086, 0x1c08),
+ .driver_data = ich8_2port_sata,
+ }, {
+ /* SATA Controller IDE (CPT) */
+ PCI_DEVICE(0x8086, 0x1c09),
+ .driver_data = ich8_2port_sata,
+ }, {
+ /* SATA Controller IDE (PBG) */
+ PCI_DEVICE(0x8086, 0x1d00),
+ .driver_data = ich8_sata_snb,
+ }, {
+ /* SATA Controller IDE (PBG) */
+ PCI_DEVICE(0x8086, 0x1d08),
+ .driver_data = ich8_2port_sata,
+ }, {
+ /* SATA Controller IDE (Panther Point) */
+ PCI_DEVICE(0x8086, 0x1e00),
+ .driver_data = ich8_sata_snb,
+ }, {
+ /* SATA Controller IDE (Panther Point) */
+ PCI_DEVICE(0x8086, 0x1e01),
+ .driver_data = ich8_sata_snb,
+ }, {
+ /* SATA Controller IDE (Panther Point) */
+ PCI_DEVICE(0x8086, 0x1e08),
+ .driver_data = ich8_2port_sata,
+ }, {
+ /* SATA Controller IDE (Panther Point) */
+ PCI_DEVICE(0x8086, 0x1e09),
+ .driver_data = ich8_2port_sata,
+ }, {
+ /* SATA Controller IDE (Lynx Point) */
+ PCI_DEVICE(0x8086, 0x8c00),
+ .driver_data = ich8_sata_snb,
+ }, {
+ /* SATA Controller IDE (Lynx Point) */
+ PCI_DEVICE(0x8086, 0x8c01),
+ .driver_data = ich8_sata_snb,
+ }, {
+ /* SATA Controller IDE (Lynx Point) */
+ PCI_DEVICE(0x8086, 0x8c08),
+ .driver_data = ich8_2port_sata_snb,
+ }, {
+ /* SATA Controller IDE (Lynx Point) */
+ PCI_DEVICE(0x8086, 0x8c09),
+ .driver_data = ich8_2port_sata,
+ }, {
+ /* SATA Controller IDE (Lynx Point-LP) */
+ PCI_DEVICE(0x8086, 0x9c00),
+ .driver_data = ich8_sata_snb,
+ }, {
+ /* SATA Controller IDE (Lynx Point-LP) */
+ PCI_DEVICE(0x8086, 0x9c01),
+ .driver_data = ich8_sata_snb,
+ }, {
+ /* SATA Controller IDE (Lynx Point-LP) */
+ PCI_DEVICE(0x8086, 0x9c08),
+ .driver_data = ich8_2port_sata,
+ }, {
+ /* SATA Controller IDE (Lynx Point-LP) */
+ PCI_DEVICE(0x8086, 0x9c09),
+ .driver_data = ich8_2port_sata,
+ }, {
+ /* SATA Controller IDE (DH89xxCC) */
+ PCI_DEVICE(0x8086, 0x2326),
+ .driver_data = ich8_2port_sata,
+ }, {
+ /* SATA Controller IDE (Avoton) */
+ PCI_DEVICE(0x8086, 0x1f20),
+ .driver_data = ich8_sata_snb,
+ }, {
+ /* SATA Controller IDE (Avoton) */
+ PCI_DEVICE(0x8086, 0x1f21),
+ .driver_data = ich8_sata_snb,
+ }, {
+ /* SATA Controller IDE (Avoton) */
+ PCI_DEVICE(0x8086, 0x1f30),
+ .driver_data = ich8_2port_sata,
+ }, {
+ /* SATA Controller IDE (Avoton) */
+ PCI_DEVICE(0x8086, 0x1f31),
+ .driver_data = ich8_2port_sata,
+ }, {
+ /* SATA Controller IDE (Wellsburg) */
+ PCI_DEVICE(0x8086, 0x8d00),
+ .driver_data = ich8_sata_snb,
+ }, {
+ /* SATA Controller IDE (Wellsburg) */
+ PCI_DEVICE(0x8086, 0x8d08),
+ .driver_data = ich8_2port_sata_snb,
+ }, {
+ /* SATA Controller IDE (Wellsburg) */
+ PCI_DEVICE(0x8086, 0x8d60),
+ .driver_data = ich8_sata_snb,
+ }, {
+ /* SATA Controller IDE (Wellsburg) */
+ PCI_DEVICE(0x8086, 0x8d68),
+ .driver_data = ich8_2port_sata,
+ }, {
+ /* SATA Controller IDE (BayTrail) */
+ PCI_DEVICE(0x8086, 0x0F20),
+ .driver_data = ich8_2port_sata_byt,
+ }, {
+ PCI_DEVICE(0x8086, 0x0F21),
+ .driver_data = ich8_2port_sata_byt,
+ }, {
+ /* SATA Controller IDE (Coleto Creek) */
+ PCI_DEVICE(0x8086, 0x23a6),
+ .driver_data = ich8_2port_sata,
+ }, {
+ /* SATA Controller IDE (9 Series) */
+ PCI_DEVICE(0x8086, 0x8c88),
+ .driver_data = ich8_2port_sata_snb,
+ }, {
+ /* SATA Controller IDE (9 Series) */
+ PCI_DEVICE(0x8086, 0x8c89),
+ .driver_data = ich8_2port_sata_snb,
+ }, {
+ /* SATA Controller IDE (9 Series) */
+ PCI_DEVICE(0x8086, 0x8c80),
+ .driver_data = ich8_sata_snb,
+ }, {
+ /* SATA Controller IDE (9 Series) */
+ PCI_DEVICE(0x8086, 0x8c81),
+ .driver_data = ich8_sata_snb,
+ },
{ } /* terminate list */
};