ahci: sis can't do PMP
From: Piter PUNK <piterpunk@slackware.com> SiS AHCIs say they can do PMP but can't and fail detection if SRST w/ pmp==15 is used. Turn off PMP support. tj: added patch description, adapted patch to #upstream-fixes and renamed board_ahci_sis to board_ahci_nopmp. Signed-off-by: Tejun Heo <tj@kernel.org> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
This commit is contained in:
Родитель
040dee53a7
Коммит
9a3b103c27
|
@ -90,6 +90,7 @@ enum {
|
||||||
board_ahci_mv = 4,
|
board_ahci_mv = 4,
|
||||||
board_ahci_sb700 = 5,
|
board_ahci_sb700 = 5,
|
||||||
board_ahci_mcp65 = 6,
|
board_ahci_mcp65 = 6,
|
||||||
|
board_ahci_nopmp = 7,
|
||||||
|
|
||||||
/* global controller registers */
|
/* global controller registers */
|
||||||
HOST_CAP = 0x00, /* host capabilities */
|
HOST_CAP = 0x00, /* host capabilities */
|
||||||
|
@ -401,6 +402,14 @@ static const struct ata_port_info ahci_port_info[] = {
|
||||||
.udma_mask = ATA_UDMA6,
|
.udma_mask = ATA_UDMA6,
|
||||||
.port_ops = &ahci_ops,
|
.port_ops = &ahci_ops,
|
||||||
},
|
},
|
||||||
|
/* board_ahci_nopmp */
|
||||||
|
{
|
||||||
|
AHCI_HFLAGS (AHCI_HFLAG_NO_PMP),
|
||||||
|
.flags = AHCI_FLAG_COMMON,
|
||||||
|
.pio_mask = 0x1f, /* pio0-4 */
|
||||||
|
.udma_mask = ATA_UDMA6,
|
||||||
|
.port_ops = &ahci_ops,
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static const struct pci_device_id ahci_pci_tbl[] = {
|
static const struct pci_device_id ahci_pci_tbl[] = {
|
||||||
|
@ -525,9 +534,9 @@ static const struct pci_device_id ahci_pci_tbl[] = {
|
||||||
{ PCI_VDEVICE(NVIDIA, 0x0bc7), board_ahci }, /* MCP7B */
|
{ PCI_VDEVICE(NVIDIA, 0x0bc7), board_ahci }, /* MCP7B */
|
||||||
|
|
||||||
/* SiS */
|
/* SiS */
|
||||||
{ PCI_VDEVICE(SI, 0x1184), board_ahci }, /* SiS 966 */
|
{ PCI_VDEVICE(SI, 0x1184), board_ahci_nopmp }, /* SiS 966 */
|
||||||
{ PCI_VDEVICE(SI, 0x1185), board_ahci }, /* SiS 966 */
|
{ PCI_VDEVICE(SI, 0x1185), board_ahci_nopmp }, /* SiS 968 */
|
||||||
{ PCI_VDEVICE(SI, 0x0186), board_ahci }, /* SiS 968 */
|
{ PCI_VDEVICE(SI, 0x0186), board_ahci_nopmp }, /* SiS 968 */
|
||||||
|
|
||||||
/* Marvell */
|
/* Marvell */
|
||||||
{ PCI_VDEVICE(MARVELL, 0x6145), board_ahci_mv }, /* 6145 */
|
{ PCI_VDEVICE(MARVELL, 0x6145), board_ahci_mv }, /* 6145 */
|
||||||
|
|
Загрузка…
Ссылка в новой задаче