Lines 44-49
Link Here
|
44 |
#include <scsi/scsi_host.h> |
44 |
#include <scsi/scsi_host.h> |
45 |
#include <scsi/scsi_cmnd.h> |
45 |
#include <scsi/scsi_cmnd.h> |
46 |
#include <linux/libata.h> |
46 |
#include <linux/libata.h> |
|
|
47 |
#include <linux/dmi.h> |
47 |
|
48 |
|
48 |
#define DRV_NAME "ahci" |
49 |
#define DRV_NAME "ahci" |
49 |
#define DRV_VERSION "2.3" |
50 |
#define DRV_VERSION "2.3" |
Lines 1631-1636
static int ahci_pci_device_resume(struct pci_dev *pdev)
Link Here
|
1631 |
} |
1632 |
} |
1632 |
#endif |
1633 |
#endif |
1633 |
|
1634 |
|
|
|
1635 |
static void ahci_port_mark_nosrst(struct ata_port *ap) |
1636 |
{ |
1637 |
static struct dmi_system_id sysids[] = { |
1638 |
{ |
1639 |
.ident = "P5W DH Deluxe", |
1640 |
.matches = { |
1641 |
DMI_MATCH(DMI_SYS_VENDOR, "ASUSTEK COMPUTER INC"), |
1642 |
DMI_MATCH(DMI_PRODUCT_NAME, "P5W DH Deluxe"), |
1643 |
}, |
1644 |
}, |
1645 |
{ } |
1646 |
}; |
1647 |
struct pci_dev *pdev = to_pci_dev(ap->host->dev); |
1648 |
|
1649 |
/* The second port of the PCI device 00:1f.2 is connected to a |
1650 |
* SIMG PMP which pukes on SRST. |
1651 |
*/ |
1652 |
if (pdev->bus->number == 0 && pdev->devfn == PCI_DEVFN(0x1f, 2) && |
1653 |
ap->port_no == 1 && dmi_check_system(sysids)) { |
1654 |
dev_printk(KERN_INFO, &pdev->dev, |
1655 |
"enabling ASUS on-board PMP workaround\n"); |
1656 |
ap->flags |= ATA_FLAG_NO_SRST; |
1657 |
} |
1658 |
} |
1659 |
|
1634 |
static int ahci_port_start(struct ata_port *ap) |
1660 |
static int ahci_port_start(struct ata_port *ap) |
1635 |
{ |
1661 |
{ |
1636 |
struct device *dev = ap->host->dev; |
1662 |
struct device *dev = ap->host->dev; |
Lines 1639-1644
static int ahci_port_start(struct ata_port *ap)
Link Here
|
1639 |
dma_addr_t mem_dma; |
1665 |
dma_addr_t mem_dma; |
1640 |
int rc; |
1666 |
int rc; |
1641 |
|
1667 |
|
|
|
1668 |
ahci_port_mark_nosrst(ap); |
1669 |
|
1642 |
pp = devm_kzalloc(dev, sizeof(*pp), GFP_KERNEL); |
1670 |
pp = devm_kzalloc(dev, sizeof(*pp), GFP_KERNEL); |
1643 |
if (!pp) |
1671 |
if (!pp) |
1644 |
return -ENOMEM; |
1672 |
return -ENOMEM; |