ahci: qoriq: Disable NCQ on ls2080a SoC
NCQ feature can't be used due to the erratum A-008473. This patch disables NCQ as a workaround. Signed-off-by: Tang Yuantian <Yuantian.Tang@freescale.com> Signed-off-by: Tejun Heo <tj@kernel.org>
This commit is contained in:
parent
d19f9aaf01
commit
640847298e
@ -131,7 +131,7 @@ static struct ata_port_operations ahci_qoriq_ops = {
|
|||||||
.hardreset = ahci_qoriq_hardreset,
|
.hardreset = ahci_qoriq_hardreset,
|
||||||
};
|
};
|
||||||
|
|
||||||
static const struct ata_port_info ahci_qoriq_port_info = {
|
static struct ata_port_info ahci_qoriq_port_info = {
|
||||||
.flags = AHCI_FLAG_COMMON | ATA_FLAG_NCQ,
|
.flags = AHCI_FLAG_COMMON | ATA_FLAG_NCQ,
|
||||||
.pio_mask = ATA_PIO4,
|
.pio_mask = ATA_PIO4,
|
||||||
.udma_mask = ATA_UDMA6,
|
.udma_mask = ATA_UDMA6,
|
||||||
@ -208,6 +208,12 @@ static int ahci_qoriq_probe(struct platform_device *pdev)
|
|||||||
if (rc)
|
if (rc)
|
||||||
goto disable_resources;
|
goto disable_resources;
|
||||||
|
|
||||||
|
/* Workaround for ls2080a */
|
||||||
|
if (qoriq_priv->type == AHCI_LS2080A) {
|
||||||
|
hpriv->flags |= AHCI_HFLAG_NO_NCQ;
|
||||||
|
ahci_qoriq_port_info.flags &= ~ATA_FLAG_NCQ;
|
||||||
|
}
|
||||||
|
|
||||||
rc = ahci_platform_init_host(pdev, hpriv, &ahci_qoriq_port_info,
|
rc = ahci_platform_init_host(pdev, hpriv, &ahci_qoriq_port_info,
|
||||||
&ahci_qoriq_sht);
|
&ahci_qoriq_sht);
|
||||||
if (rc)
|
if (rc)
|
||||||
|
Loading…
Reference in New Issue
Block a user