Commit c869325a authored by Tejun Heo's avatar Tejun Heo

libata: Merge branch 'for-3.13-fixes' into for-3.14

Pulling in for-3.13-fixes for the ahci_imx fix as further changes
depend on it.
Signed-off-by: default avatarTejun Heo <tj@kernel.org>
parents 80361fa0 10becdb4
...@@ -437,6 +437,8 @@ static const struct pci_device_id ahci_pci_tbl[] = { ...@@ -437,6 +437,8 @@ static const struct pci_device_id ahci_pci_tbl[] = {
.driver_data = board_ahci_yes_fbs }, /* 88se9172 on some Gigabyte */ .driver_data = board_ahci_yes_fbs }, /* 88se9172 on some Gigabyte */
{ PCI_DEVICE(PCI_VENDOR_ID_MARVELL_EXT, 0x91a3), { PCI_DEVICE(PCI_VENDOR_ID_MARVELL_EXT, 0x91a3),
.driver_data = board_ahci_yes_fbs }, .driver_data = board_ahci_yes_fbs },
{ PCI_DEVICE(PCI_VENDOR_ID_MARVELL_EXT, 0x9230),
.driver_data = board_ahci_yes_fbs },
/* Promise */ /* Promise */
{ PCI_VDEVICE(PROMISE, 0x3f20), board_ahci }, /* PDC42819 */ { PCI_VDEVICE(PROMISE, 0x3f20), board_ahci }, /* PDC42819 */
......
...@@ -113,7 +113,7 @@ static int imx6q_sata_init(struct device *dev, void __iomem *mmio) ...@@ -113,7 +113,7 @@ static int imx6q_sata_init(struct device *dev, void __iomem *mmio)
/* /*
* set PHY Paremeters, two steps to configure the GPR13, * set PHY Paremeters, two steps to configure the GPR13,
* one write for rest of parameters, mask of first write * one write for rest of parameters, mask of first write
* is 0x07fffffd, and the other one write for setting * is 0x07ffffff, and the other one write for setting
* the mpll_clk_en. * the mpll_clk_en.
*/ */
regmap_update_bits(imxpriv->gpr, 0x34, IMX6Q_GPR13_SATA_RX_EQ_VAL_MASK regmap_update_bits(imxpriv->gpr, 0x34, IMX6Q_GPR13_SATA_RX_EQ_VAL_MASK
...@@ -124,6 +124,7 @@ static int imx6q_sata_init(struct device *dev, void __iomem *mmio) ...@@ -124,6 +124,7 @@ static int imx6q_sata_init(struct device *dev, void __iomem *mmio)
| IMX6Q_GPR13_SATA_TX_ATTEN_MASK | IMX6Q_GPR13_SATA_TX_ATTEN_MASK
| IMX6Q_GPR13_SATA_TX_BOOST_MASK | IMX6Q_GPR13_SATA_TX_BOOST_MASK
| IMX6Q_GPR13_SATA_TX_LVL_MASK | IMX6Q_GPR13_SATA_TX_LVL_MASK
| IMX6Q_GPR13_SATA_MPLL_CLK_EN
| IMX6Q_GPR13_SATA_TX_EDGE_RATE | IMX6Q_GPR13_SATA_TX_EDGE_RATE
, IMX6Q_GPR13_SATA_RX_EQ_VAL_3_0_DB , IMX6Q_GPR13_SATA_RX_EQ_VAL_3_0_DB
| IMX6Q_GPR13_SATA_RX_LOS_LVL_SATA2M | IMX6Q_GPR13_SATA_RX_LOS_LVL_SATA2M
......
...@@ -329,6 +329,7 @@ static SIMPLE_DEV_PM_OPS(ahci_pm_ops, ahci_suspend, ahci_resume); ...@@ -329,6 +329,7 @@ static SIMPLE_DEV_PM_OPS(ahci_pm_ops, ahci_suspend, ahci_resume);
static const struct of_device_id ahci_of_match[] = { static const struct of_device_id ahci_of_match[] = {
{ .compatible = "snps,spear-ahci", }, { .compatible = "snps,spear-ahci", },
{ .compatible = "snps,exynos5440-ahci", }, { .compatible = "snps,exynos5440-ahci", },
{ .compatible = "ibm,476gtr-ahci", },
{}, {},
}; };
MODULE_DEVICE_TABLE(of, ahci_of_match); MODULE_DEVICE_TABLE(of, ahci_of_match);
......
...@@ -4156,6 +4156,9 @@ static const struct ata_blacklist_entry ata_device_blacklist [] = { ...@@ -4156,6 +4156,9 @@ static const struct ata_blacklist_entry ata_device_blacklist [] = {
{ "ST3320[68]13AS", "SD1[5-9]", ATA_HORKAGE_NONCQ | { "ST3320[68]13AS", "SD1[5-9]", ATA_HORKAGE_NONCQ |
ATA_HORKAGE_FIRMWARE_WARN }, ATA_HORKAGE_FIRMWARE_WARN },
/* Seagate Momentus SpinPoint M8 seem to have FPMDA_AA issues */
{ "ST1000LM024 HN-M101MBB", "2AR10001", ATA_HORKAGE_BROKEN_FPDMA_AA },
/* Blacklist entries taken from Silicon Image 3124/3132 /* Blacklist entries taken from Silicon Image 3124/3132
Windows driver .inf file - also several Linux problem reports */ Windows driver .inf file - also several Linux problem reports */
{ "HTS541060G9SA00", "MB3OC60D", ATA_HORKAGE_NONCQ, }, { "HTS541060G9SA00", "MB3OC60D", ATA_HORKAGE_NONCQ, },
...@@ -6304,10 +6307,9 @@ static void ata_port_detach(struct ata_port *ap) ...@@ -6304,10 +6307,9 @@ static void ata_port_detach(struct ata_port *ap)
for (i = 0; i < SATA_PMP_MAX_PORTS; i++) for (i = 0; i < SATA_PMP_MAX_PORTS; i++)
ata_tlink_delete(&ap->pmp_link[i]); ata_tlink_delete(&ap->pmp_link[i]);
} }
ata_tport_delete(ap);
/* remove the associated SCSI host */ /* remove the associated SCSI host */
scsi_remove_host(ap->scsi_host); scsi_remove_host(ap->scsi_host);
ata_tport_delete(ap);
} }
/** /**
......
...@@ -88,15 +88,13 @@ static enum odd_mech_type zpodd_get_mech_type(struct ata_device *dev) ...@@ -88,15 +88,13 @@ static enum odd_mech_type zpodd_get_mech_type(struct ata_device *dev)
static bool odd_can_poweroff(struct ata_device *ata_dev) static bool odd_can_poweroff(struct ata_device *ata_dev)
{ {
acpi_handle handle; acpi_handle handle;
acpi_status status;
struct acpi_device *acpi_dev; struct acpi_device *acpi_dev;
handle = ata_dev_acpi_handle(ata_dev); handle = ata_dev_acpi_handle(ata_dev);
if (!handle) if (!handle)
return false; return false;
status = acpi_bus_get_device(handle, &acpi_dev); if (acpi_bus_get_device(handle, &acpi_dev))
if (ACPI_FAILURE(status))
return false; return false;
return acpi_device_can_poweroff(acpi_dev); return acpi_device_can_poweroff(acpi_dev);
......
...@@ -319,6 +319,7 @@ static int cf_init(struct arasan_cf_dev *acdev) ...@@ -319,6 +319,7 @@ static int cf_init(struct arasan_cf_dev *acdev)
ret = clk_set_rate(acdev->clk, 166000000); ret = clk_set_rate(acdev->clk, 166000000);
if (ret) { if (ret) {
dev_warn(acdev->host->dev, "clock set rate failed"); dev_warn(acdev->host->dev, "clock set rate failed");
clk_disable_unprepare(acdev->clk);
return ret; return ret;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment