diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2015-06-25 19:49:21 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2015-06-25 19:49:21 -0400 |
commit | 64e22b86854227b4d13a57fa02f26472bc426812 (patch) | |
tree | 2a23b94b3310592249c807c4235ff674b59d844a /drivers/ata/ahci_mvebu.c | |
parent | 6597ac8a514e2085cf19822a5783345c613312a5 (diff) | |
parent | 243918be6393f643e513a26e7882e6ae06ff7717 (diff) |
Merge branch 'for-4.2' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata
Pull libata updates from Tejun Heo:
- a number of libata core changes to better support NCQ TRIM.
- ahci now supports MSI-X in single IRQ mode to support a new
controller which doesn't implement MSI or INTX.
- ahci now supports edge-triggered IRQ mode to support a new controller
which for some odd reason did edge-triggered IRQ.
- the usual controller support additions and changes.
* 'for-4.2' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata: (27 commits)
libata: Do not blacklist Micron M500DC
ata: ahci_mvebu: add suspend/resume support
ahci, msix: Fix build error for !PCI_MSI
ahci: Add support for Cavium's ThunderX host controller
ahci: Add generic MSI-X support for single interrupts to SATA PCI driver
libata: finally use __initconst in ata_parse_force_one()
drivers: ata: add support for Ceva sata host controller
devicetree:bindings: add devicetree bindings for ceva ahci
ahci: added support for Freescale AHCI sata
ahci: Store irq number in struct ahci_host_priv
ahci: Move interrupt enablement code to a separate function
Doc: libata: Fix spelling typo found in libata.xml
ata:sata_nv - Change 1 to true for bool type variable.
ata: add Broadcom AHCI SATA3 driver for STB chips
Documentation: devicetree: add Broadcom SATA binding
libata: Fix regression when the NCQ Send and Receive log page is absent
ata: hpt366: fix constant cast warning
ata: ahci_xgene: potential NULL dereference in probe
ata: ahci_xgene: Add AHCI Support for 2nd HW version of APM X-Gene SoC AHCI SATA Host controller.
libahci: Add support to handle HOST_IRQ_STAT as edge trigger latch.
...
Diffstat (limited to 'drivers/ata/ahci_mvebu.c')
-rw-r--r-- | drivers/ata/ahci_mvebu.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/drivers/ata/ahci_mvebu.c b/drivers/ata/ahci_mvebu.c index 5928d0746a27..8490d37aee2a 100644 --- a/drivers/ata/ahci_mvebu.c +++ b/drivers/ata/ahci_mvebu.c | |||
@@ -62,6 +62,26 @@ static void ahci_mvebu_regret_option(struct ahci_host_priv *hpriv) | |||
62 | writel(0x80, hpriv->mmio + AHCI_VENDOR_SPECIFIC_0_DATA); | 62 | writel(0x80, hpriv->mmio + AHCI_VENDOR_SPECIFIC_0_DATA); |
63 | } | 63 | } |
64 | 64 | ||
65 | static int ahci_mvebu_suspend(struct platform_device *pdev, pm_message_t state) | ||
66 | { | ||
67 | return ahci_platform_suspend_host(&pdev->dev); | ||
68 | } | ||
69 | |||
70 | static int ahci_mvebu_resume(struct platform_device *pdev) | ||
71 | { | ||
72 | struct ata_host *host = platform_get_drvdata(pdev); | ||
73 | struct ahci_host_priv *hpriv = host->private_data; | ||
74 | const struct mbus_dram_target_info *dram; | ||
75 | |||
76 | dram = mv_mbus_dram_info(); | ||
77 | if (dram) | ||
78 | ahci_mvebu_mbus_config(hpriv, dram); | ||
79 | |||
80 | ahci_mvebu_regret_option(hpriv); | ||
81 | |||
82 | return ahci_platform_resume_host(&pdev->dev); | ||
83 | } | ||
84 | |||
65 | static const struct ata_port_info ahci_mvebu_port_info = { | 85 | static const struct ata_port_info ahci_mvebu_port_info = { |
66 | .flags = AHCI_FLAG_COMMON, | 86 | .flags = AHCI_FLAG_COMMON, |
67 | .pio_mask = ATA_PIO4, | 87 | .pio_mask = ATA_PIO4, |
@@ -120,6 +140,8 @@ MODULE_DEVICE_TABLE(of, ahci_mvebu_of_match); | |||
120 | static struct platform_driver ahci_mvebu_driver = { | 140 | static struct platform_driver ahci_mvebu_driver = { |
121 | .probe = ahci_mvebu_probe, | 141 | .probe = ahci_mvebu_probe, |
122 | .remove = ata_platform_remove_one, | 142 | .remove = ata_platform_remove_one, |
143 | .suspend = ahci_mvebu_suspend, | ||
144 | .resume = ahci_mvebu_resume, | ||
123 | .driver = { | 145 | .driver = { |
124 | .name = DRV_NAME, | 146 | .name = DRV_NAME, |
125 | .of_match_table = ahci_mvebu_of_match, | 147 | .of_match_table = ahci_mvebu_of_match, |